MỞ ĐẦU
CĂN BẢN
LỆNH RẺ NHÁNH
VÒNG LẶP
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Vòng lặp Repeat .. Until trong Pascal

Trong bài này mình sẽ giới thiệu vòng lặp repeat .. until trong Pascal, đây là vòng lặp thứ ba và cũng là vòng lặp cuối cùng được học trong chuỗi series Pascal căn bản này.

Repeat Until được đề cập cuối cùng là do nó rất ít được sử dụng trong thực tiễn, bởi khi nhìn vào rất khó để hiểu và quản lý được toàn bộ chương trình. Thay vào đó người ta hay sử dụng vòng lặp while để thay thế.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Repeat Until trong Pascal

Nếu vòng lặp while phải kiểm tra điều kiện trước khi lặp thì vòng lặp repeat lại khác, nó sẽ lặp trước rồi mới kiểm tra điều kiện cho lần lặp tiếp theo.

Chính vì lý do này mà số lần lặp tối thiểu của repeat là 1 lần. Điều này có nghĩa nếu bạn toán của bạn cho phép lặp 1 lần thì có thể sử dụng nó, còn không thì phải sử dụng vòng lặp khác.

Cú pháp của repeat until như sau:

repeat
   S1;
   S2;
   ...
   ...
   Sn;
until condition;

Trong đó S1, S2, Sn là chương trình chính của vòng lặp, còn condition là điều kiện cho lần lặp tiếp theo.

Trình biên dịch sẽ đi từ trên xuống dưới, từ trái sang phải nên nó sẽ lặp tối thiểu 1 lần, sau kiểm tra nếu điều kiện không thỏa thì sẽ kết thúc vòng lặp.

pascal repeat until loop jpg
Sơ đồ lệnh repeat until trong Pascal

Ví dụ: Hãy in ra các số từ 1 đến 10 bằng cách sử dụng repeat.

program RepeatLoopFreetuts;
var 
    a: integer;
begin
    a := 1;
    repeat
        writeln(a);
        a := a + 1;
    until (a > 5);
    readln;
end.

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

1
2
3
4
5

Ở lệnh until thực ra bạn cũng có thể thay thế điều kiện lặp thành: until (a = 6), tức là khi a có giá trị là 6 thì lập tức dừng vòng lặp, lúc này thực tế thì chỉ mới lặp 5 lần mà thôi.

2. Repeat Until lồng nhau

Giống với những vòng lặp khác, repeat cho phép bạn lặp lồng nhau và điều này khiến cho chương trình trở nên khó bảo trì hơn mà thôi. Vì vậy lời khuyên là bạn không nên sử dụng lệnh này để tạo ra một chương trình với số lần lặp quá nhiều.

Cú pháp như sau:

repeat
   S1
   repeat
      S2
   until condition2;
until condition1;

Ví dụ: Viết chương trình in ra ma trận 4 x 4 toàn bộ ngôi sao như sau.

****
****
****
****
program RepeatMaTranFreetuts;
var 
    a : integer;
    b : integer;
begin
    a := 1;
    b := 1;
    repeat
        b := 1;

        repeat
            write('*');
            b := b + 1;
        until (b = 5);

        a := a + 1;
        writeln; // xuong hang
    until (a = 5);
    readln;
end.

Chạy chương trình bạn sẽ có được giao diện như sau:

repeat in ra ngoi sao JPG

Trên là cách sử dụng vòng lặp repeat trong Pascal. Nếu xem cấu trúc của cả ba vòng lặp for, while và repeat thì rõ ràng for và while được sử dụng nhiều hơn, bởi cấu trúc của nó đơn giản, dễ sử dụng và bảo trì. Bạn cứ tưởng tượng nếu sử dụng repeat lồng nhau 3, 4 lần thì chương trình sẽ rất rối, rất khó làm việc với teamwork.

Cùng chuyên mục:

Tạo function trong Pascal

Tạo function trong Pascal

Trong bài này ta sẽ học đến một phần rất hấp dẫn, đó là cách…

Lệnh Goto trong Pascal

Lệnh Goto trong Pascal

Trong bài này mình sẽ giới thiệu đến các bạn lệnh goto trong Pascal, đây…

Lệnh Continue trong Pascal

Lệnh Continue trong Pascal

Trong bài này chúng ta sẽ tìm hiểu lệnh continue trong Pascal, đây là lệnh…

Lệnh Break trong Pascal

Lệnh Break trong Pascal

Trong bài này mình sẽ tìm hiểu lệnh dùng để dừng vòng lặp ngay lập…

Vòng lặp while trong Pascal

Vòng lặp while trong Pascal

Trong bài này chúng ta sẽ tìm hiểu vòng lặp while trong Pascal, đây là…

Vòng lặp For .. Do trong Pascal

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…

Lệnh CASE trong Pascal

Lệnh CASE trong Pascal

Ở bài trước mình đã hướng dẫn sử dụng lệnh if dùng để rẻ nhánh…

Lệnh If .. Then trong Pascal

Lệnh If .. Then trong Pascal

Trong bài này chúng ta sẽ học lệnh rẻ nhánh if .. then trong Pascal,…

Khối lệnh begin .. end trong Pascal

Khối lệnh begin .. end trong Pascal

Bạn có thắc mắc BEGIN và END trong chương trình Pascal là gì không nào?…

Lệnh read và readln trong Pascal

Lệnh read và readln trong Pascal

Trong bài này chúng ta sẽ tìm hiểu hai lệnh dùng để đọc dữ liệu,…

Các lệnh OUTPUT trong Pascal

Các lệnh OUTPUT trong Pascal

Những bài trước chúng ta đã sử dụng một lệnh rất nhiều đó là lệnh…

Toán tử trong Pascal

Toán tử trong Pascal

Trong bài này chúng ta sẽ tìm hiểu về một số toán tử thường dùng…

Tạo kiểu dữ liệu (Type) trong Pascal

Tạo kiểu dữ liệu (Type) trong Pascal

Trong bài này chúng ta sẽ học cách sử dụng từ khóa Type trong Pascal,…

Hằng (const) trong Pascal

Hằng (const) trong Pascal

Hằng số (Const) thực chất cũng là một loại biến bình thường, nhưng có điểm…

Biến và kiểu dữ liệu trong Pascal

Biến và kiểu dữ liệu trong Pascal

Bảng từ khóa của ngôn ngữ Pascal

Bảng từ khóa của ngôn ngữ Pascal

Bảng từ khóa trong Pascal là danh sách những từ khóa mà bạn không được…

Cấu trúc chương trình Pascal

Cấu trúc chương trình Pascal

Viết chương trình Hello World với Pascal

Viết chương trình Hello World với Pascal

fadsfs

Hello World là một chương trình thế kỉ mà hầu như ngôn ngữ lập trình…

Top