Your SlideShare is downloading. ×
  • Like
การเขียนผังงาน
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

การเขียนผังงาน

  • 1,932 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,932
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
25
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. การเขียนผังงานเบื้องต้น Basic Flowcharting
  • 2. การเขียนผังงาน(Flowcharting)  ผังงาน หมายถึง เครื่องมือที่ช่วยในการเขียนโปรแกรม โดยเขียนเป็น เครื่องหมายภาพสัญลักษณ์แสดงลาดับขั้นตอนการทางาน  การเขียนผังงาน เป็นการถ่ายทอดความเข้าใจที่ได้จากการวิเคราะห์ งานให้อยู่ในรูปภาพหรือสัญลักษณ์  ผู้เขียนโปรแกรมจะสามารถเข้าใจลาดับขันตอนการเขียนโปรแกรมได้ ้ อย่างรวดเร็วและง่ายขึ้น และง่ายต่อการตรวจสอบความถูกต้องของ ลาดับขั้นตอนในวิธีการประมวลผล
  • 3. การเขียนผังงาน(Flowcharting)  งานทุกชนิดที่มีการวิเคราะห์เป็นลาดับขั้นตอนแล้ว เรา สามารถนามาเขียนผังงานได้ แม้กระทั่งงานที่เกี่ยวข้อง กับชีวิตประจาวันของเราเอง
  • 4. ตัวอย่างผังงานทั่วไป(1/3) เริ่มต้น  แสดงการโยนเหรียญ 3 ครั้ง ถ้าออกหัว ผู้โยนจะได้เงิน 10 บาท ถ้าออกก้อย ผู้ โยนจะเสียเงิน 10 บาท โยนเหรียญ ก้อย ผลการโยน เสียเงิน 10 บาท ยัง หัว ได้เงิน 10 บาท ครบ 3 ครั้ง หรือยัง? ครบ หยุด
  • 5. ตัวอย่างผังงานทั่วไป(2/3) เริ่มต้น  ผังงานแสดงการเดินข้ามถนนที่มีสัญญาณไฟจราจร รอสัญญาณไฟ ไม่ใช่ ไฟแดง หรือไม่ ใช่ เดินข้ามถนน หยุด
  • 6. ตัวอย่างผังงานทั่วไป(3/3) เริ่มต้น  ผังงานพิจารณาการใช้ยาตามฉลากยาที่ปิดข้าง ขวด แยกตามขนาดการใช้ดังนี้     อายุต่ากว่า 5 ปี ห้ามรับประทาน อายุ 5 - 7 ปี ครั้งละ 1 เม็ด อายุ 8 - 14 ปี ครั้งละ 2 เม็ด อายุ 15 ปีขึ้นไป ครั้งละ 3 เม็ด อายุต่ากว่า 5 ปี ใช่ ห้ามรับประทาน ไม่ใช่ อายุ 5 ปีขั้นไป แต่ไม่ถึง 8 ปี ใช่ ครั้งละ 1 เม็ด ไม่ใช่ อายุ 8 ปีขั้นไป แต่ไม่ถึง 15 ปี ไม่ใช่ ครั้งละ 3 เม็ด หยุด ใช่ ครั้งละ 2 เม็ด
  • 7. ผังงานทางคอมพิวเตอร์ ผังงานทางคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท ได้แก่ ผังงานระบบ (System flowchart) ผังงานโปรแกรม (Program flowchart)
  • 8. ผังงานระบบ(System flowchart)  เป็นผังงานที่ใช้แสดงขั้นตอนการทางานของระบบงานอย่างกว้าง ๆ ทั้งระบบ โดยแสดงให้เห็นถึงความสัมพันธ์ของส่วนสาคัญต่าง ๆ ในระบบนั้น  เช่น เอกสารเบื้องต้น หรือสื่อบันทึกที่ใช้อยู่เป็นอะไร และผ่านไปยังหน่วยงาน ใด มีกิจกรรมอะไรในหน่วยงานนั้น ๆ แล้วส่งต่อไปยังหน่วยงานใด เป็นต้น  ดังนั้น ผังงานระบบ จะเกี่ยวข้องกับ คน วัสดุ และเครื่องจักร โดยแสดงการนา ข้อมูลเข้า ประมวลผล แสดงผลลัพธ์ ว่ามาจากที่ใดกว้าง ๆ
  • 9. ตัวอย่างผังงานระบบ  ผังงานแสดงการค่านวณพื้นที่สามเหลี่ยม จ่านวน 100 รูป เริ่มต้น รับความสูง และความยาวฐาน ของสามเหลี่ยม 100 รูป บันทึกความสูงและความยาวฐาน ลงในดิสก์ ดิสก์ที่ บันทึกแล้ว คานวณพื้นที่ของสามเหลี่ยม พิมพ์รายงานของ พื้นที่สามเหลี่ยม จบ
  • 10. ผังงานโปรแกรม(Program flowchart)  เป็นผังงานที่แสดงขันตอนของคาสั่งทีใช้ในโปรแกรม ้ ่  ผังงานนี้แยกย่อยมาจากผังงานระบบ โดยผู้เขียนโปรแกรมจะดึง เอาแต่ละจุดที่เกี่ยวข้องกับการประมวลผลในคอมพิวเตอร์ที่ ปรากฏในผังงานระบบมาเขียนแสดงรายละเอียดในการ ประมวลผลอย่างเป็นลาดับขั้นตอน เพื่อนาไปประกอบการเขียน โปรแกรมต่อไป
  • 11. ตัวอย่างผังงานโปรแกรม เริ่มต้น  ผังงานแสดงการคานวณพื้นที่สามเหลี่ยม จานวน 100 รูป รับความสูง และ ความยาวฐานทีละรูป คานวณพื้นที= 0.5 * ฐาน * สูง ่ พิมพ์พื้นที่สามเหลี่ยม ทีละรูป ไม่ใช่ ครบ 100 รูปแล้ว ใช่หรือไม่ ใช่ จบ
  • 12. เปรียบเทียบผังงานระบบและผังงานโปรแกรม เริ่มต้น เริ่มต้น รับความสูง และความยาวฐาน ของสามเหลี่ยม 100 รูป บันทึกความสูงและความยาวฐาน ลงในดิสก์ รับความสูง และ ความยาวฐานทีละรูป ผังงานระบบ คานวณพื้นที= 0.5 * ฐาน * สูง ่ ดิสก์ที่ บันทึกแล้ว พิมพ์พื้นที่สามเหลี่ยม ทีละรูป ผังงานโปรแกรม คานวณพื้นที่ของสามเหลี่ยม ไม่ใช่ ครบ 100 รูปแล้ว ใช่หรือไม่ พิมพ์รายงานของ พื้นที่สามเหลี่ยม ใช่ จบ จบ
  • 13. ประโยชน์ของการเขียนผังงาน  เราสามารถเรียนรู้และเข้าใจผังงานได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับ ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง  ผังงานเป็นการสื่อความหมายด้วยภาพ ทาให้ง่ายและสะดวกต่อการพิจารณา ลาดับขั้นตอนในการทางานดีกว่าการบรรยายเป็นตัวอักษร  ช่วยให้การค้นหาความผิดพลาดของลาดับการทางานได้รวดเร็ว และสามารถ แก้ไขได้ง่าย  การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทาได้รวดเร็วและง่ายขึ้น  ในการบารุงรักษาโปรแกรม หรือมีการเปลี่ยนแปลงแก้ไขโปรแกรมให้มี ประสิทธิภาพ ถ้าดูจากผังงานจะช่วยให้สามารถทบทวนการทางานใน โปรแกรมได้ง่ายขึ้น
  • 14. ข้อจากัดของการเขียนผังงาน การเขียนผังงานไม่เหมาะกับงานที่มีวิธีการซับซ้อน เช่น มีการที่เงื่อนไขในการทอสอบมากมาย ซึ่ง มักจะใช้ตารางการตัดสินใจ(decision table) เข้า มาช่วยมากกว่า
  • 15. สัญลักษณ์ในการเขียนผังงาน(1/13)  การเขียนผังงานเป็นการนาเอาภาพสัญลักษณ์ต่าง ๆ มาเรียงต่อ กัน เพื่อแสดงลาดับขั้นตอนการทางาน โดยมีเส้นลูกศรเชื่อม ระหว่างภาพต่างๆ  สัญลักษณ์ในการเขียนผังงานที่นิยมใช้กันนั้น เป็นสัญลักษณ์ของ หน่วยงานที่ชื่อว่า American National Standard Institute (ANSI) และ International Standard Organization (ISO) เป็นผู้กาหนดและรวบรวมให้เป็นสัญลักษณ์มาตรฐานในการเขียน ผังงาน
  • 16. สัญลักษณ์ในการเขียนผังงาน(2/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ การเริ่มต้นหรือ START สิ้นสุดการเขียนผัง งาน STOP (Terminal) รับข้อมูลหรือแสดง read name ข้อมูลโดยไม่ระบุ สื่อ display area (Input/output) คาอธิบาย 1. เริ่มต้นผังงาน 2. จบผังงาน 1. 2. รับค่าใส่ในตัว แปรชื่อ name แสดงค่าจากตัว แปร area
  • 17. สัญลักษณ์ในการเขียนผังงาน(3/13) สัญลักษณ์ ความหมาย การประมวลผล (Process) ตัวอย่างการใช้ C=A+B Sum = 0 การเปรียบเทียบ หรือตัวสินใจ (Compare / Decision) i <= 10 true แสดง i false คาอธิบาย 1. 2. คานวณ A + B และเก็บไว้ใน C กาหนดค่า sum เท่ากับ 0 เปรียบเทียบถ้า i มีค่า น้อยกว่าหรือเท่ากับ 10 - เป็นจริง พิมพ์ค่า i เสร็จ แล้วไปทาคาสั่งอื่น ๆ - เป็นเท็จ ไปทาคาสั่งอื่น ๆ
  • 18. สัญลักษณ์ในการเขียนผังงาน(4/13) สัญลักษณ์ ความหมาย การแสดงผลลัพธ์ ทางเครื่องพิมพ์ (Document) การแสดงผลลัพธ์ ทางจอภาพ (Display) ตัวอย่างการใช้ print A display A , B คาอธิบาย พิมพ์ค่า A ทาง เครื่องพิมพ์ แสดงค่า A, B บนจอภาพ
  • 19. สัญลักษณ์ในการเขียนผังงาน(5/13) สัญลักษณ์ ความหมาย หมายเหตุ (Comment) รับค่ าทางการกด แปนพิมพ์ ้ (Manual Input) ตัวอย่ างการใช้ read A read A คาอธิบาย A = Age รั บค่ า A ทาง แปนพิมพ์ ้
  • 20. สัญลักษณ์ในการเขียนผังงาน(6/13) สัญลักษณ์ ความหมาย การกาหนดค่า ต่างๆ ไว้ล่วงหน้า (Preparation) ตัวอย่างการใช้ for i =1 to 100 sum = sum + i i แสดงทิศทางและ ลาดับของการ ทางาน (Flow line) คาอธิบาย กาหนดให้ i มีค่าเท่ากับ 1 และเพิ่มค่าทีละ 1 จนมีค่าเป็น 100 จึงออก จากการทางานซ้า โดยแต่ละรอบ บวกค่า sum ด้วยค่า i
  • 21. สัญลักษณ์ในการเขียนผังงาน(7/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ จุดต่อเนื่องในหน้า write A เดียวกัน (In-Page A connector) จุดต่อเนื่องที่อยู่คน A=3 ละหน้า (Off-Page 1 Connector) คาอธิบาย หลังจากพิมพ์ค่า A แล้วให้ทาตามที่จุด ต่อเนื่อง A ซึ่งอยู่ใน หน้าเดียวกัน หลังจากกาหนดค่า A เท่ากับ 3 ให้ทาตาม จุดต่อเนื่องชื่อ 1 ซึ่ง ไม่ได้อยู่ในหน้า เดียวกัน
  • 22. สัญลักษณ์ในการเขียนผังงาน(8/13) สัญลักษณ์ ความหมาย การรับหรือแสดง ข้อมูลโดยใช้ บัตรเจาะรู (Punch card) ชุดของบัตรเจาะรู (Card Desk) ตัวอย่างการใช้ คาอธิบาย 1. read A 2. punch B , C punch bi b=1 , …n อ่านค่า A ที่ บัตรเจาะรู 1 ใบ เจาะค่า B,C บน บัตร 1 ใบ เจาะค่า B1 , B2 , Bn บนบัตร n ใบ
  • 23. สัญลักษณ์ในการเขียนผังงาน(9/13) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ การรับหรือแสดง ข้อมูลโดยใช้เทป read ID , name กระดาษ (Punched tape) การรับหรือแสดง ข้อมูลโดยใช้เทป แม่เหล็กเป็นสื่อ (Magnatic tape) คาอธิบาย อ่านค่า ID , name บนเทปกระดาษ
  • 24. สัญลักษณ์ในการเขียนผังงาน(10/13) สัญลักษณ์ ความหมาย ตัวอย่ างการใช้ การรับหรือแสดง ข้ อมูลโดยใช้ จาน แม่ เหล็กเป็ นสื่อ (Magnatic disk) การรับหรือแสดง ข้ อมูลโดยใช้ ดรัม แม่ เหล็กเป็ นสื่อ (Magnatic drum) คาอธิบาย
  • 25. สัญลักษณ์ในการเขียนผังงาน(11/13) สัญลักษณ์ ความหมาย การทางานที่กาหนด ไว้ แล้ ว เช่ น โปรแกรมย่ อย (Predefine Process) การควบคุมการ ทางานด้ วยมนุษย์ บางครั งเรี ยกการ ้ ทางานแบบ ออฟไลน์ (Offline Processing) ตัวอย่ างการใช้ findGrade คาอธิบาย เรี ยกโปรแกรม ย่ อยชื่อ findGrade ให้ ทางาน
  • 26. สัญลักษณ์ในการเขียนผังงาน(12/13) สัญลักษณ์ ความหมาย การทางานแบบ ออฟไลน์ ของอุปกรณ์ ท่ ี ไม่ ได้ ถูกควบคุมจาก หน่ วยประมวลผลกลาง โดยตรง (Auxiliary Operation) การจัดเรี ยงลาดับ ข้ อมูล (Sorting) ตัวอย่ างการใช้ คาอธิบาย
  • 27. สัญลักษณ์ในการเขียนผังงาน(13/13) สัญลักษณ์ ความหมาย การส่ งข้ อมูลทาง สายสื่อสาร (Communication Link) ตัวอย่ างการใช้ คาอธิบาย
  • 28. หลักการจัดภาพผังงาน(1/2)  ทิศทางของผังงานจะเริมจาก ่ ส่วนบนของหน้ากระดาษลง มายังส่วนล่าง และจาก ซ้ายมือไปของหน้ากระดาษ และควรเขียนเครืองหมาย ่ ลูกศรกากับทิศทางไว้ด้วย บน START ทิศทางของเส้น read age age > 60 true “You are old” ล่าง STOP false
  • 29. หลักการจัดภาพผังงาน(2/2) START  สัญลักษณ์หรือภาพที่ใช้ใน การเขียนผังงานมีขนาดต่าง ๆ กันได้ แต่จะต้องมีรูป มาตรฐานตามความหมายที่ กาหนด sum = 0 i = 1 to 10 sum = sum + i i sum STOP ขนาดของ สัญลักษณ์ ปรับให้เหมาะสมกับ ข้อความใน สัญลักษณ์
  • 30. หลักการจัดภาพผังงาน(3/2)  การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ และ หลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้าจาเป็นต้อง โยงถึงกัน ควรใช้เครื่องหมายจุดต่อเนื่องแทนและถ้าเป็นไป ได้ควรเขียนผังงานให้จบในหน้าเดียวกัน  คาอธิบายในภาพ เขียนเพียงสั้น ๆ และเข้าใจง่าย  ผังงานที่ดีควรจะมีความเป็นระเบียบเรียบร้อยและสะอาด นอกจากนี้แล้ว จะมีชื่อของผังงาน ผู้เขียน วันที่เขียน และ เลขหน้าลาดับ
  • 31. รูปแบบการเขียนผังงาน แบบตามลาดับ (Sequence) แบบการเลือก/ตัดสินใจ/เงื่อนไข (Selection/Decision/Condition) แบบวนซ้า (Iteration / Loop)
  • 32. รูปแบบตามลาดับ(1/3) ่ ่  เป็ นรูปแบบการเขียนโปรแกรมทีง่ายทีสุด ทางานทีละอย่างจากบนลงล่าง แสดงลาดับการ ทางานจากบนลงล่างตามลูกศร คานวณ งานที่ 1 งานที่ 2 งานที่ 3 อ่านข้อมูล คานวณข้อมูล พิมพ์ผลล ัพธ์ คานวณ คานวณ
  • 33. รูปแบบตามลาดับ(2/3) START เริ่มต้ น A=5 กาหนดค่ าตัวแปร A มีค่าเป็ น 5 B=3 กาหนดค่ าตัวแปร B มีค่าเป็ น 3 C=A+B print C STOP เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C พิมพ์ ค่า C จบการทางาน
  • 34. รูปแบบตามลาดับ(3/3) START A,B C=A+B print C STOP เริ่มต้ น รับข้ อมูลมาเก็บไว้ ในตัวแปร A, B ทาง แปนพิมพ์ ้ เอาค่ า A บวกกับ B แล้ วเก็บไว้ ใน C พิมพ์ ค่า C จบการทางาน
  • 35. ตัวอย่างการเขียนผังงานแบบตามลาดับ  จงเขียนโปรแกรมคานวณค่าไฟฟ้า โดยรับค่ามิเตอร์จานวนการใช้ ไฟฟ้าของเดือนที่แล้ว และค่ามิเตอร์การใช้ไฟฟ้าของเดือนปัจจุบัน คานวณค่าไฟฟ้า โดยคิดอัตรา 2.5 บาท /1 หน่วยมิเตอร์ 1. สิ่งที่โจทย์ต้องการ ค่าไฟฟ้า ปอนเลขมิเตอร์เดือนที่แล้ว --> <รอรับเลขมิเตอร์เดือนที่แล้ว> ้ ั ั 2.้ปอนเลขมิเตอร์เดือนปั จจุบพ--> <รอรับเลขมิเตอร์เดือนปั จจุบน> รูปแบบผลลั น ธ์ ----------------------------------------------------จานวนหน่วยไฟฟ้ าที่ใช้ : <แสดงจานวนหน่วยไฟฟ้ าที่ใช้> ค่าไฟฟ้ า : <แสดงค่าไฟฟ้ า>
  • 36. ตัวอย่างการเขียนผังงานแบบตามลาดับ 3. ข้อมูลนาเข้า   เลขมิเตอร์เดือนที่แล้ว เลขมิเตอร์เดือนปัจจุบัน 4. ตัวแปรที่ใช้ในการประมวลผล     Last_meter Curr_meter Num_meter Electric_fee แทน แทน แทน แทน เลขมิเตอร์เดือนที่แล้ว เลขมิเตอร์เดือนปัจจุบัน จานวนหน่วยมิเตอร์ที่ใช้ ค่าไฟฟ้า
  • 37. ตัวอย่างการเขียนผังงานแบบตามลาดับ 5. ขั้นตอนวิธีการประมวลผล 1. 2. 3. 4. 5. 6. เริ่มต้น รับค่าใส่ตัวแปร last_meter และ curr_meter จากผู้ใช้ทางแป้นพิมพ์ คานวณ num_meter = curr_meter – last_meter คานวณ electric_fee = num_meter * 2.5 แสดงค่า num_meter , electric_fee จบการทางาน
  • 38. Flow chart START Last_meter , Curr_meter Num_meter = Curr_meter – Last_meter Electric_fee = Num_meter * 2.5 Num_meter , Electric_fee STOP
  • 39. แบบการเลือก เป็นการเขียนโปรแกรมแบบมีการเปรียบเทียบเงื่อนไข และทางานตามคาสั่งอย่างใดอย่าง หนึ่งตามเงื่อนไขที่กาหนด ผลจากการเปรียบเทียบเงื่อนไข จะให้ผลลัพธ์เป็นจริงหรือ เท็จ ถ้าผลเป็นจริง ให้ทางานตามคาสั่งด้านที่เงื่อนไขเป็นจริง ถ้าเป็นเท็จให้ทาตาม คาสั่งด้านที่เงื่อนไขเป็นเท็จ  แบบทางเลือกเดียว (IF - THEN)  แบบสองทางเลือก (IF – THEN - ELSE)  แบบหลายทางเลือก (IF – THEN – ELSE IF | CASE)
  • 40. แบบทางเลือกเดียว(1/5) เงื่อนไข เท็จ จริง เงื่อนไข เท็จ จริง ประโยคงาน 1 ประโยคงาน ประโยคงาน 2 งานลาดับถัดไป งานลาดับถัดไป
  • 41. แบบทางเลือกเดียว(2/5) เริ่มต้ น START รับค่ าใส่ ตัวแปร age read age age > 60 true “You are old” STOP false เปรียบเทียบค่ า age มากกว่ า 60 ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old ถ้ าเป็ นเท็จ ไม่ ต้องทาอะไร จบการทางาน
  • 42. แบบทางเลือกเดียว(3/5) รับค่า รหัสผ่านจากผู้ใช้ ถ้า รหัสผ่านที่ป้อนมีค่า GoodLuck ให้แสดงข้อว่า Welcome Manager และข้อความ Exit Password System เริ่ม รับค่ า ans ans = “GoodLuck” จริง พิมพ์ Welcome Manager พิมพ์ Exit Password System จบ เท็จ
  • 43. แบบทางเลือกเดียว(4/5)  บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ 10% และให้พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน  ขั้นตอนการประมวลผล 1. รับค่าชื่อพนักงาน . เงินเดือน 2. เปรียบเทียบค่า เงินเดือน - ถ้าน้อยกว่า 5000 ให้เงินเดือน = เงินเดือน + (เงินเดือน * 10/100) 3. คานวณโบนัส = เงินเดือน * 3 4. แสดงผลลัพธ์ 5. จบการทางาน
  • 44. แบบทางเลือกเดียว(5/5) A START read name ,salary salary < 5000 bonus = salary * 3 false Name , salary , bonus true salary = salary + (salary*10/100) STOP A แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้
  • 45. ข้อควรจา ่  ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ทางานตามคาสังเมื่อเงื่อนไขมีคา ่ ่ เป็ นจริง ไม่นิยมให้ทางามตามคาสังเป็ นเท็จ เท็จ เงื่อนไข เท็จ จริง ประโยคงาน 1 เงื่อนไข จริง ประโยคงาน 2 งานลาดับถัดไป ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป
  • 46. เงื่อนไข เท็จ จริง ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป IF เงื่อนไข THEN BEGIN ประโยคงาน 1 ; ประโยคงาน 2 ; END;
  • 47. เงื่อนไข จริง เท็จ IF เงื่อนไข THEN ประโยคงาน 1 ประโยคงาน 2 งานลาดับถัดไป ELSE BEGIN ประโยคงาน 1 ; ประโยคงาน 2 ; END;
  • 48. แบบสองทางเลือก(1/6)  การทางานขึ้นอยูกบเงื่อนไข ถ้าเป็ นจริงไปทางานด้านหนึ่ง ถ้าเป็ นเท็จก็จะไปทางานอีกอย่าง ่ ั หนึ่ง จริง เท็จ เงื่อนไข ประโยคงาน1 ประโยคงาน2 งานลาดับถัดไป
  • 49. แบบสองทางเลือก(2/6) False Female = Female + 1 Sex = 1 True Male = Male +1  ถ้า sex =1 เงื่อนไขเป็ นจริง จะเพิ่มค่าตัว แปร Male ขึ้นอีก 1  ถ้า sex =1 เงื่อนไขเป็ นเท็จ จะเพิ่มค่าตัว แปร Female ขึ้นอีก 1
  • 50. แบบสองทางเลือก(3/6) เริ่มต้ น START รับค่ าใส่ ตัวแปร age read age false age > 60 “You are young” true “You are old” STOP เปรีบเทียบค่ า age มากกว่ า 60 ถ้ าเป็ นจริง พิมพ์ ข้อความ You are old ถ้ าเป็ นเท็จ พิมพ์ ข้อความ You are young จบการทางาน
  • 51. แบบสองทางเลือก(4/6) เริ่ม พิมพ์ Do you like Pascal รับค่า ans เท็จ ans = „y‟ OR ans=„Y‟ พิมพ์ I‟m sorry to hear that เริ่มการทางาน แสดงข้ อความ Do you like Pascal รั บค่ าใส่ ตัวแปร ans จริง เปรียบเทียบค่ า ans เท่ ากับ y หรือ Y พิมพ์ Thank You พิมพ์ Good Bye จบ - ถ้ าเป็ นจริง พิมพ์ Thank you -ถ้ าเป็ นเท็จ พิมพ์ I’m sorry to hear that พิมพ์ คาว่ า Goodbye จบการทางาน
  • 52. แบบสองทางเลือก(5/6)  บริษัทแห่งหนึ่งต้องการเพิ่มเงินเดือนให้พนักงานที่มีเงินเดือนต่ากว่า 5000 อีกคนละ 10% และพนักงานที่มีเงินเดือนตั้งแต่ 5000 เพิ่ม 5% ให้ พนักงานทุกคนได้รับโบนัสคนละ 3 เท่าของเงินเดือน  ขั้นตอนการประมวลผล 1. รับค่าชื่อพนักงาน . เงินเดือน 2. เปรียบเทียบค่า เงินเดือน < 5000 3. 4. 5. 6. - ถ้าเป็นจริง ให้อัตราเพิ่มเงินเดือน = 10/100 - ถ้าเป็นเท็จให้อัตราเพิ่มเงินเดือน = 5/100 คานวณเงินเดือน = เงินเดือน + (เงินเดือน * อัตราเพิ่มเงินเดือน) โบนัส = เงินเดือน * 3 แสดงผลลัพธ์ จบการทางาน
  • 53. แบบทางเลือกเดียว(6/6) A START read name ,salary false salary < 5000 rate = 5 / 100 salary = salary+(salary * rate) true rate = 10 / 100 A bonus = salary * 3 Name , salary , bonus STOP แต่ ไม่ ต้องเขียนเส้ นเชื่อมนี ้
  • 54. การเลือกหลายทาง(แบบ IF)  เป็นรูปแบบการเลือกการทางานที่มีทางเลือก มากกว่า 2 ทางขึ้นไป False False ั่ คำสงที่ 4 เงือนไข 3 ่ False เงือนไข 2 ่ True ั่ คำสงที่ 3 เงือนไข 1 ่ True ั่ คำสงที่ 2 True ั่ คำสงที่ 1
  • 55. การเลือกหลายทาง(แบบ IF) Score = mid + final false false false false Grade = ‘F’ Score >=50 Score >=60 true Grade = ‘D’ Score >=70 true Grade = ‘C’ Score >=80 true Grade = ‘B’ true Grade = ‘A’
  • 56. การเลือกหลายทาง(แบบ CASE)  เป็นรูปแบบการเลือกการท่างานที่มีทางเลือกมากกว่า 2 ทางขึ้นไป เงือนไข ่ กรณี 1 ั่ คำสงที่ 1 กรณี 2 ั่ คำสงที่ 2 กรณี 3 กรณี 4 ั่ คำสงที่ 3 ั่ คำสงที่ 4
  • 57. การเลือกหลายทาง(แบบ CASE) Score = mid + final score 80..100 Grade = ‘A’ 70..79 Grade = ‘B’ 60..69 Grade = ‘C’ 50..59 Grade = ‘D’ 0..49 Grade = ‘F’
  • 58. แบบวนซ้่า แบบก่าหนดรอบไว้ล่วงหน้า(Controlled Loop) แบบตรวจสอบเงื่อนไขก่อน(Pre-Test Condition) แบบตรวจสอบเงื่อนไขทีหลัง(Post-Test Condition)
  • 59. แบบกาหนดรอบการทางานเอาไว้ลวงหน้า ่  มีการกาหนดรอบการทางานซาไว้ลวงหน้า เมื่อครบตามจานวนรอบจึงหยุดทางานซาแล้วทา ้ ่ ้ กาหนดรอบการทางาน ่ คาสังต่อไป ั่ คำสงทำซ้ำ 1 ั่ คำสงทำซ้ำ 2 Next
  • 60. แบบกาหนดรอบการทางานเอาไว้ล่วงหน้า  ค่า N จะเริ่มต้นที่ 1 และเพิ่มค่าทีละ 1 จนกระทั่ง มากกว่า 5 จึงหยุดการทางานซ้า และทาคาสั่งถัดจาก Next ในแต่ละรอบของงานที่ให้ทาซ้าคือ พิมพ์ค่าในตัวแปร N ที ละรอบ For N =1 , 5 Print N Next
  • 61. แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า  แบบตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขยังเป็นจริงให้ทางานซ้า จนกระทั่งเงื่อนไขเป็น เท็จจึงหยุดทางานซ้า แล้วไปทางานคาสั่งอื่นถัดไป เงือนไข ่ True ่ั ้ คาสงงานซา 1 ่ั ้ คาสงงานซา 2 False
  • 62. แบบตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงแล้วค่อยทาซ้า  ตรวจสอบเงื่อนไขถ้า N <= 5 N=1  ให้พิมพ์ ค่า N  เพิ่มค่า N อีก 1 (N=N+1)  กลับไปตรวจสอบเงื่อนไขอีก จนกว่าเงื่อนจะเป็น เท็จ จึงหยุดทางานซ้า แล้วไปทางานคาสั่งอื่น N <=5 True Print N N = N+1 False
  • 63. แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข  แบบให้ทางานในคาสั่งทาซ้าก่อน แล้วค่อยตรวจสอบเงื่อนไข ถ้าเงื่อนไขยังเป็นเท็จให้กลับไปทางานในคาสั่งทาซ้าอีก จนกระทั่งตรวจสอบแล้วเงื่อนเป็นจริง จึงหยุด แล้วไปทางาน คาสั่งอื่น ่ั ้ คาสงงานซา 1 ่ั ้ คาสงงานซา 2 False เงือนไข ่ True
  • 64. แบบทาซ้าก่อนแล้วค่อยตรวจเงื่อนไข N=1  ให้พิมพ์ค่าในตัวแปร N  เพิ่มค่าให้ตัวแปร N อีก 1  ตรวจสอบเงื่อนไข ถ้า N > 5 เป็นจริงให้หยุด ทางานซ้า ถ้าเป็นเท็จให้กลับไปทางานคาสั่ง ซ้าอีกรอบ Print N N = N+1 False N>5 True