Bài 8. Lặp với số lần chưa biết trước

Chia sẻ bởi Vũ Huyền Anh | Ngày 24/10/2018 | 24

Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8

Nội dung tài liệu:

Ví dụ 3: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3, ….), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng T nhỏ nhất lớn hơn 1000?
*) Phân tích bài toán:
n
1
2
3

?
T=1
Tổng T
T=1+2
T=1+2+3+…+?
Sao cho T nhỏ nhất lớn hơn 1000
T=1+2+3

Điều kiện
Đúng
Sai
Kết thúc việc tính tổng.
Đúng
Đúng
Đúng
Ví dụ 3: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3, ….), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng T nhỏ nhất lớn hơn 1000?
*) Mô tả thuật toán:
Bước 1: T 0, n 0.
Bước 2: Nếu thì chuyển tới bước 3; Ngược lại (T>1000) chuyển tới bước 4.
Bước 3: n n+1; T T+n; Và quay lại bước 2.
Bước 4: In kết quả: số n nhỏ nhất để tổng lớn hơn 1000 và tổng đầu tiên lớn hơn 1000.
Kết thúc thuật toán
Ví dụ 3: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3, ….), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng T nhỏ nhất lớn hơn 1000?
*) Sơ đồ khối:
n n+1
T T+n
Đúng
Sai
Kết thúc lặp
Ví dụ 3: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3, ….), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng T nhỏ nhất lớn hơn 1000?
*) Chương trình:
program tinh_tong;
uses crt;
var T, n: integer;
begin
clrscr;
T:=0; n:=0;
while T<=1000 do
begin
n:=n+1;
T:=T+n
end;
writeln(‘So n nho nhat de tong > 1000 la ‘ ,n);
writeln(‘Tong dau tien > 1000 la ‘ ,T);
readln;
end.
Ví dụ 4: Tính tổng sau , sử dụng lệnh lặp với số lần lặp cho trước for…do.
*) Phân tích bài toán:
1
2
3

100
T=1

Ví dụ 4: Tính tổng sau , sử dụng lệnh lặp với số lần lặp cho trước for…do.
*) Mô tả thuật toán:
Bước 1: T 0.
Bước 2: Nếu thì chuyển tới bước 3; Ngược lại (i>100) chuyển tới bước 4.
Bước 3: i i+1; T ; Và quay lại bước 2.
Bước 4: In kết quả.
Kết thúc thuật toán
Ví dụ 4: Tính tổng sau , sử dụng lệnh lặp với số lần lặp cho trước for…do.
*) Sơ đồ khối:
T 0
Kết thúc
i i+1
T
Đúng
Sai
Ví dụ 4: Tính tổng sau , sử dụng lệnh lặp với số lần lặp cho trước for…do.
*) Chương trình:
program tinhtong;
uses crt;
var i, T: integer;
begin
clrscr;
T:=0;
for i:=1 to 100 do T:= T+1/i;
writeln(‘Tong la ‘ ,T);
readln;
end.
Ví dụ 4: Tính tổng sau , nếu sử dụng lệnh lặp while…do?
Nếu sử dụng câu lệnh while… do ta thay đoạn lặp trong chương trình trên:
program tinhtong;
uses crt;
var i, T: integer;
begin
clrscr;
T:=0;
for i:=1 to 100 do T:= T+1/i;
writeln(‘Tong la ‘ ,T);
readln;
end.
T:=0; i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(‘Tong la ‘ ,T);
Và thu được là cùng một kết quả.
=> Chúng ta có thể sử dụng câu lệnh while… do thay cho câu lệnh for… do.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Vũ Huyền Anh
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)