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/03 12:29]
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}; ​
 +</​sxh>​ |
 +|If..Then..Else|<​sxh delphi;>
 +if {Condition} then 
 +  {Statement1}
 +else
 +  {Statement2};​
 +</​sxh>​ |
 +|If..Then/ Else If..Then/ Else|<​sxh delphi;>
 +if {Condition1} then 
 +  {Statement1}
 +else if {Condition2} then
 +  {Statement2}
 +else
 +  {Statement3};​
 +</​sxh>​ |
 +
 +จากตารางข้างบน เป็นรูปแบบ If ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้
  
-//---Multiple Statements---+<hidden If-Statement: ​Multiple Statements
 +|If..Then|<​sxh delphi;>
 if {Condition} then  if {Condition} then 
  begin  begin
Line 15: Line 32:
 </​sxh>​ | </​sxh>​ |
 |If..Then..Else|<​sxh delphi;> |If..Then..Else|<​sxh delphi;>
-//---Single Statement--- 
-if {Condition} then  
-  {Statement1} 
-else 
-  {Statement2};​ 
- 
-//​---Multiple Statements--- 
 if {Condition} then  if {Condition} then 
  begin  begin
Line 35: Line 45:
  end;  end;
 </​sxh>​ | </​sxh>​ |
-\\ +|If..Then/ Else If..Then/ Else|<sxh delphi;>​ 
-<hidden Example-1: If Statements (If..Else If..Else)> +//---Single Statement--- 
-**ตัวอย่าง** โปรแกรมตัดคะแนน ให้กลายเป็นเกรด A-F\\ +if {Condition1} then  
-<sxh delphi;highlight: [9-21]+ ​begin 
-program Nested_If_Then_Else;+  {Statement1};​ 
 +  {Statement2};​ 
 +  {...}; ​  
 + end 
 +else if {Condition2} then 
 + ​begin 
 +  {Statement3};​ 
 +  {Statement4};​ 
 +  {...}; 
 + end 
 +else 
 + ​begin 
 +  {Statement5};​ 
 +  {Statement6};​ 
 +  {...}; 
 + end;
  
-var Score:real;+</​sxh>​ | 
 +</​hidden>​ \\
  
-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 109: 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 130: 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.1546493397.txt.gz · Last modified: 2019/01/03 12:29 by admin