- Cuûng coá caáu truùc vaø hoaït ñoäng cuûa caâu leänh laëp - Bieát söû duïng leänh gheùp trong Pascal.. Kó naêng:3[r]
(1)Ngày soạn: 04/01/2009 Tuần:20
Ngày dạy: 06/01/2009 TiÕt: 40
BÀI TẬP CÂU LỆNH LẶP (T2) I Mục Tiêu:
1 Kiến thức:
- Củng cố cấu trúc hoạt động câu lệnh lặp - Biết sử dụng lệnh ghép Pascal
2 Kó năng:
- Sử dụng câu lệnh lặp For…do toán
Thái Độ: Thấy nhu cầu cần có cấu trúc lặp ngơn ngữ lập trình II Phương Pháp: thuyết trình, nêu vấn đề vấn đáp
III Chuẩn Bị:
1 Giáo Viên:
-Nội dung dạy, phòng máy phần mềm liên quan -Máy chiếu, sgk thiết bị dạy học
2 Hoïc Sinh:
-Vở ghi, sgk, IV.Tiến trình dạy học:
1 Ổn định:
2 Kiểm tra cũ: kiểm tra việc chuẩn bị tập nhà
3 Bài mới:
Hoạt động GV Hoạt động HS Nội dung
Hoạt động 1: Bài tập / 61 SGK
Yêu cầu HS lên bảng viết thuật toán
Gọi HS nhận xét, bổ sung
GV nhận xét, sữa
HS lên bảng viết thuật toán
HS nhận xét, bổ sung
Bài tập / 61 SGK Thuật tốn:
Tính tổng A=
1 3+ 4+
1
3 5+
n(n+1)
Bước 1: Gán A 0, i Bước 2: A
1 ( 2) i i
Bước 3: i i +
Bước 4: Nếu i n, quay lại bước 2≤ Bước 5: Ghi kết A kết thúc thuật toán
Hoạt động 2: Aùp dụng vòng lặp for … do
GV: Ở thuật tốn trên, có bước thực lặp lại nhiều lần hay không? GV: để khơng phải viết lệnh nhiều lần ta sử dụng vòng lặp nào?
GV hướng dẫn HS dựa vào thuật tốn xây dựng, dùng ngơn
HS: Bước bước thực lặp lại nhiều lần HS: sử dụng vòng lặp for …
HS viết chương trình
Chương trình Tính tổng A= 1 31 +
2 4+
3 5+
n(n+1)
Program Tinh_Tong; Var A: Real;
i,n: Integer; Begin
Write('Nhap so tu nhien n lon hon 0: '); readln(n);
(2)ngữ Pascal viết chương trình giải tốn
GV: gọi HS lên bảng làm
Gọi HS nhận xét, bổ sung
GV sửa
For i:=1 to n A:= A + 1/(i*(i+2));
Writeln('Tong A = ',A:10:2); Readln;
End
Hoạt động 3: p dụng để viết chương trình
Yêu cầu Hs viết
chương trình giải tốn sau
Vừa gà vừa chĩ Bĩ lại cho trịn Ba mươi sáu con Một trăm chân chẵn. -Yêu cầu Hs nêu hướng giải toán học
- Viết thuật toán minh họa
Gv hướng dẫn câu lệnh lặp for … lồng
- Vieát chương trình - Gọi Hs nhận xét, bổ sung
Gv nhận xét
HS nêu hướng giải
Hs viết chương trình
Var ga, cho : byte; Begin
for ga:=1 to 35 do
for cho:=1 to 35 do if (ga*2 + cho*4 = 100) and (ga + cho = 36) then
writeln('So ga la: ', ga, '; So cho la: ', cho);
Readln; End. 4 Củng cố: - Câu lệnh For … loàng nhau