Bài 8
Lặp với số lần chưa
biết trước
Tin Học 8
Tuần 28
Tiết 55
www.themegallery.com
KIỂM TRA BÀI CŨ
Câu 1: Hãy ghi cú pháp của câu lệnh lặp For…do ?
Câu 2: Hãy viết chương tình tính tổng của 5 số đầu tiên ?
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Var i, Tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= Tong + i;
Write(‘Tong= ’,Tong);
Readln;
End.
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
www.themegallery.com
Lặp với số lần chưa biết trước
1. Các hoạt động lặp với số lần chưa biết trước:
Tuần 28
Tiết 55
Bài 8
Ví dụ 1:
Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,
…), ta sẽ được kết quả tăng dần T
1
=1, T
2
=1+2,…tăng dần.
Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được
tổng T
n
nhỏ nhất lớn hơn 1000 ?
Bước 1: S 0, n= 0.
Bước 2: Nếu 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à n là số tự nhiên nhỏ nhất sao cho
S > 1000. Kết thúc thuật toán.
≤
www.themegallery.com
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
Hãy nêu cấu trúc câu
lệnh lặp với số lần chưa
biết trước ?
While <điều kiện> do <câu lệnh>;
Trong đó:
-
Điều kiện thường là các phép so sánh;
-
câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
Câu lệnh lặp được thực
hiện như thế nào ?
Câu lệnh
Điều kiện
?
Đúng
Sai
Kết thúc
www.themegallery.com
Lặp với số lần chưa biết trước
Tuần 28
Tiết 55
Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước:
Ví dụ 3: Với giá trị nào của n để 1/n < 0.003 ?. Viết chương
Trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước.
Uses crt;
Var x:Real;
n:Integer;
Const Si_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:6:4, ‘ la ‘,n);
Readln;
End.