User Tools

Site Tools


Sidebar


Introduction


Basic Tutorials


Advance Tutorials


Useful Techniques


Examples

  • Simple Pipe Weight Calculator
  • Unit Convertor

Sidebar

tutorial:conditionalstatement

This is an old revision of the document!


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-Statement: Multiple Statements

If-Statement: Multiple Statements

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;


Example-1: If Statements (If..Else If..Else)

Example-1: If Statements (If..Else If..Else)

ตัวอย่าง โปรแกรมตัดคะแนน ให้กลายเป็นเกรด A-F

program Nested_If_Then_Else;

var Score:real;

begin
  write('Please insert your score(0-100): ');
  readln(Score);

  if (Score<50)and(Score>0) then
     writeln('Your Grade is : F')
  else if Score<60 then
     writeln('Your Grade is : D')
  else if Score<70 then
     writeln('Your Grade is : C')
  else if Score<80 then
     writeln('Your Grade is : B')
  else if Score<80 then
     writeln('Excellent!, your gade is : A')
  else
     writeln('Your score is not correct!');

  readln();
end.    

Example-2: If Statements (Nested If)

Example-2: If Statements (Nested If)

ตัวอย่าง โปรแกรมตัดคะแนน ให้กลายเป็นเกรด A-F
ข้อสังเกต มีการใช้ If ซ้อน If (Nested If) นอกจากนี้ให้ลองสังเกต If..Then..Else if..Else ในบรรทัดที่ 12-21 จะเห็นว่าไม่มีการใช้ Begin … End เพราะถือเป็น Blog เดียวกัน

program Nested_If_Then_Else;

var Score:real;

begin
  write('Please insert your score(0-100): ');
  readln(Score);

  if (Score<0)or(Score>100) then
    writeln('Your score is not correct!!')
  else
    if Score<50 then
       writeln('Your Grade is : F')
    else if Score<60 then
       writeln('Your Grade is : D')
    else if Score<70 then
       writeln('Your Grade is : C')
    else if Score<80 then
       writeln('Your Grade is : B')
    else
       writeln('Excellent!, your Grade is : A');

  readln();
end.    



Case - Statements

Statements Syntax
Exact value
//---Single Statement---
case {Var} of 
  1: {Statement1};
  2: {Statement2};
  3: {Statement3};
  else {Statement4};
end; 

//---Multiple Statements---
case {Var} of 
  1: begin 
      {Statement1};
      {Statement2};
      ...;
      end;
  2: begin
      {Statement3};
      {Statement4};
      {Statement5};
      ...
      end;
  3: {Statement6};
  else {Statement7};
end; 
Range
//---Single Statement---
case {Var} of 
  1..10: {Statement1};
  11..20: {Statement2};
  21..30: {Statement3};
  else {Statement4};
end; 


Break, Continue and Goto

tutorial/conditionalstatement.1546827223.txt.gz · Last modified: 2019/01/07 09:13 by admin