Cấu trúc lặp trong Pascal

Lập trình Pascal

Trong Pascal, có hai loại cấu trúc lặp: for và while.

Cấu trúc lặp for trong Pascal sử dụng để thực hiện một số lần lặp cố định. Cú pháp của cấu trúc lặp for như sau:

for biến := giá_trị_bắt_đầu to giá_trị_kết_thúc do
begin
  // các lệnh được thực thi trong vòng lặp
end;

Trong đó, biến là biến được sử dụng để lưu trữ giá trị hiện tại của vòng lặp, giá_trị_bắt_đầu là giá trị khởi đầu của biến, giá_trị_kết_thúc là giá trị kết thúc của biến.

Ví dụ, chương trình sau in ra các số từ 1 đến 10:

program LapFor;

var
  i: integer;

begin
  for i := 1 to 10 do
  begin
    writeln(i);
  end;
end.

Cấu trúc lặp while trong Pascal sử dụng để thực hiện lặp lại các lệnh cho đến khi một điều kiện được thỏa mãn. Cú pháp của cấu trúc lặp while như sau:

while điều_kiện do
begin
  // các lệnh được thực thi trong vòng lặp
end;

Trong đó, điều_kiện là một biểu thức điều kiện kiểm tra trong mỗi lần lặp. Nếu điều_kiện trả về true, vòng lặp sẽ tiếp tục, nếu điều_kiện trả về false, vòng lặp sẽ kết thúc.

Ví dụ, chương trình sau in ra các số nguyên dương lẻ nhỏ hơn 10:

program LapWhile;

var
  i: integer;

begin
  i := 1;
  while i < 10 do
  begin
    writeln(i);
    i := i + 2;
  end;
end.

Chương trình sử dụng biến i để lưu trữ giá trị hiện tại của vòng lặp. Trong mỗi lần lặp, chương trình kiểm tra xem i có nhỏ hơn 10 không, nếu đúng, chương trình sẽ in ra giá trị của i và tăng giá trị của i lên 2 để tiếp tục vòng lặp. Nếu i không nhỏ hơn 10, vòng lặp sẽ kết thúc.

Trong Pascal, ngoài cấu trúc lặp for và while, còn có hai cấu trúc lặp khác là do..while và repeat..until.

Cấu trúc do..while được sử dụng để lặp lại các lệnh ít nhất một lần, sau đó kiểm tra một điều kiện để quyết định có tiếp tục lặp hay không. Cú pháp của cấu trúc do..while như sau:

repeat
  // các lệnh được thực thi trong vòng lặp
until điều_kiện;

Trong đó, điều_kiện là một biểu thức điều kiện kiểm tra trong mỗi lần lặp. Vòng lặp do..while sẽ được thực thi ít nhất một lần, sau đó điều_kiện sẽ được kiểm tra. Nếu điều_kiện trả về true, vòng lặp sẽ tiếp tục, nếu điều_kiện trả về false, vòng lặp sẽ kết thúc.

Ví dụ, chương trình sau yêu cầu người dùng nhập một số nguyên dương và in ra các số nguyên dương lẻ nhỏ hơn số đó:

program LapDoWhile;

var
  n, i: integer;

begin
  repeat
    write('Nhap mot so nguyen duong: ');
    readln(n);
  until n > 0;

  i := 1;
  repeat
    writeln(i);
    i := i + 2;
  until i >= n;
end.

Trong chương trình này, vòng lặp đầu tiên sẽ yêu cầu người dùng nhập một số nguyên dương và lặp lại việc yêu cầu đó cho đến khi người dùng nhập đúng giá trị. Sau đó, vòng lặp thứ hai sẽ in ra các số nguyên dương lẻ nhỏ hơn số đã nhập.

Cấu trúc repeat..until cũng được sử dụng để lặp lại các lệnh và kiểm tra một điều kiện để quyết định có tiếp tục lặp hay không. Tuy nhiên, điều kiện được kiểm tra ở cuối vòng lặp. Cú pháp của cấu trúc repeat..until như sau:

repeat
  // các lệnh được thực thi trong vòng lặp
until điều_kiện;

Trong đó, điều_kiện là một biểu thức điều kiện kiểm tra trong mỗi lần lặp. Vòng lặp repeat..until sẽ được thực thi cho đến khi điều_kiện trả về true.

Ví dụ, chương trình sau yêu cầu người dùng nhập một số nguyên dương và in ra các số nguyên dương lẻ nhỏ hơn số đó, sử dụng cấu trúc repeat..until:

program LapRepeatUntil;

var
  n, i: integer;

begin
  repeat
    write('Nhap mot so nguyen duong: ');
    readln(n);
  until n > 0;

  i := 1;
  repeat
    writeln(i);
    i := i + 2;
  until i >= n;
end.

Trong chương trình này, vòng lặp đầu tiên sẽ yêu cầu người dùng nhập một số nguyên dương và lặp lại việc yêu cầu đó cho đến khi người dùng nhập đúng giá trị. Sau đó, vòng lặp thứ hai sẽ in ra các số nguyên dương lẻ nhỏ hơn số đã nhập.

Tuy nhiên, cấu trúc do..while và repeat..until thường ít được sử dụng hơn so với cấu trúc lặp for và while.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *