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
tutorial:conditionalstatement [2019/01/04 12:33]
admin [If - Statements]
tutorial:conditionalstatement [2019/01/07 13:00] (current)
admin [Break, Continue, Exit and Goto]
Line 3: Line 3:
 ^  Statements ​ ^  Syntax ​ ^  ^  Statements ​ ^  Syntax ​ ^ 
 |If..Then|<​sxh delphi;> |If..Then|<​sxh delphi;>
-//---Single Statement--- 
 if {Condition} then {Statement}; ​ if {Condition} then {Statement}; ​
- 
-//​---Multiple Statements--- 
-if {Condition} then  
- begin 
-  {Statement1};​ 
-  {Statement2};​ 
-  {...}; 
- end; 
 </​sxh>​ | </​sxh>​ |
 |If..Then..Else|<​sxh delphi;> |If..Then..Else|<​sxh delphi;>
-//---Single Statement--- 
 if {Condition} then  if {Condition} then 
   {Statement1}   {Statement1}
 else else
   {Statement2};​   {Statement2};​
- 
-//​---Multiple Statements--- 
-if {Condition} then  
- begin 
-  {Statement1};​ 
-  {Statement2};​ 
-  {...}; 
- end 
-else 
- begin 
-  {Statement3};​ 
-  {Statement4};​ 
-  {...}; 
- end; 
 </​sxh>​ | </​sxh>​ |
 |If..Then/ Else If..Then/ Else|<​sxh delphi;> |If..Then/ Else If..Then/ Else|<​sxh delphi;>
-//---Single Statement--- 
 if {Condition1} then  if {Condition1} then 
   {Statement1}   {Statement1}
Line 43: Line 18:
 else else
   {Statement3};​   {Statement3};​
- 
 </​sxh>​ | </​sxh>​ |
-\\ 
  
 จากตารางข้างบน เป็นรูปแบบ If ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้ จากตารางข้างบน เป็นรูปแบบ If ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้
  
 +<hidden If-Statement:​ Multiple Statements>​
 |If..Then|<​sxh delphi;> |If..Then|<​sxh delphi;>
 if {Condition} then  if {Condition} then 
Line 93: Line 67:
  
 </​sxh>​ | </​sxh>​ |
-\\+</​hidden> ​\\
  
  
  
-<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>​ \\ \\ 
  
 ===== Case - Statements ===== ===== Case - Statements =====
Line 170: 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 191: 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> ​\\ 
-<​hidden ​Example-3: Case Statements+===== Break, Continue, Exit and Goto ===== 
-**ตวอย** โปรมตดคะแน ใหกลายเป็นเกรด A-F\\ +คำสั่ง ​Break, Continue, Exit ละ Goto สุปได้ด้ 
-<sxh delphi;​highlight:​ [10-16]>​ +
-program TestCaseStatement;​+
  
-var score:​integer+^  Procedures ​ ^  Meaning ​ ^  Format ​ ^ 
-  ​Grade:char;+| 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 begin
-  ​write('Insert your score (0 to 100): '); +  ​exit; 
-  ​readln(score)+  writeln('After Exit'​); ​//This won't be shown 
-   +end
-  case score of +</​sxh>​ | 
-    0..50: Grade:​='​F'​+|Goto| ไปยัง Label ที่ระบุ |<sxh delphi;> 
-    ​51..60:​ Grade:​='​D'​+label PointA,​PointB//declare labels 
-    ​61..70:​ Grade:​='​C'​+BEGIN 
-    ​71..80Grade:​='​B';​ + Goto PointB
-  else Grade:='A'; + PointA
-  end+ wrtieln('Passing PointA')
-   + exit//Exit the program 
-  ​writeln('Your grade is: ',Grade); + PointB: 
-  ​readln()+ wrtieln('Passing PointB'); 
-end  + Goto PointA
-</​sxh> ​ +END
- +</​sxh> ​|
-Compiled Results: +
- +
-  Insert your score (0 to 100): 35 +
-  Your grade is: F +
-   +
-</​hidden>​ \\ \\ +
- +
-===== Break, Continue and Goto =====+
tutorial/conditionalstatement.1546580003.txt.gz · Last modified: 2019/01/04 12:33 by admin