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

Bai 8 tin hoc 8

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 (368.36 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 cha 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 cha 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 cha 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

Lu ý: 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
×