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/07 09:13]
admin [If - Statements]
tutorial:conditionalstatement [2019/01/07 13:00] (current)
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 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.1546827223.txt.gz · Last modified: 2019/01/07 09:13 by admin