Bình Dương,
ngày
05/03/2009
1
Môn: Tin học - Lớp 8
Bình Dương,
ngày
05/03/2009
2
Program Btap;
Var sum, i:= integer;
sum:=0;
For i = 1.5 to 10 do
Begin
sum:= sum + i;
writeln(sum);
Readln;
End.
KIỂM TRA BÀI CŨ
Câu hỏi : Hãy liệt kê các lỗi trong chương trình dưới
đây:
Program Btap;
Var sum, i: integer;
Begin
sum:=0;
For i := 1 to 10 do
Begin
sum:= sum + i;
writeln(sum);
End;
Readln;
End.
Bình Dương,
ngày
05/03/2009
3
? Em hãy nêu những công việc
hằng ngày em thực hiện được lặp đi
lặp lại nhiều lần, với số lần lặp chưa
biết trước:
Bình Dương,
ngày
05/03/2009
4
Bài 8 :
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 1: Những hoạt động lặp với số lần lặp
chưa biết trước như : học cho đến khi thuộc bài,
gọi điện nghe chuông reo cho đến khi có người
nhấc máy,...
Bình Dương,
ngày
05/03/2009
5
Ví dụ 2 : Tìm số tự nhiên n để tổng S
n
= 1+ 2 + 3 + …
+ n, nhỏ nhất lớn hơn 1000.
1. Các hoạt động lặp với số lần chưa biết trước.
n S
n
S
n
≤ 1000
1
S
1
= 1 Đúng
2 S
2
= 1 + 2 Đúng
Đúng
… … …
n S
n
= 1 + 2 + 3 + … + n Sai, kết thúc việc tính tổng
3 S
3
= 1 + 2 + 3
Phân tích:
Bình Dương,
ngày
05/03/2009
6
Thuật toán :
Bước 1. S 0, n 0.
Bước 2. S ≤ 1000, n n + 1; Ngược lại, chuyển tới
bước 4.
Bước 3. S S + n và quay lại bước 2.
Bước 4. In kết quả: S và số tự nhiên n để tổng S nhỏ
nhất lớn hơn 1000. Kết thúc thuật toán.
1. Các hoạt động lặp với số lần chưa biết trước.
Ví dụ 2 : Tìm số tự nhiên n để tổng S
n
= 1+ 2 + 3 + …
+ n, nhỏ nhất lớn hơn 1000.
Bình Dương,
ngày
05/03/2009
7
Ngoài cấu trúc lặp với số lần lặp biết trước, các
ngôn ngữ lập trình còn có các câu lệnh lặp với số lần
chưa biết trước.
Tóm lại :
Lưu đồ hoạt động :
S<= 1000
Kết thúc thuật toán
n:= n + 1;
S:= S + n;
Đúng
Sai
1. Các hoạt động lặp với số lần chưa biết trước.