User Tools

Site Tools


tutorial:conditionalstatement

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
tutorial:conditionalstatement [2019/01/07 09:13]
admin [If - Statements]
tutorial:conditionalstatement [2019/01/07 12:56]
admin [Break, Continue, Exit and Goto]
Line 70: Line 70:
  
  
- 
-<hidden Example-1: If Statements (If..Else If..Else)>​ 
-**ตัวอย่าง** โปรแกรมตัดคะแนน ให้กลายเป็นเกรด A-F\\ 
-<sxh delphi;​highlight:​ [9-21]> 
-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.    ​ 
-</​sxh> ​ 
-  ​ 
-</​hidden> ​ 
- 
-<hidden Example-2: If Statements (Nested If)> 
-**ตัวอย่าง** โปรแกรมตัดคะแนน ให้กลายเป็นเกรด A-F\\ 
-__**ข้อสังเกต**__ ​ มีการใช้ If ซ้อน If (Nested If)  
-นอกจากนี้ให้ลองสังเกต If..Then..Else if..Else ในบรรทัดที่ 12-21  
-จะเห็นว่าไม่มีการใช้ Begin ... End 
-เพราะถือเป็น Blog เดียวกัน\\ 
-<sxh delphi;​highlight:​ [9-21]> 
-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.    ​ 
-</​sxh> ​ 
-  ​ 
-</​hidden>​ \\ \\ 
  
  
Line 146: Line 81:
   2: {Statement2};​   2: {Statement2};​
   3: {Statement3};​   3: {Statement3};​
 +  else {Statement4};​
 +end; 
 +</​sxh>​ |
 +|Range|<​sxh delphi;>
 +case {Var} of 
 +  1..10: {Statement1};​
 +  11..20: {Statement2};​
 +  21..30: {Statement3};​
   else {Statement4};​   else {Statement4};​
 end;  end; 
  
-//---Multiple Statements---+</sxh> | 
 + 
 +จากตารางข้างบน เป็นรูปแบบ Case ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้ 
 + 
 + 
 +<hidden Case-Statements: ​Multiple Statements
 +^  Statements ​ ^  Syntax ​ ^  
 +|Exact value|<​sxh delphi;>
 case {Var} of  case {Var} of 
   1: begin    1: begin 
Line 167: Line 117:
 </​sxh>​ | </​sxh>​ |
 |Range|<​sxh delphi;> |Range|<​sxh delphi;>
-//---Single Statement--- 
 case {Var} of  case {Var} of 
-  1..10: {Statement1};​ +  1..10: ​begin  
-  11..20: {Statement2}; +      ​{Statement1}
-  21..30: {Statement3}; +      {Statement2};​ 
-  else {Statement4};+      ...; 
 +      end
 +  11..20: ​begin  
 +      ​{Statement3}
 +      {Statement4};​ 
 +      ...; 
 +      end
 +  21..30: ​begin  
 +      ​{Statement5}
 +      {Statement6};​ 
 +      ...; 
 +      end
 +  else begin  
 +      ​{Statement7}
 +      {Statement8};​ 
 +      ...; 
 +      end;
 end;  end; 
  
 </​sxh>​ | </​sxh>​ |
-\\ +</​hidden> ​\\ 
-===== Break, Continue and Goto =====+===== Break, Continue, Exit and Goto ===== 
 +คำสั่ง Break, Continue, Exit และ Goto สรุปได้ดังนี้  
 + 
 +^  Procedures ​ ^  Meaning ​ ^  Format ​ ^ 
 +| Break | ออกจาก Loop ปัจจุบัน (For/​While/​Repeat) |<sxh delphi;>​ 
 +  for i:=1 to 10 do 
 +    if i=5 then break; 
 + 
 +  writeln('​i = ',​i); ​ //i = 5 
 +  readln;  
 +</​sxh>​ | 
 +|Continue| สิ้นสุด Loop ปัจจุบันทันที เพื่อเริ่ม Loop ปัจจุบันใหม่ในรอบถัดไป (For/​While/​Repeat) |<sxh delphi;>​ 
 +  for i:=1 to 5 do 
 +  begin 
 +    if i=4 then continue; 
 +    writeln('​i = ',i); //i = 4 won't be showed 
 +  end;  
 +</​sxh>​ | 
 +|Exit| ออกจาก Sub-Program ปัจจุบัน (Procedure/​Function) |<sxh delphi;>​ 
 +procedure MyProc; 
 +begin 
 +  exit; 
 +  writeln('​After Exit'​);​ //This one won't be shown 
 +end; 
 +</​sxh>​ | 
 +|Goto| ไปยัง Label ที่กำหนด |<sxh delphi;>​ 
 +label PointA,​PointB;​ //declare labels 
 +BEGIN 
 + Goto PointB; 
 + ​PointA:​ 
 + ​wrtieln('​Passing PointA'​);​ 
 + exit; //Exit the program 
 + ​PointB:​ 
 + ​wrtieln('​Passing PointB'​);​ 
 + Goto PointA; 
 +END. 
 +</​sxh>​ |
tutorial/conditionalstatement.txt · Last modified: 2019/01/07 13:00 by admin