Biến:=Giá trị đầu
Giá trị đầu <= Giá trị cuối
Công việc
Biến:=Biến +1
False
True
Kết thúc
Trình bày sự hoạt động của lệnh lặp For ... to ... do ...
Next
Next
tên bài giảng
tên bài giảng
Người thực hiện
:
Đỗ Văn Xuân
Đỗ Văn Xuân
hội giảng giáo viên dạy nghề tỉnh bắc giang
năm học 2003 - 2004
---------- ----------
Sở lđtb & xh bắc giang
trường trung học kỹ thuật - dạy
nghề
============ ============
Vị trí bài giảng
Vị trí bài giảng
STT Tên chương bài S.tiết
1 Chương I. Giới thiệu ngôn ngữ lập trình
05
2 Chương II. Các phần tử cơ bản của ngôn ngữ Pascal
02
3 Chương III. Các kiểu dữ liệu chuẩn của ngôn ngữ Pascal
03
4 Chương IV. Thủ tục vào, ra dữ liệu
06
5 Chương V. Câu lệnh điều kiện
05
6 Chương VI. Vòng lặp xác định và không xác định
08
6.1. Vòng lặp xác định For ... to ... do
01
6.2. Vòng lặp không xác định
6.2. Vòng lặp không xác định
01
6.2.1. Vòng lặp While ... do
6.2.2. Vòng lặp Repeat ... Until
6.3. Bài tập
05
6.4. Kiểm tra
Môn
Môn
: Ngôn ngữ lập trình PASCAL
: Ngôn ngữ lập trình PASCAL
Số tiết
Số tiết
: 90
: 90
Next
Next
Bài 6.2.
Vòng lặp không xác định
Vòng lặp không xác định
While ... do & Repeat ... until
While ... do & Repeat ... until
6.2.1. Vòng lặp WHILE ... DO
6.2.1. Vòng lặp WHILE ... DO
a/ Chức năng: Lệnh dùng để lặp đi lặp lại những đoạn chương trình có
số lần chưa biết trước.
b/ Cú pháp lệnh:
WHILE < ĐK_BTL > DO < Công việc > ;
Trong đó:
+ While và do: Là các từ khóa lệnh
+ < ĐK_BTL>:Là biểu thức Logic có thể nhận giá trị TRUE
( đúng ) hoặc FALSE ( sai )
+ < Công việc > : Có thể là một câu lệnh hay một nhóm lệnh
(nhóm lệnh hay gọi là lệnh ghép được đặt trong khối Begin End )
c/ Lưu đồ cú pháp và sự hoạt động của lệnh.
Next
Next
Nêu vấn đề
®K_
®K_
BTL
BTL
C«ng viÖc
C«ng viÖc
END
END
TRUE
FALSE
+ Lu ®å có ph¸p
Menu
+ Sự hoạt động .
BEGIN
BEGIN
Công việc
Công việc
END
END
TRUE
FALSE
ĐK_BTL
Khi máy thực hiện lệnh
While ... do trước tiên kiểm tra
< BTL>:
* Nếu BTL cho giá trị TRUE (đúng)
thì thực hiện <Công việc > rồi lại
kiểm tra và thực hiện < công
việc> tiếp theo. Quá trình chỉ kết
thúc khi điều kiện < BTL> cho giá
trị FALSE ( sai ).
ĐK_BTL
?
** Ngay từ đầu nếu điều
** Ngay từ đầu nếu điều
kiện <BTL> là FALSE thì thân vòng
kiện <BTL> là FALSE thì thân vòng
lặp không được thực hiện lần nào
lặp không được thực hiện lần nào
.
.
ĐK_BTL
ĐK_BTL
Công việc
Công việc
END
END
TRUE
FALSE
+ Lưu đồ cú pháp .
Next
Next
VÝ dô 1/ LËp ch¬ng tr×nh tÝnh tæng sau:
S=1 + 2 + 3 + ... + N
Víi N nhËp ®îc vµo tõ bµn phÝm
d/ VÝ dô:
Next
Next
Program VDU1;
Uses CRT;
Var i,n, S:Integer;
Begin
Clrscr;
S=0; i:=1;
Write(' Vào giá trị của N=');Readln(N);
While i<=N do { Kiểm tra điều kiện BT Logic )
Begin
S:=S + i;
S:=S + i;
i:= i +1;
i:= i +1;
{ Thay đổi BT điều kiện )
End;
Writeln( Tổng S= , S:2 );
Readln;
End.
Nội dung chương trình
Minh họa
Vòng
Vòng
lặp
lặp
Tổng S
Tổng S
( S=S + I )
( S=S + I )
Giá trị I
Giá trị I
0
0
0
0
1
1
1
1
1
1
2
2
2
2
1+2=3
1+2=3
3
3
3
3
3+3=6
3+3=6
4
4
4
4
6+4=10
6+4=10
5
5
Ví dụ: Nhập N= 4
Ví dụ: Nhập N= 4
Next
Next
Ví dụ 2/ Cho biết kết quả của X trong chương trình sau, giải thích:
Program VDU2;
Uses Crt;
Var a, b: Boolean;
X:Real;
Begin
a:=True; b:=a; X:=0;
While a OR b do
Begin
X:= 2*x +1;
if x>0 then
begin
a:=False;
if x<50 then b:= False;
end;
Writeln( Giá trị X=, X: 4:2);
End;
Readln;
End.
Minh h a
Kết quả X 7 2 3 1
Em hãy chọn kết quả đúng bằng cách đánh dấu ( )
vào ô phía dưới tương ứng, giải thích
Next
Next
6.2.2. Vòng lặp REPEAT ... UNTIL
6.2.2. Vòng lặp REPEAT ... UNTIL
a/ Chức năng: Lệnh dùng để lặp đi lặp lại những đoạn chương trình có
số lần chưa biết trước.
b/ Cú pháp lệnh:
REPEAT
< công việc > ;
UNTIL < ĐK_BTL >;
Trong đó:
+ Repeat và Until: là các từ khóa lệnh
+ < ĐK_BTL >:Là biểu thức Logic có thể nhận giá trị TRUE
( đúng ) hoặc FALSE ( sai )
+ < Công việc >: Có thể là một câu lệnh hay một nhóm lệnh
(nhóm lệnh hay gọi là lệnh ghép không cần đặt trong khối Begin
End )
c/ Lưu đồ cú pháp và sự hoạt động của lệnh.
Next
Next