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/04 12:48]
admin [If - Statements]
tutorial:conditionalstatement [2019/01/07 12:56]
admin [Break, Continue, Exit and Goto]
Line 71: Line 71:
  
  
-<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 144: 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 165: 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 one 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.txt · Last modified: 2019/01/07 13:00 by admin