Mô tả được thuật toán của một số bài toán đơn giản có sử dụng cấu trúc lặp; Viết đúng câu lệnh lặp với số lần xác định trước;.. Viết được thuật toán của một số bài toán đơn giản.[r]
Trang 1Tuần : 20 Ngày soạn 25/12/08
CHƯƠNG II CẤU TRÚC RẼ NHÁNH VÀ CẤU TRÚC LẶP Bài 10 CẤU TRÚC LẶP(t3)
A- Mục tiêu bài học:
1 Kiến thức :
Hiểu nhu cầu cấu trúc lặp với số lần chưa xác định
2 Kỹ năng :
Mô tả được thuật toán của một số bài toán đơn giản có sử dụng cấu trúc lặp;
Viết đúng câu lệnh lặp với số lần xác định trước;
Viết được thuật toán của một số bài toán đơn giản
B- Phương pháp, phương tiện dạy học:
Thuyết trình, vấn đáp
Phương tiện: Bảng vẽ
C- Chuẩn bị của giáo viên và học sinh:
1 Giáo viên:
Chuẩn bị một số bài toán có sử dụng cấu trúc lặp
Nắm vững các cấu trúc lặp và các thuật toán
2 Học sinh:
Chuẩn bị chương trình cài đặt bài toán 1
D- Tiến trình lên lớp:
I- Ổn định lớp :
II- Kiểm tra bài cũ:
- Viết cấu trúc câu lệnh lặp với số lần biết trước: Câu lệnh lặp tiến và lùi
- Giải thích cách hoạt động các câu lệnh trên.
III- Bài mới:
1 Đặt vấn đề: Tiết trước ta đã học câu lệnh lặp với số lần biết trước (Lặp tiến và lùi) và hai thuật toán
giải BT 1 trong SGK Hôm nay ta áp dụng cấu trúc lặp trên để chuyển thuật toán BT1 sang chương trình.
2 Triển khai bài:
Hoạt động của giáo viên và học sinh Nội dung kiến thức
HĐ1: Tìm hiểu thuật toán để giải bài toán 2 (lặp với số lần chưa xác định) Câu lệnh While Do
Gv: Hướng dẫn cho học sinh hình thành thuật toán tổng
2
Hs: đưa ra thuât toán
Gv: Em có nhận xét gì về thuật toán này?
Hs: Thuật toán này được lặp đi lặp lại cho đến khi điều
kiện được thỏa mãn thì thuật toán kết thúc
Gv: Để diễn tả cấu trúc trên các ngôn ngữ lập trình
cung cấp cho ta một cấu trúc lặp với số lần không xác
định
3.Lặp với số lần chưa biết trước và câu lệnh While - Do
- Thuật toán Tong_2
B1: S 1/a; N a; N 0;
B2: Nếu 1/a; N (a+N) < 0.001 thì đưa ra S và kết thúc
B3: N N+1;
B4: S S + 1/a; N (a+N); rồi quay lại B2
Gv: Để diễn tả cấu trúc như vậy Ngôn ngữ Lập trình TP
cung cấp cho chúng ta câu lệnh While Do
Gv: Giải thích sự hoạt động của câu lệnh While Do
Gv: dựa vào sự thực hiện câu lệnh While Do hãy vẽ sơ
đồ?
Hs: Lên bảng vẽ sơ đồ
- Câu lệnh While – Do While <điều kiện> Do <Câu lệnh>;
Điều kiện là biểu thức logic Câu lệnh là một câu lệnh đơn hoặc ghép.
Dtả: Trong khi điều kiện còn đúng thì thực hiện câu lệnh và nó thực hiện cho đến khi Điện sai
TIẾT
19
Trang 2Sơ đồ thực hiện câu lệnh Whiel Do
Hđ2: Áp dụng câu lệnh While Do để viết chương trình giải bài toán 2 Gv: Đưa ra sơ đồ khối thuật toán tổng 2
Gv: Thuật toán dừng khi nào?
Hs: Thuật toán dừng khi ĐK 1/a; N (a+N) <0.001 đúng
Gv: Việc tính tổng kết thúc khi nào?
Hs: vòng lặp tính tổng kết thúc khi 1/a; N ((a+N) chưa nhỏ
hơn 0.001
Gv: trong Tp chúng ta viết biểu thức trên như thế nào?
Hs: Not(1/a; N (a+N)
Gv: Hướng dẫn học sinh dần hình thành chương trình
Gv: Lưu ý cho học sinh câu lệnh While Do kiểm tra
điều kiện trước khi thực hiện câu lệnh
Ví dụ 1
Program tong_2;
Var s:real;
A,n:integer;
Begin
Write(‘hay nhap a’);
Readln(a);
S:=1; N:=0;
While not(1/a; N (a+n)) do Begin
N:=N+1;
S:=S+1/a; N (a+N);
End;
Writeln(‘Tong S=’,S:4:2);
Readln;
End.
Hđ3: Áp dụng câu lệnh While do để viết chương trình tìm UCLN(a,b)
Gv: Ta đã học thuật toán tìm UCLN năm lớp 10 Em
hãy viết thuật toán trên
Hs: viết thuật toán
Gv: Giải thích về thuật toán Tìm UCLN
Trong khi M<> N thì làm
- Nếu M> N thì M:=M-N ngoài ra N:=N-M;
Ví dụ 2;
Program UCLN;
Var m.n:integer;
Begin Write(‘M,N=’);
Readln(n.m);
While M<>N Do
If M>N then M:=M-N Else N:= N-M; Write(‘UCLN(M,N)’, M);
Readln;
End
IV- Củng cố bài :
Câu lệnh rẽ nhánh có hai dạng : Thiếu và đủ
Câu lệnh lặp có hai dạng : Lặp với số lần xác định và không xác định
Các dãy câu lệnh gọp lại thành câu lệnh ghép
Định lí Jacobi
V- Dặn dò : Giải bài tập 4, 5b, 7,8, sách giáo khoa, trang 51
- Viết chương trình tính tổng: S= 1
a +
1
a+1 +
1
a+2 + +
1
a+N+ cho đến khi
1
a+N<0,0001
VI Rút kinh nghiệm
Điều Kiện Câu lệnh
sai