D. TIẾN TRÌNH BAÌI DẠY
Nội dung kiến thức Hoạt động thầy và trò Bài 1:
Bài 1:
a) Hãy tìm hiểu và chạy thử chương trình thực hiện thuật toán sắp xếp dãy số nguyên bằng thuật toán tráo đổi với các giá trị khác nhau của n dưới đây. Qua đó, nhận xét thời gian chạy của chương trình.
GV: Bài này giúp chúng ta củng cố thuật toán sắp xếp (bằng tráo đổi) và kĩ năng cài đặt bằng ngôn ngữ lập trình.
HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên
(chương trình SGK - Tr.65)
b) Khai báo thêm biến Dem và bổ xung vào chương trình những câu lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi trong thuật toán. Đưa kết quả ra màn hình.
máy tính, sửa lỗi chạy chương trình.
GV: Yêu cầu HS sửa lại một chỗ để có chương trình sắp xếp các phần tử theo thứ tự không tăng.
HS: Chạy thử để kt kết quả.
GV: Để đáp ứng yêu cầu ở câu b, đưa ra một số câu hỏi để gợi ý.
HS: Trả lời các câu hỏi của GV và thực hiện theo yêu cầu ở câu b.
Tiết : 30
Bài 2: Hãy đọc và tìm hiểu những
phân tích để viết chương trình giải bài toán: Cho mảng A gồm n phần tử. Hãy viết chương trình tạo mảng B[1..n], trong đó B[i] là tổng i phần tử đầu tiên của A.
(Chương trình: SGK - Tr.66.)
Để ý rằng ta có các hệ thức sau: B[1] = A[1]
B[i] = B[i-1] + A[i];
Do đó, ta thay đoạn chương trình bởi hai lệnh sau:
B[1] = A[1];
For i:= 2 to n do B[i]:= B[i-1]+A[i];
Với hai lệnh này máy chỉ phải thực hiện n-1 phép cộng, trong khi với đoạn chương trình trong SGK máy phải thực hiện n(n+1)/2 phép cộng.
HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên máy tính, sửa lỗi chạy chương trình.
GV: Sửa lỗi cho HS trong quá trình gõ và chạy chương trình. Giải thích những thắc mắc về bài toán mà HS đưa ra.
GV: Nhờ việc phân tích như trên ta tiết kiệm được một lượng tính toán đáng kể.