Học Pascal/Câu lệnh rẽ nhánh
Giao diện
Mệnh lệnh xét điều kiện để thực thi một việc
If...Then...
[sửa]IF <điều kiện> THEN <câu lệnh>;
{NẾU <điều kiện đúng> THÌ thực hiện <câu lệnh >;}
Trong đó:
- <điều kiện> là một biểu thức logic.
- <câu lệnh> là một câu lệnh đơn hoặc câu lệnh kép.
VD:
Code | Kết quả, giải thích |
---|---|
If 1+1>2 then write('Hôm nay mặt trời mọc đằng Tây!');
|
Kết quả:
|
m:=1;
if m=1 then write('Tháng 1 có 31 ngày');
|
Kết quả:
Giải thích:
|
If...Then...else...;
[sửa]IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>;
{NẾU <điều kiện đúng> THÌ thực hiện <câu lệnh 1> NẾU KHÔNG THÌ thực hiện <câu lệnh 2>;}
Trong đó:
- <điều kiện> là một biểu thức logic.
- <câu lệnh 1>, <câu lệnh 2> là một câu lệnh đơn hoặc câu lệnh kép.
Case...Of...End;
[sửa]Có hai dạng cấu trúc:
- Dạng 1:
CASE <tên biến> OF
<(dãy) giá trị 1> : <câu lệnh 1>;
<(dãy) giá trị 2> : <câu lệnh 2>;
...
<(dãy) giá trị N> : <câu lệnh N>;
END;
- Dạng 2:
CASE <tên biến> OF
<(dãy) giá trị 1> : <câu lệnh 1>;
<(dãy) giá trị 2> : <câu lệnh 2>;
...
<(dãy) giá trị N> : <câu lệnh N>;
ELSE <câu lệnh>
END;
Lưu ý: phải có câu lệnh END;
kết thúc (không có BEGIN
).
VD: Xét xem tháng ... năm ... có bao nhiêu ngày.
CASE thang OF
1,3,5,7,8,10,12 : ngay:=31;
4,6,9,11 : ngay:=30;
2 : if ((nam mod 100=0) and (nam mod 400=0)) or (nam mod 4=0) then ngay:=29 else ngay:=28;
END;
writeln('Tháng ',thang,' năm ',nam,' có ',ngay,' ngày.');
Code | Điều kiện, kết quả, giải thích |
---|---|
CASE thang OF
1,3,5,7,8,10,12 : ngay:=31;
4,6,9,11 : ngay:=30;
2 : if ((nam mod 100=0) and (nam mod 400=0)) or (nam mod 4=0) then ngay:=29 else ngay:=28;
END;
writeln('Tháng ',thang,' năm ',nam,' có ',ngay,' ngày.');
|
Điều kiện
Nếu biến thang có giá trị là 1; 3; 5; 7; 8; 10 hoặc 12 thì biến ngay sẽ được gán cho giá trị 31. Nếu biến thang có giá trị là 4; 6; 9 hoặc 11 thì biến ngay sẽ được gán cho giá trị 30. Nếu biến thang có giá trị là 2 thì tùy theo kết quả:
Kết quả
|