III. HOẠT ĐỘNG DẠY-HỌC
1. Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1. Nêu bài toán đặt vấn đề như bài toán 1. - Hãy xác định công thức toán học để tính tổng?
- Gợi ý phương pháp: Ta xem S như là một cái thùng, các số hạng như là những cái ca có dung tích khác nhau, khi đó việc tính tổng trên tương tự việc đổ các ca nước vào trong thùng S.
- Có bao nhiêu lần đổ nước vào thùng? - Mỗi lần đổ một lượng là bao nhiêu? lần thứ i đổ bao nhiêu?
- Phải viết bao nhiêu lệnh?
1. Chú ý quan sát bài toán đặt vấn đề. - Rất khó xác định được công thức. - Theo dõi gợi ý.
- Phải thực hiện 100 lần đổ nước. - Mỗi lần đổ
ia+ a+
1
2. Nêu bài toán đặt vấn đề như bài toán 2. - Em hiểu như thế nào về cách tính tiền gửi tiết kiệm trong bài toán 1.
- Từ đó, hãy lập công thức tính tiền thu được sau tháng thứ nhất.
- Ta phải thực hiện tính bao nhiêu lần như vậy?
- Dẫn dắt: Chương trình được viết như vậy sẽ rất dài, khó đọc và dễ sai sót. Cần có một cấu trúc điều khiển việc lặp lại thực hiện các công việc trên.
- Trong tất cả các ngôn ngữ lập trình đều có một cấu trúc điều khiển việc thực hiện lặp lại với số lần đã định trước.
3. Chia lớp làm 4 nhóm. 2 nhóm viết thuật toán giải quyết bài toán 1. 2 nhóm viết thuật toán giải quyết bài toán 2 lên bìa trong.
- Thu kết quả, chiếu kết quả lên bảng. Gọi học sinh nhóm khác nhận xét đánh giá. - Chuẩn hóa lại thuật toán cho học sinh lần cuối.
2. Chú ý quan sát và trả lời các câu hỏi - Với số tiền S, sau mỗi tháng sẽ có tiền lãi là 0,015*S.
- Số tiền này được cộng vào trong số tiền ban đầu để tính lãi cho tháng tiếp theo.
- S := S + 0,015*S;
- Phải thực hiện tính 12 lần như vậy. - Tập trung theo dõi giáo viên trình bày.
3. Thảo luận theo nhóm để viết thuật toán:
Bước 1: N ← 0; S ← 1/a; Bước 2: N ← N+1;
Bước 3: Nếu N>100 thì chuyển đến bước 5.
Bước 4: S ← S+ 1/(a+N), quay lại bước 2.
Bước 5: Đưa S ra màn hình rồi kết thúc. - Thông báo kết quả viết được.
- Nhận xét, đánh giá kết quả của nhóm khác.
- Theo dõi và ghi nhớ.
2. Hoạt động 2: Tìm hiểu lệnh lặp For của ngôn ngữ lập trình Pascal.
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của For?
1. Đọc sách giáo khoa và trả lời
- Giải thích:
<biến đếm>: là biến kiểu nguyên, ký tự. - Hỏi: Ý nghĩa của <Giá trị đầu> <Giá trị cuối>, kiểu dữ liệu của chúng.
- Hỏi: Trong bài toán gửi tiết kiệm, <Giá trị đầu> <Giá trị cuối> là bao nhiêu? - Hỏi: Trong bài toán tính tổng <Giá trị đầu> <Giá trị cuối> là bao nhiêu?
- Dẫn dắt: Những lệnh nào cần lặp lại ta đặt sau Do
- Hỏi: Khi nhiều lệnh khác nhau cần lặp lại ta viết như thế nào?
- Hỏi: Trong bài toán gửi tiết kiệm, lệnh nào cần lặp lại?
- Hỏi: Trong bài toán tính tổng, lệnh nào cần lặp lại?
Hỏi: Em có nhận xét gì về giá trị của <Giá trị đầu> và <Giá trị cuối> ?
- Dẫn dắt: Khi đó lệnh For được gọi là For tiến. Ngôn ngữ lập trình Pascal còn có một dạng For khác gọi là For lùi.
2. Yêu cầu: Hãy trình bày cấu trúc chung của For lùi.
- Hỏi: So sánh <Giá trị đầu> và <Giá trị cuối>?
- Hỏi: Trong hai bài toán trên, dạng lệnh For nào là phù hợp?
<Giá trị cuối> Do <lệnh cần lặp>; - Dùng để làm giới hạn cho biến đếm. - Cùng kiểu với <biến đếm>
<Giá trị đầu> là 1; <Giá trị cuối> là 12 <Giá trị đầu> là 1; <Giá trị cuối> là 100 - Phải sử dụng cấu trúc lệnh ghép. S := S +0.015*S; S := S + i a+ 1 ;
<Giá trị đầu> < <Giá trị cuối>
2. Nghiên cứu sách giáo khoa, suy nghĩ, so sánh với cấu trúc của For tiến để trả lời.
For <biến đếm>:=<Giá trị cuối> Downto <Giá trị đầu> Do <lệnh cần lặp>;
<Giá trị đầu> > <Giá trị cuối> - Sử dụng dạng For tiến là phù hợp.