Câu lệnh If - Then - Else

Trong Pascal, câu lệnh điều kiện được viết như sau:

Dạng thiếu:

If <Điều kiện> Then <Công việc>; 

Trong đó <Điều kiện> là biểu thức hoặc biến có kiểu dữ liệu là Boolean. Khi <Điều kiện> nhận giá trị là True thì <Công việc> sẽ được thực hiện. Khi <Điều kiện> nhận giá trị là False thì không làm gì cả. Ví dụ:

If (x mod 2) = 0 Then Writeln(x,' la so chan');

Chúng ta hãy thử xem một ví dụ hoàn chỉnh:

Program ifChecking;
Var a : Integer;
Begin
    a := 10;  
    If a < 20 Then { Nếu a bé hơn 20 thì thông báo: }
        Writeln('a be hon 20 ' );
    Writeln('gia tri cua a la: ', a);
End.

Khi đoạn code trên được biên dịch và thực thi, nó in ra kết quả như sau:

a be hon 20
gia tri cua a la: 10

Dạng đầy đủ:

If <Điều kiện> Then 
    <Công việc 1> 
Else 
    <Công việc 2>; 

Tương tự như dạng thiếu tuy nhiên khi <Điều kiện> nhận giá trị là False thì <Công việc 2> sẽ được thực thi thay vì không làm gì cả như dạng thiếu.

Ví dụ:

If (x mod 2) = 0 Then 
    Writeln(x,' la so chan') 
Else 
    Writeln(x,' la so le');
Lưu ý dấu ; và từ khoá Else

Câu lệnh đứng trước Else thì không được có dấu chấm phẩy ; vì Pascal hiểu là gặp dấu chấm phẩy ; thì kết thúc luôn câu lệnh If.

Chúng ta hãy thử xem một ví dụ hoàn chỉnh:

Program ifelseChecking;
Var a : Integer;
Begin
    a := 100;
    If a < 20 Then { Nếu a bé hơn 20 thì thông báo: }
        Writeln('a be hon 20')
    Else (* Nếu điều kiện sai thì in ra: *) 
        Writeln('a khong lon hon 20' );
    writeln('gia tri cua a la: ', a);
end.

Khi đoạn code trên được biên dịch và thực thi, nó in ra kết quả như sau:

a khong be hon 20
gia tri cua a la: 100

Và đương nhiên câu lệnh sau Then và sau Else cũng có thể là một khối lệnh được bao bởi cặp BeginEnd hoặc thậm chí là một câu lệnh If khác.

Program ifelse_ifelseChecking;
Var a : Integer;

Begin
    a := 100;
    If a = 10 Then
      Writeln('gia tri cua a = 10')
    Else If a = 20 Then
      Writeln('gia tri cua a = 20')
    Else If a = 30 Then 
      Writeln('gia tri cua a = 30')
    Else
        Begin
            Writeln('khong co gia tri nao phu hop');
            Writeln('chinh xac gia tri cua a = ', a);
        End;
End.

Khi đoạn code trên được biên dịch và thực thi, nó in ra kết quả như sau:

khong co gia tri nao phu hop
chinh xac gia tri cua a = 100

Bình luận