Học Pascal/Vòng lặp

Tủ sách mở Wikibooks
Buớc tưới chuyển hướng Bước tới tìm kiếm

Khái niệm[sửa]

Vòng lặp được dùng để thực thi một số việc giống nhau, được lặp đi lặp lại nhiều lần cho đến khi tìm được kết quả. ==Lặp với số lần biết trước==

For...Do[sửa]

Cú pháp
  • Dạng tiến:
FOR <biến đếm> := <giá tr đầu> TO <giá tr cui> DO <câu lnh>;
  • Dạng lùi:
FOR <biến đếm> := <giá tr cui> DOWNTO <giá tr đầu> DO <câu lnh>;

Trong đó: Chữ xiên

  • <giá trị đầu> ≤ <giá trị cuối>.
  • <câu lệnh> là câu lệnh đơn hoặc câu lệnh kép.
Thí dụ
For i:=1 to 1000 Do                {Vòng lặp đếm đúng 1000 thì ngừng}
 writeln(i,#32);
<source>

<source lang="pascal">
For i:=10 downto 1 Do               {Vòng lặp đếm ngược từ 10 đến 1}'''''Chữ đậm'''
  writeln(i,#32);
<source>

==Lp vi s ln không biết trước==
===While...Do===

==== Cú pháp ====
<source lang="pascal">
WHILE <điu kin> DO <câu lnh>;

Trong đó:

  • <điều kiện> là biểu thức logic.
    <câu lệnh> là một câu lệnh đơn hoặc ghép.

Quá trình dịch và thực hiện[sửa]

Khi <điều kiện> đúng, While...do sẽ thực hiện <câu lệnh> cho đến khi <điều kiện> sai.

While-do

Kill this love Boy with luv

Thí dụ[sửa]

Đếm số
i := 0;
While (i<10) Do
 Begin 
  i := i + 1;
  write(i,' ');
 End;
1 2 3 4 5 6 7 8 9
Chuẩn hoá xâu
s:='   Wikibooks Tu    sach mo    cho    mot the gioi     mo     ';
While (s[1]=#' ') do delete(s,1,1);
While (s[length(s)]=' ') do delete(s,length(s),1);
while (pos('  ',s)<>0) do delete(s,pos('  ',s),1);
writeln('Xâu chuẩn hoá: ',s);
Xâu chuẩn hoá: Wikibooks Tu sach mo cho mot the gioi mo

Repeat...Until[sửa]

Cú pháp
REPEAT <câu lnh> UNTIL <điu kin>;
Thí dụ

<source lang="pascal"> i := 0; Repeat

i:= i + 1;
write(i,';')

Until i=10;

1 2 3 4 5 6 7 8 9 10

<source lang="pascal"> s:='Wikibooks tieng Viet'; repeat

  delete(s,1,1);