III. Hoạt động dạy học * Kiểm tra bài cũ (5ph):
3. Hoạt động3: Rèn luyện kỹ năng vận dụng câu lệnh lặp không biết trớc số lần lặp While a Mục tiêu:
a. Mục tiêu:
- Học sinh biết sử dụng đúng lệnh While để lập trình giải quyết giải các bài toán đơn giản. b. Nội dung
Bài 1: Viết chơng trình tính tổng S=1+1/2+1/3+1/4+ 1/N+ cho đến khi 1/N<0.0001?… … Bài 2: Viết chơng trình tìm ớc chung lớn nhất của hai số nguyên dơng a và b?
c. Các b ớc tiến hành
TG Hoạt động của giáo viên Hoạt động của học sinh
1. Chiếu nội dung bài 1. Mục tiêu là viết chơng trình hoàn thiện.
- Định hớng các vấn đề chính. + Xác định điều kiện để tiếp tục lặp + Xác định các lệnh cần lặp.
- Yêu cầu học sinh viết chơng trình hoàn chỉnh và gọi một học sinh lên bảng viết chơng trình hoàn chỉnh, rồi nhận xét.
- Chiếu lại bài toán 2 của tiết trớc: Viết chơng trình tính tổng: S=1+1/2+ +1/N. Chúng ta có… thể sử dụng câu lệnh While - Do đợc không? Nếu đợc thì điều kiện là gì?
- Vậy, trờng hợp lặp với số lần biết trớc là trờng hợp đặc biệt của lặp không biết trớc số lần lặp. Mọi câu lệnh For - Do chúng ta đều có thể chuyển về câu lenẹh While - Do đợc.
- Hỏi: Chuyển từ câu lệnh FOR sang câu lệnh WHILE nh thế nào?
2. Chiếu nội dung bài 2
- Hỏi: Thuật toán tìm ớc chung lớn nhất của 2 số nguyên dơng a và b?
- Hỏi: Điều kiện lặp? - Hỏi: Lệnh cần lặp?
- yêu cầu học snh viết chơng trình?
- Hỏi: Để giải quyết đợc các bài toán lặp cần chỉ trả lời đợc hai câu hỏi nào?
- Điều kiện: 1/N<0.0001; - S:=S+1/N;
- N:=N+1;
- Có thể sử dụng câu lệnh While - Do đợc, với điều kiện là i<=N thì tính tổng.
i:=1;
- While i<=N Do S:= S+1/i; * Thuật toán:
- B1: Nhập a và b nguyên dơng; - B2: Nếu a=b thì ucln=a, rồi kết thúc - B3: Nếu a>b thì a:=a-b, rồi quay lại b2; - B4: b:=b-a, rồi quay lại b2;
- Điều kiện lặp: a<>b
- Lệnh cần lặp là a:=a-b hoặc b:=b-a; - Phai trả lời đợc hai câu hỏi:
+ Điều kiện lặp? + lệnh cần lặp? IV. Bài tập về nhà: Bài 4, 5b, 7, 8 - sgk - tr.51 + sbt - tr. 18 - tr.29
Tiết 16