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

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 tức, đó là lệnh break. Lệnh này rất hữu ích trong trường hợp bạn muốn dừng vòng lặp bất ngờ mà không cần phải chờ đợi điều kiện lặp.

1. Break trong Pascal hoạt động ra sao?

Break trong Pascal có hai cách sử dụng chính như sau:

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.

Khi gặp câu lệnh break bên trong một vòng lặp, vòng lặp sẽ bị chấm dứt ngay lập tức và chương trình sẽ tiếp tục biên dịch ở câu lệnh tiếp theo phía sau vòng lặp. Ngoài ra break cũng có thể đặt trong lệnh CASE để kết thúc lệnh rẻ nhánh này.

Nếu bạn đang sử dụng các vòng lặp lồng nhau (tức là, một vòng lặp bên trong một vòng lặp khác), câu lệnh break sẽ dừng việc thực thi vòng lặp trong cùng và bắt đầu thực thi dòng mã tiếp theo sau phía sau block của vòng lặp.

Một trường hợp rất hay đó là trong vòng lặp while sẽ xảy ra tình trạng lặp vô hạn nếu điều kiện lặp luôn đúng. Lúc này nếu ta đưa lệnh break vào là có thể dừng vòng lặp ngay.

Cú pháp lệnh Break như sau:

break;

Nhìn có vẻ đơn giản, vấn đề quan trọng là bạn phải biết cách đặt nó ở đâu để giải quyết thuật toán.

Tham khảo lược đồ hoạt động của break.

cpp break statement jpg

Ví dụ: Viết chương trình lặp từ 1 đến 10 trong vòng lặp while.

Trước tiên mình sẽ giải bài này bằng cách không có lệnh break như sau:

program BreakPascalFreetuts;
var
    a : integer;
begin
    a := 1;
    while (a < 16) do
    begin
        writeln(a);
        a := a + 1;
    end;
    readln;
end.

Bây giờ đề bài muốn giữ nguyên đoạn code trên, nhưng chỉ lặp tới 5 mà thôi. Lúc này ta phải kết hợp lệnh if và break để dừng vòng lặp ngay khi in ra số 5 như sau:

program BreakPascalFreetuts;
var
    a : integer;
begin
    a := 1;
    while (a < 16) do
    begin
        writeln(a);
        a := a + 1;
		if (a = 6) then
			break;
    end;
    readln;
end.

Chạy lên bạn sẽ thu được kết quả như sau:

1
2
3
4
5

2. Break trong vòng lặp lồng nhau

Bây giờ hãy làm một ví dụ về lệnh break sẽ hoạt động ra sao nếu được đặt trong hai vòng lặp được lồng nhau.

Trước tiên hãy lấy lại ví dụ mà mình đã làm ở bài trước 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.

Đây là đoạn code sẽ in ra bảng cửu chương từ 2 đến 9 với số dòng nhân là từ 1 đến 9. Tuy nhiên bây giờ mình muốn chỉ in ra số dòng nhân từ 1 đến 5 thôi thì có thể giữ nguyên chương trình này và bổ sung lệnh break vào.

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

    // cong them 1 cho b

    if (b = 5) then
        break;

    b := b + 1;
end;

Có một chút thay đổi, giờ mình muốn in ra bảng cửu chương từ 2 đến 5 mà thôi, lúc này lệnh break phải đặt ở vòng lặp đầu tiên.

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;
	
		
        if (a = 5) then
            break;
            
        // cong them 1 cho a
        a := a + 1;
    end;
    readln;
end.

Như vậy là mình đã giới thiệu xong lệnh break trong Pascal, đây là một lệnh rất hữu ích và được sử dụng khá nhiều khi làm thực tế. Bạn phải hiểu nguyên lý hoạt động để phân biết với những lệnh khác như goto, continue ở những bài tiếp theo.

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…

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 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