======Conditional Statements======
===== If - Statements =====
^ Statements ^ Syntax ^
|If..Then|
if {Condition} then {Statement};
|
|If..Then..Else|
if {Condition} then
{Statement1}
else
{Statement2};
|
|If..Then/ Else If..Then/ Else|
if {Condition1} then
{Statement1}
else if {Condition2} then
{Statement2}
else
{Statement3};
|
จากตารางข้างบน เป็นรูปแบบ If ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้
|If..Then|
if {Condition} then
begin
{Statement1};
{Statement2};
{...};
end;
|
|If..Then..Else|
if {Condition} then
begin
{Statement1};
{Statement2};
{...};
end
else
begin
{Statement3};
{Statement4};
{...};
end;
|
|If..Then/ Else If..Then/ Else|
//---Single Statement---
if {Condition1} then
begin
{Statement1};
{Statement2};
{...};
end
else if {Condition2} then
begin
{Statement3};
{Statement4};
{...};
end
else
begin
{Statement5};
{Statement6};
{...};
end;
|
\\
===== Case - Statements =====
^ Statements ^ Syntax ^
|Exact value|
//---Single Statement---
case {Var} of
1: {Statement1};
2: {Statement2};
3: {Statement3};
else {Statement4};
end;
|
|Range|
case {Var} of
1..10: {Statement1};
11..20: {Statement2};
21..30: {Statement3};
else {Statement4};
end;
|
จากตารางข้างบน เป็นรูปแบบ Case ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้
^ Statements ^ Syntax ^
|Exact value|
case {Var} of
1: begin
{Statement1};
{Statement2};
...;
end;
2: begin
{Statement3};
{Statement4};
{Statement5};
...
end;
3: {Statement6};
else {Statement7};
end;
|
|Range|
case {Var} of
1..10: begin
{Statement1};
{Statement2};
...;
end;
11..20: begin
{Statement3};
{Statement4};
...;
end;
21..30: begin
{Statement5};
{Statement6};
...;
end;
else begin
{Statement7};
{Statement8};
...;
end;
end;
|
\\
===== Break, Continue, Exit and Goto =====
คำสั่ง Break, Continue, Exit และ Goto สรุปได้ดังนี้
^ Procedures ^ Meaning ^ Format ^
| Break | ออกจาก Loop ปัจจุบัน (For/While/Repeat) |
for i:=1 to 10 do
if i=5 then break;
writeln('i = ',i); //i = 5
readln;
|
|Continue| สิ้นสุด Loop ปัจจุบันทันที เพื่อเริ่ม Loop ปัจจุบันใหม่ในรอบถัดไป (For/While/Repeat) |
for i:=1 to 5 do
begin
if i=4 then continue;
writeln('i = ',i); //i = 4 won't be showed
end;
|
|Exit| ออกจาก Sub-Program ปัจจุบัน (Procedure/Function) |
procedure MyProc;
begin
exit;
writeln('After Exit'); //This won't be shown
end;
|
|Goto| ไปยัง Label ที่ระบุ |
label PointA,PointB; //declare labels
BEGIN
Goto PointB;
PointA:
wrtieln('Passing PointA');
exit; //Exit the program
PointB:
wrtieln('Passing PointB');
Goto PointA;
END.
|