1 / 15

โครงสร้างคำสั่งแบบเลือก ( Selection)

โครงสร้างคำสั่งแบบเลือก ( Selection). เป็นโครงสร้างที่มีการทดสอบเงื่อนไขทางตรรกศาสตร์ ( Logical Decision ) เพื่อตัดสินใจทำงานอย่างใดอย่างหนึ่ง โดยจะมี เลือกทำ คำสั่งบางคำสั่ง ภาษาปาสคาล มีโครงสร้างแบบเลือก 2 รูปแบบดังนี้ IF statement CASE statement. Selection. Selection. Sequential.

Download Presentation

โครงสร้างคำสั่งแบบเลือก ( Selection)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. โครงสร้างคำสั่งแบบเลือก (Selection) • เป็นโครงสร้างที่มีการทดสอบเงื่อนไขทางตรรกศาสตร์ (Logical Decision) เพื่อตัดสินใจทำงานอย่างใดอย่างหนึ่ง โดยจะมีเลือกทำคำสั่งบางคำสั่ง • ภาษาปาสคาล มีโครงสร้างแบบเลือก 2 รูปแบบดังนี้ • IF statement • CASE statement Selection Selection Sequential Looping

  2. นิพจน์ทางตรรกศาสตร์ (Boolean expression) • นิพจน์ที่ประกอบด้วย operator ต่อไปนี้ • logical operator ได้แก่ NOT , AND, OR • relational operator ได้แก่ =, <>, < , <= , > , >= • ตัวแปรชนิด boolean • การประกาศตัวแปร var flag : boolean; • การกำหนดค่า flag := true; หรือ flag := false;

  3. var flag , switch : boolean; test, check : boolean; x : integer ; state : char; flag := 5 > 10 ; switch := ‘A’ < ‘Z’ test := flag AND switch not check (0 < x) OR ( x > 10 ) state <> ‘W’ state x check TRUE 5 A ตัวอย่างนิพจน์ทางตรรกะ False True False False True True

  4. 50 < time < 100 ตัวแปร foundมีค่าเป็น true หรือตัวแปร index มีค่ามากกว่าหรือเท่ากับ 10 ตัวแปร Ans ไม่ใช่ทั้ง Yหรือ y และไม่ใช่ N ตัวแปร level ไม่ใช่ทั้ง 1 และ -1 แบบฝึกหัด (time > 50) and (time < 100) (found = true) or (index >= 10) not ((Ans = 'Y') or (Ans = 'y') or (Ans = 'N')) not ((level = 1) or (level = -1))

  5. ประโยคคำสั่ง (statement) • คำสั่งเดี่ยว (single statement)คำสั่งที่ประกอบด้วยคำสั่งเพียงคำสั่งเดียว • คำสั่งเชิงซ้อน (compound statement) กลุ่มของคำสั่งเดี่ยวตั้งแต่ 2 คำสั่งขึ้นไปมารวมเป็นกลุ่มเดียวกัน begin …………; …………; end;

  6. Boolean Expression Yes No Statement1 If Statement รูปแบบ 1 If - Then Ifboolean expression Then statement ; If - Then If - Then If - Then - Else Nested - If

  7. Score <=50 Yes No Print z Print F Yes No x>0 and y>0 z = x/y Print F Print z ตัวอย่าง If - Then If score <= 50 Then writeln(‘F’); If (x>0) and (y>0) Then begin z := x / y; writeln(z); end;

  8. Boolean Expression Yes No Statement1 Statement2 If Statement Ifboolean expression Then statement1 Elsestatement2 ; รูปแบบ 2 If - Then - Else If - Then If - Then - Else Nested - If If - Then - Else

  9. ตัวอย่าง If - Then - Else If a > b Then begin max := a; writeln(‘Maximum =‘, a) end Else begin max := b; writeln(‘Maximum =‘, b) end; If a > b Then max := a Else max := b; writeln(‘Maximum =‘, max); หรือ

  10. If Statement Ifboolean expression1 Then statement1 Elseifboolean expression2 Then statement2 Else statement3 ; รูปแบบ 3 Nested - If Ifboolean expression1 Then statement1 ifboolean expression2 Then statement2 Else statement3 Else statement4 ; Nested - If If - Then Nested - If If - Then - Else

  11. begin writeln(‘Positive number’); if x<10 then writeln(‘ 0 < x< 10’) else writeln(‘Greater than 10’); end Var Day : char; ตัวอย่าง Nested - If if Day = ‘1’ then writeln(‘Sunday’) else if Day = ‘2’ then writeln(‘Monday’); else ..…….. ……… if Day = ‘7’ then writeln(‘Saturday’); else writeln(‘Invalid day’); if x > 0 then writeln(‘Positive number’) if x<10 then writeln(‘ 0 < x< 10’) else writeln(‘Greater than 10’); else writeln(‘Negative number’);

  12. งานที่มอบหมาย • เขียนโปรแกรมรับจำนวนเต็ม 3 จำนวน และหาแสดงจำนวน ที่มีค่ามากที่สุด • เขียนโปรแกรมรับเลขจำนวนจริง2 จำนวน และรับ operator ที่จะกระทำกับเลขทั้งสองโดย operatorที่เป็นไปได้คือ + , - , * , / แล้วใช้คำสั่ง if ตรวจสอบ operator เพื่อนำไปคำนวณผลลัพธ์ ตัวอย่างผล run ของโปรแกรม

  13. Caseexpression of value, value,… : statement1 ; value, value,… : statement2 ; ……. [ otherwise statement N ; ] end; .. • ตัวแปรหรือนิพจน์ที่มีค่าเป็น • Integer • Char • Boolean Case Statement รูปแบบ expression value, value,… • ค่าที่เป็นไปได้ของ expression • ค่าคงที่ใด ๆ 1 • ค่าคงที่เป็นช่วง 0..10 • ค่าคงที่หลายค่า 1,3,5,7..9

  14. Var grade : char; ตัวอย่าง Case Case grade of ‘A’ : Point := 4.0; ‘B’ : Point := 3.0; ‘C’ : Point := 2.0; ‘D’ : Point := 1.0; ‘F’ : Point := 0.0; otherwise writeln(‘Invalid’); End Case score of 90..100 : writeln(‘A’); 80..89 : writeln(‘B’); 70..79 : writeln(‘C’); 60..69 : writeln(‘D’); 0..59 : writeln(‘F’); otherwise writeln(‘Invalid’); End

  15. งานที่มอบหมาย • เขียนโปรแกรมรับเลขจำนวนจริง2 จำนวน และรับ operator ที่จะกระทำกับเลขทั้งสองโดย operatorที่เป็นไปได้คือ + , - , * , / แล้วใช้คำสั่ง case ตรวจสอบ operator เพื่อนำไปคำนวณผลลัพธ์ • เขียนผังงานของโปรแกรมนี้ ตัวอย่างผล run ของโปรแกรม

More Related