Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000.. Trả lời: không biết trước.[r]
(1)Ví dụ 1: SGK
Long lặp lại hoạt động gọi điện thoại lần?
Long lặp lại hoạt động gọi điện thoại lần?
-Khơng có nhấc máy!
-Long định gọi thêm lần nữa
(2)Ví dụ 1: SGK
Long lặp lại hoạt động gọi điện thoại lần?
Long lặp lại hoạt động gọi điện thoại lần?
Cho đến có người nhấc máy!
(3)(4)Ví dụ 2: SGK
Nếu cộng n số tự nhiên (n = 1, 2, 3, ), ta kết quả:
T1 =1
T2 =1 +
T3 =1 + + tăng dần
Cần cộng số tự nhiên để ta nhận tổng Tn nhỏ lớn 1000?
Trả lời: trước
Trong trường hợp này, để định thực phép cộng với số hay dừng, bước cần phải kiểm tra điều gì?
(5)Ví dụ 2: SGK
Kí hiệu S là tổng cần tìm ta có thuật tốn sau:
Bước 1. S 0, n
Bước 2. Nếu S ≤ 1000, n n + 1; ngược lại chuyển tới
bước
Bước 3. S S + n và quay lại bước
Bước 4. In kết quả: S n số tự nhiên nhỏ cho
(6)Bây chạy tay thử chương trình với điều kiện S <= 10
n =
S = 10+5 = 15 n =
lần
S = 6+4 = 10 n =
lần
S = 3+3 = n =
lần
S = 1+2 = n =
lần
S = 0+1 = n =
lần
S = n =
(7)(8)2 Ví dụ lệnh lặp với số lần chưa biết trước
Cú pháp: WHILE <ĐIỀU KIỆN> DO <CÂU LỆNH>; Công dụng: lặp với số lần chưa xác định
Trong đó:
<điều kiện> : Thường phép so sánh
<câu lệnh> : Có thể câu lệnh đơn giản hay câu lệnh ghép Ví dụ3: (sgk)
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:6:4, 'la ',n); readln
(9)Bây chạy tay thử chương trình với điều kiện
sai_so = 0.3
x = 1/4 n =
x = 1/3 n =
x = 1/2 n =
x = n =