Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Pascal - Vòng lặp
Nội dung xem thử
Mô tả chi tiết
Vßng LÆp
I. Vßng lÆp cã sè bíc lÆp c¸c ®Þnh
Tríc hÕt chóng ta xÐt vÝ dô sau :
Gi¶ sö ta ph¶i viÕt ra mµn h×nh c¸c sè tõ 0 ®Õn 24, mçi sè chiÕm 1 dßng
ViÖc nµy cã thÓ thùc hiÖn b»ng 25 lÖnh Writeln
Writeln(0)
Writeln(1)
..........
Writeln(24)
C¸ch viÕt nµy râ rµng lµ dµi dßng vµ tÎ nh¹t trong khi nã cã quy luËt
Chóng ta cã thÓ thay thÕ b»ng lÖnh Writeln(I) trong ®ã I lµ mét biÕn nguyªn bÊt k× nhËn gi¸ trÞ tõ
0..24
FOR I:=0 TO 24 DO Writeln(I)
Vßng lÆp nµy cho I ch¹y tõ 0 ®Õn 24 víi mçi gi¸ trÞ cña I, m¸y sÏ thùc hiÖn c«ng viÖc viÕt sau ch÷
DO (lµm), ë ®©y lµ Writeln(I)
MÉu viÕt tæng qu¸t :
FOR BiÕn_®iÒu_khiÓn:=Gi¸_trÞ_®Çu TO Gi¸_trÞ_cuèi DO <viÖc>
Vµ ngîc l¹i ta cã mÉu :
FOR BiÕn_®iÒu_khiÓn:=Gi¸_trÞ_®Çu DOWNTO Gi¸_trÞ_cuèi DO <viÖc>
II. Vßng lÆp cã sè bíc lÆp kh«ng x¸c ®Þnh
Cã 2 kiÓu vßng lÆp kh«ng x¸c ®Þnh
REPEAT WHILE <biÓu thøc Boolean>DO
<c«ng viÖc>; BEGIN
UNTIL <BiÓu thøc Boolean>; <c«ng viÖc>;
END;
Trong lÖnh REPEAT ... UNTIL ... m¸y tÝnh sÏ lÆp ®i lÆp l¹i chu k× sau : thùc hiÖn <c«ng viÖc> cho
®Õn khi <biÓu thøc Boolean> cã gi¸ trÞ TRUE. Gi÷a REPEAT vµ UNTIL kh«ng cÇn dïng BEGIN vµ
END
Cßn trong vßng lÆp WHILE ... DO m¸y tÝnh sÏ lÆp ®i lÆp l¹i chu k× sau : chõng nµo <biÓu thøc
Boolean> cã gi¸ trÞ TRUE th× ®i thùc hiÖn <c«ng viÖc> ®îc ®Æt gi÷a BEGIN vµ END
C¶ hai vßng lÆp ®Òu cã sè lÇn lÆp kh«ng x¸c ®Þnh tríc. CÇn ph¶i lu ý lµ trong khi thùc hiÖn <c«ng
viÖc> lÆp, ta ph¶i cã mét lÖnh lµm thay ®æi mét biÕn trong biÓu thøc Boolean ®Ó thay ®æi gi¸ trÞ biÓu
thøc nh»m dõng vßng lÆp l¹i v× nÕu kh«ng vßng lÆp sÏ ch¹y m·i kh«ng dõng
VD : TÝnh A = 1 + 1/2 + 1/3 + ... + 1/N
Dïng REPEAT vµ cho I ch¹y thuËn
A:=0;I:=1;
REPEAT
A := A + 1/I;
I := I + 1;
UNTIL I>N;
Writeln('Tæng = ',A:10:8);
Dïng WHILE vµ cho I ch¹y ngîc
A:=0;I:=N;
WHILE I>0 DO
BEGIN
A := A + 1/I;
I := I - 1;
END;
Bµi 1:{ NhËp sè nguyªn d¬ng N. Sau ®ã nhËp N sè nguyªn d¬ng. T×m sè lín nhÊt,
nhá nhÊt vµ tÝnh trung b×nh cña c¸c phÇn tö}
var i,a,n:integer;{Khai b¸o i,a,n kiÓu integer}
max,min,tong:integer;{Khai b¸o max,min,tong kiÓu integer}
begin
write('N = ');readln(n);{NhËp N}
min:=maxint;{G¸n min b»ng maxint}
max:=0;tong:=0;{G¸n max vµ tæng b»ng 0}
1