06/04/2021, 14:47

Vòng lặp For .. Do trong Pascal - Pascal căn bản

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For .. Do trong Pascal, đây là vòng lặp cơ bản và được sử dụng nhiều nhất trong lập trình Pascal. Trong pascal hiện có va vòng lặp chính, thứ nhất là for, thứ hai là vòng lặp while và cuối cùng là repeat. Mỗi loại có cú pháp khác nhau và tính chất ...

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For .. Do trong Pascal, đây là vòng lặp cơ bản và được sử dụng nhiều nhất trong lập trình Pascal.

Trong pascal hiện có va vòng lặp chính, thứ nhất là for, thứ hai là vòng lặp while và cuối cùng là repeat. Mỗi loại có cú pháp khác nhau và tính chất khác nhau. Sau đây ta sẽ nói đến for trước.

1. Vòng lặp For .. do trong Pascal

Vòng lặp for .. do là một cấu trúc điều khiển cho phép bạn viết một chương trình có tính lặp đi lặp lại với số lần cụ thể. Cú pháp của nó như sau:

for <variable-name> := <initial_value> 
   to <down_to> <final_value> do 
        S;

Trong đó:

  • variable-name là tên biến điều khiển vòng lặp
  • initial_value là lần lặp đầu tiên
  • final_value là lần lặp cuối, tổng số lần lặp được tính từ initial_value đến final_value
  • S là những lệnh sẽ được chạy trong vòng lặp. Nếu có nhiều lệnh thì phải đặt trong khối BEGIN ... END

pascal for do loop jpg
HÌnh: internet

Giả sử bạn muốn in ra các số từ 1 đến 5 thì có thể viết theo cách thông thường như sau:

program forLoop;
begin
      writeln('1');
      writeln('2');
      writeln('3');
      writeln('4');
      writeln('5');
end.

Nhưng nếu mình muốn in ra từ 1 đến 1000, thậm chí là 1.000.000 lần thì phải làm sao? Nếu viết thủ công như vậy thì là điều rất khó, mất khá nhiều thời gian.

Áp dụng cấu trúc vòng lặp for thì mình sẽ viết lại bài này như sau:

program forLoop;
var
   a: integer;

begin
   for a := 1  to 5 do
   begin
      writeln('Gia tri cua a la: ', a);
   end;
end.

Các bước thực hiện như sau:

  • Bước 1: Lặp lần thứ nhất, a bắt đầu từ 1, vì nó nằm trong khoảng từ 1 đến 5 nên khối lệnh bên trong được thực hiện.
  • Bước 2, 3, 4, 5: Tương tự, a sẽ có giá trị lần lượt là 2, 3, 4, 5 và nó nằm trong khoảng 1 - 5 nên vẫn thực hiện.
  • Bước 6: Lúc này a = 6, nằm ngoài phạm vi lặp nên vòng lặp hết thúc.

Kết quả in ra màn hình các số từ 1 đến 5.

Gia tri cua a la: 1
Gia tri cua a la: 2
Gia tri cua a la: 3
Gia tri cua a la: 4
Gia tri cua a la: 5

2. Vòng lặp for .. do lồng nhau

Trong pascal bạn có thể đặt vòng lặp for này nằm trong vòng lặp for khác để tạo ra cấu trúc lồng nhau. Lúc này tổng số lần lặp sẽ là cấp số nhân giữa vòng lặp ngoài (cha) và vòng lặp trong (con).

Ví dụ vòng lặp cha lặp từ 1 đến 5, vòng lặp con lặp từ 1 đến 10 thì tổng số lần lặp là 5 x 10 = 50.

Cấu trúc cú pháp cơ bản như sau:

for a := 1  to 5 do
begin
   for b := 1 to 10 do
   begin
      ...
   end;
end;

Trong đó các số điều khiển vòng lặp có thể thay đổi theo yêu cầu của bài toán bạn cần lập trình.

Ví dụ: Mình cần in ra bảng cửu chương thì có thể viết như sau:

program IfThenPascal;
var 
    a: integer;
    b: integer;
begin
    for a := 2  to 9 do
    begin
        for b := 1 to 9 do
	begin
            writeln(a, ' x ', b, ' = ', (a * b));
	end;
    end;
    readln;
end.

Chạy chương trình này bạn sẽ thu được kết quả như sau:

bang cuu chuong pascal JPG

Trên là kiến thức cơ bản của vòng lặp for trong Pascal. Đây là một vòng lặp rất quan trọng không chỉ ở Pascal mà ở bất kì một ngôn ngữ khác, vì vậy bạn cần phải hiểu ý nghĩa của nó để áp dụng, cũng như sau này sẽ phân biệt với các vòng lặp while và repeat.

Bùi Văn Nam

27 chủ đề

7090 bài viết

0