Giáo án điện tử tin học lớp 8
1. Các hoạt động lặp với số lần cha biết trớc
HÃy kể tên những
hoạt động đợc thực
hiện lặp đi lặp lại với
số lần lặp không thể
xác định trớc?
Học cho đến khi thuộc bài
Nhặt từng cọng rau cho đến khi hết rau
Bài toán: Viết chơng trình nhập vào
một dÃy số cho đến khi gặp 0 thì dừng
lại, tính tỉng c¸c sè võa nhËp.
2. Ví dụ về lệnh lặp với số lần cha biết trớc:
Bài toán 1:
Tính tổng
S 1 2 3 4 ... N
Bài toán 2: Tính tổng
S 1 2 3 4 ... N
Cho ®Õn khi S>1000. Cho biÕt N
Cùng tìm thuật toán
Xuất phát
Lần 1
Lần 2
S 0
1
2
?
Lần N
+
N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
Sau mỗi lần thực hiện giá trị tổng S tăng thêm i đơn vị với i= 1;2;3;.N
tìm sự khác biệt
HÃy tìm ra sự khác biệt, nêu nhận xét về hành động lặp,
số lần lặp đối với từng bài toán?
Bài toán 1:
Bài toán 2:
S 1 2 3 ... N
S 1 2 3 ... N
Cho đến khi S>1000
Lặp với số lần biết
trớc.
Tăng giá trị S lên n
đơn vị.
Số lần lặp xác định là N lần.
Lặp với số lần cha
biết trớc.
Tăng giá trị S lên n
đơn vị.
Số lần lặp cha xác định, quá trình lặp chỉ dõng khi
S>1000.
tìm sự khác biệt
trong khi While
Sai
Điều kiện
Đúng
do
Câu lệnh
Lp: …… Tên: ………........................................................ Điểm: ...........
PHIẾU HỌC TẬP
* Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
câu lệnh
While ...........................
điều kiện do .............................;
Trong đó:
điều kiện thường là một phép so sánh.
+ ..........................
+ .......................
câu lệnh có thể là ..................
câu lệnhghép.
câu lệnhđơn giản hay .................
3. Lệnh lặp với số lần cha biết trớc:
Câu lệnh lặp với số lần lặp cha biết trớc trong Pascal:
WHILE <Điều kiện> DO <Câu lệnh>;
Trong đó:
Sai
Điều kiện
Điều kiện: thờng là một phép so sánh
Ví dụ: While S<=1000 do Begin
S:= S+n;
ỳng
N:=N+1;
S:=S+N;
Câu lệnh END;
Câu lệnh: là câu lệnh đơn hay
câu lệnh ghÐp
VÝ dơ 1 : TÝnh tỉng
cho ®Õn khi S>1000. Cho biÕt N
S 1 2 3 4 ... N
Program tinh_tong;
Các nhóm hãy viết thuật tốn hồn chỉnh
Uses Crt;
ví :dụ
trên nhé. Thời gian là 5 phút
Var N,S
Integer;
BEGIN
Clrscr;
S:=0;
N:=0;
While s< = 1000 do
Begin
N:=N+1;
S:=S+N;
End;
Writeln(‘So N nho nhat de tong >1000 la’,N);
Writeln(‘Gia tri cua tong S =’,S);
Readln;
END.
cho