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]
(1)Tuầ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 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ỹ :
Mô tả thuật tốn số tốn đơn giản có sử dụng cấu trúc lặp; Viết câu lệnh lặp với số lần xác định trước;
Viết thuật toán số 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ị giáo viên học sinh: 1 Giáo viên:
Chuẩn bị số toán có sử dụng cấu trúc lặp Nắm vững cấu trúc lặp thuật toán 2 Học sinh:
Chuẩn bị chương trình cài đặt tốn D- Tiến trình lên lớp:
I- Ổn định lớp : II- Kiểm tra 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 lùi
- Giải thích cách hoạt động câu lệnh 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 lùi) hai thuật toán giải BT SGK Hôm ta áp dụng cấu trúc lặp để chuyển thuật tốn BT1 sang chương trình. 2 Triển khai bài:
Hoạt động giáo viên học sinh Nội dung kiến thức
HĐ1: Tìm hiểu thuật toán để giải toán (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 tốn tổng
Hs: đưa thuât toán
Gv: Em có nhận xét thuật tốn này?
Hs: Thuật toán lặp lặp lại điều kiện thỏa mãn thuật toán kết thúc
Gv: Để diễn tả cấu trúc ngơn ngữ lập trình cung cấp cho ta 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 câu lệnh While - Do
- Thuật toán Tong_2 B1: S 1/a; N 0;
B2: Nếu 1/(a+N) < 0.001 đưa S kết thúc
B3: N N+1;
B4: S S + 1/ (a+N); quay lại B2 Gv: Để diễn tả cấu trúc Ngơn ngữ Lập trình TP
cung cấp cho câu lệnh While Do
Gv: Giải thích hoạt động câu lệnh While Do Gv: dựa vào thực câu lệnh While Do 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 biểu thức logic
Câu lệnh câu lệnh đơn ghép. Dtả: Trong điều kiện thực câu lệnh thực Điện sai
(2)Sơ đồ thực 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 toán 2 Gv: Đưa sơ đồ khối thuật toán tổng 2
Gv: Thuật toán dừng nào?
Hs: Thuật toán dừng ĐK 1/(a+N) <0.001 Gv: Việc tính tổng kết thúc nào?
Hs: vịng lặp tính tổng kết thúc 1/((a+N) chưa nhỏ hơn 0.001
Gv: Tp viết biểu thức nào? Hs: Not(1/(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 thực câu lệnh
Ví dụ
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)) do Begin
N:=N+1; S:=S+1/(a+N); End;
Writeln(‘Tong S=’,S:4:2); Readln;
End.
Hđ3: Áp dụng câu lệnh While để viết chương trình tìm UCLN(a,b) Gv: Ta học thuật tốn tìm UCLN năm lớp 10 Em
hãy viết thuật toán Hs: viết thuật toán
Gv: Giải thích thuật tốn Tìm UCLN Trong M<> N làm
- Nếu M> N M:=M-N ngồi 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ố :
Câu lệnh rẽ nhánh có hai dạng : Thiếu đủ
Câu lệnh lặp có hai dạng : Lặp với số lần xác định 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 tập 4, 5b, 7,8, sách giáo khoa, trang 51 - Viết chương trình tính tổng: S=
a + a+1 +
1
a+2 + +
1
a+N +
1
a+N <0,0001
VI Rút kinh nghiệm
Điều Kiện Câu lệnh