Vòng lặp For .. Do trong Pascal
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 đó:
Bài viết này được đăng tại [free tuts .net]
- 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
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:
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.