Học Pascal/Vòng lặp

Tủ sách mở Wikibooks
Bước tới điều 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[sửa]

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 đó:

  • <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);
For i:=10 downto 1 Do               {Vòng lặp đếm ngược từ 10 đến 1}
  writeln(i,#32);

Lặp với số lần không biết trước[sửa]

While...Do[sửa]

Cú pháp[sửa]

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

Thí dụ[sửa]

Đếm số
i := 0;
While (i<10) Do
 Begin 
  i := O + 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>;

Lưu ý: Khi <điều kiện> sai, Repeat...Until sẽ thực hiện <câu lệnh> cho đến khi <điều kiện> đúng.

Thí dụ
i := 0;
Repeat
 i:= i + 1;
 write(i,';')
Until i=10;
Kết quả:
1 2 3 4 5 6 7 8 9 10
s:='Wikibooks tieng Viet';
repeat
   delete(s,1,1);
until s[1]<>' ';
writeln(s);
Kết quả:
'ikibooks tieng Viet'

→ bị xoá chữ 'W'

Học Pascal/Câu lệnh rẽ nhánh-->