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 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 có công dụng giống như vòng lặp for, chỉ khác một điều là ta không cần biết trước tổng số lần lặp.

Vòng lặp while cũng đóng vai trò rất quan trọng, được sử dụng rất nhiều trong lập trình thực tế. Không chỉ ở Pascal mà các ngôn ngữ như C, C++, PHP đều xem trong while.

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. Vòng lặp while trong Pascal

Lệnh lặp while-do trong Pascal cho phép tính toán lặp đi lặp lại cho đến khi một số điều kiện kiểm tra được thỏa mãn. Nói cách khác, nó liên tục thực thi một câu lệnh đích, miễn điều kiện lặp đã cho là đúng.

Cú pháp như sau:

while (condition) do S;

Trong đó:

  • condition là điều kiện lặp. Nếu condition true thì vòng lặp thực hiện, false thì dừng vòng lặp.
  • S là những lệnh sẽ thực hiện nếu condition true. Nếu nhiều lệnh thì phải đặt trong khối BEGIN .. END

Ví dụ: In ra các số từ 1 đến 5. Bài toán này đã được giải ở vòng lặp for, bây giờ mình sử dụng vòng lặp while để xử lý như sau.

program WhileLoopFreetuts;
var
    number: integer;
begin
    number : = 1;
    while number <= 5 do
    begin
        writeln(number);
        number : = number + 1;
    end;
    readln;
end.

Như bạn thấy, trong thân vòng lặp mình đã có một đoạn code như sau:

number : = number + 1;

Dòng này có công dụng là tăng giá trị của number lên 1 sau mỗi lần lặp, điều này sẽ giúp chương trình tránh bị lặp vô hạn bởi điều kiện dừng là number > 5.

2. Vòng lặp for lồng nhau trong Pascal

Tương tự như vòng lặp for, vòng lặp while trong Pascal cũng cho phép bạn đặt lồng nhau. Thực tế điều này được sử dụng rất thường xuyên khi xây dựng những ứng dụng thực tiễn.

Vòng lặp for lồng nhau tức là đặt vòng while A nằm trong B, cấu trúc như sau:

while (condition_A)
begin
    while (condition_B)
    begin
        // S
    end;
end;

Quay lại giải bài toán in ra bảng cửu chương, ta sẽ sử dụng vòng lặp while để thực hiện như sau:

program WhileLoopFreetuts;
var 
    a: integer;
    b: integer;
begin
    a := 2;

    while (a <= 9) do
    begin
        // phai gan lai b = 1 tai vi phan tu dau tien la 1
        // neu ban khong gan lai thi sai thuat toan
        b := 1;

        while (b <= 9) do
        begin
            writeln(a, ' x ', b, ' = ', (a * b));

            // cong them 1 cho b
            b := b + 1;
        end;

        // cong them 1 cho a
        a := a + 1;
    end;
    readln;
end.

Nếu bạn là người mới bắt đầu học lập trình thì khi giải bài toán này có vẻ rất khó hiểu phải không? Điểm khó nhất là dòng gán lại b = 1, đây là dòng quan trọng vì nó quyết định đến kết quả in ra của bảng cửu chương.

Không tin bạn hãy thử bỏ dòng này, sau đó chạy lên thì kết quả chỉ in ra bảng cửu chương 2. Lý do là sau lần lặp này thì b đã có giá trị là 10, nên các lần lặp sau vòng lặp con sẽ không được thực hiện.

Như vậy là mình đã giới thiệu xong vòng lặp whiel trong Pascal. Nhìn chúng nó cũng không khó, miễn là bạn chịu khó thực hiện theo hai ví dụ mà minh đã đưa ra, sau đó thay đổi giá trị và suy nghĩ xem tại sao lại có được kết quả như vậy. Chúc bạn thành công nhé.

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 Repeat .. Until trong Pascal

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…

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