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

BAI 8 CAU LENH LAP VOI SO LAN CHUA BIET TRUOC

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 (194.02 KB, 11 trang )



Kiểm tra bài cũ:
Câu 1: Các câu lệnh Pascal sau có hợp lệ không? Vì sao?
a) For i := 100 to 1 do writeln(‘A’);
b) For i := 1.5 to 10.5 do writeln(‘A’);
c) For i = 1 to 10 do writeln(‘A’);
d) For i := 1 to 10 do; writeln(‘A’);
Câu 2: Trong Pascal câu lệnh For được sử dụng với số lần lặp biết
trước hay chưa?
a) Chưa biết trước.
b) Đã biết trước.
BÀI 8:
BÀI 8:
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
(TIẾT 1)
(TIẾT 1)


Tiếp tục nghiên cứu về cấu trúc lặp.

Cú pháp của câu lệnh lặp với số lần
chưa biết trước.

Có giống bài toán
Lặp với số lần biết
trước không ?
1./ CÁC HOẠT ĐỘNG LẶP VỚI SỐ LẦN CHƯA
BIẾT TRƯỚC
Tìm thuật giải cho


bài toán

Ví dụ 2: Tính và đưa kết quả ra màn hình:

S =1+2+3+ …;
Cho đến khi S≥ 20

Ví dụ 1: SGK

Cụ thể về thuật toán theo ngôn ngữ tự nhiên:

B1: S ← 0 ; i ← 1

B2: Trong khi S<20 thì

B2a: S ← S+i

B2b: i ← i+1; → B2

B3: Đưa S ra màn hình;

B4: Kết thúc



Như vậy việc thực hiện phép tính
tổng ở thuật toán trên được lặp lại với
số lần chưa biết trước, phụ thuộc vào
một điều kiện (S<20) và chỉ dừng khi
điều kiện đó sai.

Việc lặp trên có thể được mô tả qua
sơ đồ khối sau:

Điều kiện
Câu lệnh
Đúng
Sai
Điều kiện
Sai

Sơ đồ khối:
Để viết chương trình chỉ dẫn máy tính thực hiện các
hoạt động lặp như trong thuật toán, ta có thể sử dụng
câu lệnh có dạng: “Lặp với số lần chưa biết trước”
WHILE <Điều kiện> DO <Câu Lệnh>

2./ VÍ DỤ VỀ LỆNH LẶP VỚI SỐ LẦN CHƯA
BIẾT TRƯỚC
Trong pascal câu lệnh lặp với số lần chưa biết
trước có dạng:
Từ khoá
Thường là một
phép so sánh
Lệnh đơn hay câu lệnh ghép
Câu lệnh lặp này được thực hiện như sau:
1./ Kiểm tra: Điều kiện
2./ Nếu điều kiện sai, câu lệnh sẽ bò bỏ qua
và kết thúc vòng lặp.
Nếu điều kiện đúng, thì thực hiện câu lệnh
và quay về bước kiểm tra điều kiện



Câu lệnh
Đúng
Sai
Điều kiện
Mô tả đường đi của
chương trình trên sơ
đồ khối?

Sơ đồ khối của câu lệnh While Do


B1: S ← 0 ; i ← 1

B2: Trong khi S<20 thì

B2a: S ← S+i

B2b: i ← i+1; → B2

B3: Đưa S ra màn hình;

B4: Kết thúc

Var S,i:Integer;
Begin
S:=0; i:=1;
While S<20 Do
Begin

S := S+i ; i := i+1 ;
End;
Writeln(‘Tong S = ‘,S)
Readln;
End.
Dùng lệnh này để thể hiện thuật toán trong ví dụ 2

Một số chú ý

Trong vòng lặp WHILE . . . DO:

- Nếu ngay lần kiểm tra đầu tiên, mà kết
quả là SAI thì các câu lệnh trong vòng lặp
sẽ không được thực hiện lần nào.

- Số lần kiểm tra chính là số lần lặp

- Tùy theo điều kiện mà viết các câu lệnh
trong vòng lặp cho phù hợp.

×