Tải bản đầy đủ (.ppt) (11 trang)

Bai 8: Vong lap While..do

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (371.13 KB, 11 trang )


Gi¸o ¸n ®iÖn tö tin häc líp 8


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
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?
1. Các hoạt động lặp với số lần ch a biết tr ớc

Bài toán 1:
Bài toán 2:
NS +++++= 4321
NS +++++= 4321
Cho đến khi S>1000. Cho biết N
Tính tổng
Tính tổng
2. Ví dụ về lệnh lặp với số lần ch a xác định

Xuất phát
0=S
1+
Lần 1


2+
Lần 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
?
Cùng tìm thuật toán

Bài toán 1: Bài toán 2:
NS ++++= 321
N++++= 321S
Cho đến khi S>1000
Số lần lặp xác định
Việc tăng giá trị cho
tổng S đ ợc lặp đi lặp
lại cho đến khi
S>1000

Việc tăng giá trị cho
tổng S đ ợc lặp đi
lặp lại N lần.
Số lần lặp ch a xác định.
tìm sự khác biệt

WHILE
<Điều kiện>
DO
<Câu lệnh>

;
Điều kiện
Đúng
Câu lệnh
Điều kiện
: th ờng là một phép so sánh

Sai
Trong đó:

Câu lệnh lặp với số lần lặp ch a xác định trong Pascal:
Câu lệnh
: là câu lệnh đơn hay
câu lệnh ghép
Ví dụ: While S<100 do S:= S+1;
3. Lệnh lặp với số lần ch a xác định

B1: Khởi tạo S=0; N:=0;
B2: Nếu S<= 1000 thì thực hiện
tăng N thêm 1 đơn vị,
ng ợc lại chuyển tới B4
B3: Cộng N vào S => sang B2
B4: In kết quả: N là số tự nhiên
nhỏ nhất sao cho S>1000,
Tổng S và kết thúc
S:=0; N:=0;
WHILE S<=1000 DO
Begin
N:=N+1;
S:=S+N;

END;
Writeln( Số N nhỏ nhất để S>1000 , N)
Writeln( Tổng đầu tiên >1000 ,S);
NS +++++= 4321
Thuật toán
Ch ơng trình
Ví dụ 1 :
cho đến khi S>1000. Cho biết N
Tính tổng

Program Bai_toan;
Uses Crt;
Var N:Integer;
S:Real;
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.
H·y hoµn thiÖn
ch ¬ng tr×nh gi¶i
bµi to¸n trªn?


100
1
4
1
3
1
2
1
1 +++++= S
S:=0;
For i:=1 to 100 do S:=S + 1/i;
Writeln( S = , S:7:2);‘ ’
Dïng lÖnh FOR DO
Dïng lÖnh Whie Do
S:=0; i:=1;
While i<=100 do
begin
S:=S + 1/i;
i:=i+1;
end;
Writeln( S = , ‘ ’
S:7:2);
 Cã thÓ sö dông lÖnh While do
thay cho c©u lÖnh For Do
VÝ dô 2 :
TÝnh tæng

L u ý: Khi viết ch ơng trình với câu lệnh lặp, điều kiện phải đ
ợc thay đổi để ch ơng trình không gặp lỗi lặp vô hạn.
Ví dụ :

Var
a:integer;
Begin
a:=5;
While a<6 do
Write(' Chuong t rinh chay mai khong thoat duoc');
End.
4. Lặp vô hạn -Lỗi lập trình cần tránh

Ghi nhớ!

Ngoài cấu trúc lặp với số lần lặp xác
định 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.

While. . . do là câu lệnh lặp với số lần
ch a biết tr ớc trong Pascal

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×