0.001 ; 0.005 ; .. - Quan sỏt Hs : thực hiện Hs : thực hiện Hs : thực hiện nhỏ nhất để 1 n nhỏ hơn một sai số cho trước : uses crt; var x: real; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1; while x>=sai_so do begin n:=n+1; x:=1/n end;
writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n);
readln end.
4. Cuỷng coỏ 2p
Ghi nhớ sgk
Cuự phaựp cãu leọnh laởp While...do
5. Daởn doứ 2p
Làm bài tập 2,3aSGK/71
NS: ND:
Tiết 50. lặp với số lần lặp cha biết trớc (t2)
I - Mục tiêu
1. Kiến thức
+ Biết nhu cầu cần cú cấu trỳc lặp với số lần chưa biết trước trong ngụn ngữ lập trỡnh;
+ Biết ngụn ngữ lập trỡnh dựng cấu trỳc lặp với số lần chưa biết trước để chỉ dẫn mỏy tớnh thực hiện lặp đi lặp lại cụng việc đến khi một điều kiện nào đú được thoả mĩn;
2. Kỹ Năng
Hiểu hoạt động của cõu lệnh lặp với số lần chưa biết trước while...do… trong Pascal.
3. Thái độ
Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II - Chuẩn bị
1. Giáo viên: SGK, mỏy chiếu, cỏc vớ dụ về chương trỡnh
2. Học sinh: Xem trước bài ở nhà
III - Tiến trình bài dạy
A. ổn định ( 1p )
B Kiểm tra bài cũ (5p)
Nhắc lại cú pháp câu lệnh lặp?
Dựa trên sơ đồ hãy nêu quá trình thực hiện câu lệnh lặp
HĐ của Thầy HĐ của Trị Ghi Bảng Hoạt động 1 - 20p
- Y/c hs nhắc lại cỳ phỏp cõu lệnh lặp với số lần chưa biết trước
- Ta tiếp tục xột cỏc vớ dụ mà trong chương trỡnh cú cõu lệnh với số lần lặp chưa biết trước
- Xột vớ dụ 4
- Cho học sinh quan sỏt chương trỡnh
- Chạy tay cho học sinh xem chương trỡnh mẫu
- Cho học sinh chạy chương trỡnh trờn mỏy
- Chạy chương trỡnh này, ta nhận được giỏ trị ntn? - Giới thiệu vớ dụ 5 sgk Viết chương trỡnh tớnh tổng 1 1 1 1 ... 2 3 100 T = + + + +
-Cho học sinh quan sỏt chương trỡnh
- Vớ dụ này cho thấy rằng chỳng ta cú thể sử dụng cõu lệnh while…do thay cho cõu lệnh for…do.
Hoát ủoọng 2 – 15p
- Khi viết chương trỡnh sử dụng cấu trỳc lặp cần chỳ ý trỏnh tạo nờn vũng lặp khụng bao giờ kết thỳc. Chẳng hạn, chương trỡnh dưới đõy sẽ lặp lại vụ tận: - Trong chương trỡnh trờn, giỏ trị của biến a luụn luụn
- Trả lời
- Quan sỏt
- Chỳ ý nghe và tự chạy tay lại
- Nếu chạy chương trỡnh này ta sẽ nhận được n = 45 và tổng đầu tiờn lớn hơn 1000 là 1034.
- Quan sỏt
- Kết quả bằng nhau
Vớ dụ 4. Chương trỡnh Pascal dưới đõy thể hiện thuật toỏn tớnh số n trong vớ dụ 2: var S,n: integer; begin S:=0; n:=1; while S<=1000 do begin S:=S+n; n:=n+1; end;
writeln('So n nho nhat de tong > 1000 la ',n);
writeln('Tong dau tien > 1000 la ',S); end. Vớ dụ 5 . Viết chương trỡnh tớnh tổng 1 1 1 ... 1 2 3 100 T = + + + + Giải : Để viết chương trỡnh tớnh tổng 1 1 1 1 ... 2 3 100 T = + + + + ta cú thể sử dụng lệnh lặp với số lần lặp biết trước for…do: T:=0;
for i:=1 to 100 do T:=T+1/i; writeln(T);
Nếu sử dụng lệnh lặp while…do, đoạn chương trỡnh dưới đõy cũng cho cựng một kết quả:
T:=0; i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xột : Vớ dụ này cho thấy rằng chỳng ta cú thể sử dụng cõu lệnh while…do thay cho cõu lệnh
bằng 5, điều kiện a<6 luụn luụn đỳng nờn lệnh
writeln('A') luụn được thực hiện.
- Do vậy, khi thực hiện vũng lặp, điều kiện trong cõu lệnh phải được thay đổi để sớm hay muộn giỏ trị của
điều kiện được chuyển từ đỳng sang sai. Chỉ như thế
chương trỡnh mới khụng "rơi" vào những "vũng lặp vụ tận". Chỳ ý nghe Chỳ ý nghe 3. Lặp vụ hạn lần – Lỗi lập trỡnh cần trỏnh
Khi viết chương trỡnh sử dụng cấu trỳc lặp cần chỳ ý trỏnh tạo nờn vũng lặp khụng bao giờ kết thỳc.
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
4. Cuỷng coỏ 2p