เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                 บทที่ 4 ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)          ผังงานโปรแกรม(Program Flowchart)        ผังงานโ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                              ปอนขอมูลดวยคียบอรด    ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                              จุดเชื่อมตอไปหนาอื่น     ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)         ตัวอยางที่ 2 การเขียนผังงานแสดงเงื่อนไขการรับปร...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                         ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                        ผ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)         ผังงานแบบมี 2 ทางเลือกจากการใชคําสัง IF        ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)       ผังงานที่มีมากกวา 2 ทางเลือก CASE       เปนการตร...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                         ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                ตัวอยาง ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)ตัวอยางการเขียนผังงานจากโจทยปญหา      จากโจทยปญหาวิเ...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                  ตัวนับจํานวน “ครั้งที่ของการปอนตัวเลข”...
เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)                                                       Fl...
Upcoming SlideShare
Loading in …5
×

การเขียนผังงาน(Flowchart)

58,488 views

Published on

การเขียนผังงาน(Flowchart)

  1. 1. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) บทที่ 4 การเขียนผังงาน (Flowchart) การเขียนผังงาน(Flowchart) เปนเทคนิคหรือวิธีการอยางหนึ่งสําหรับใชเขียนแสดงอัลกอริทึม การเขียนผังงานจะใชรูปภาพที่เปนสัญลักษณมาตรฐานสากลนําไปเขียนแทนกิจกรรมตาง ๆ ในแตละขั้นตอนของอัลกอริทึ ม ซึ่งกิจกรรมที่ แตกต างกันก็ จะใช สัญลักษณ รูปภาพที่แ ตกตางกั น โดยสัญลักษณภ าพนี้กําหนดตามมาตรฐานของ ANSI (American National Standards Institute) และ ISO (International StandardOrganization) การเขียนแสดงอัลกอริทึมดวยผังงานสามารถออกแบบไดงาย ผูอื่นสามารถเขาใจผังงานไดงายเพราะเปนมาตรฐานสากล และเมื่อนําผังงานไปเขียนโปรแกรมก็จะทําไดสะดวกรวดเร็วประเภทของผังงาน ผังงานทางคอมพิวเตอรมี 2 ประเภทคือ ผังงานระบบ(System Flowchart) และผังงานโปรแกรม(Program Flowchart) ผังงานระบบ(System Flowchart) ผังงานระบบจะเปนการแสดงใหเราเห็นวา ในระบบหนึ่ง ๆ นั้นมีข้ันตอนในการทํางานอยางไร ซึ่งจะมองเห็นในลักษณะภาพกวาง ๆ ของระบบ แตจะไมเจาะลึกลงไปวาในระบบวาในแตละงานนั้นมีการทํางานอยางไร คือ จะใหเห็นวาจุดเริ่มตนของงานเริ่มจากสวนใด เปนขอมูลแบบใด มีการประมวลผลอยางไร และจะไดผลลัพธเปนอยางไรและเก็บอยูที่ใด ดังรูปเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 31
  2. 2. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ผังงานโปรแกรม(Program Flowchart) ผังงานโปรแกรม หรือ เรียกสั้น ๆ วา ผังงาน จะเปนผังงานที่แสดงใหเห็นถึงลําดับขั้นตอนในการทํางานของโปรแกรม ตั้งแตการรับขอมูล การประมวลผล ตลอดจนผลลัพธที่ได จะทําใหเขียนโปรแกรมไดสะดวกขึ้น ซึ่งผังงานชนิดนีอาจสรางมาจากผังงานระบบ โดยดึงเอาจุดที่เกี่ยวของกับคอมพิวเตอรมา ้วิเคราะหวาจะใชทํางานสวนใดเพื่อทีจะใหไดมาซึ่งผลลัพธที่ตองการ ดังรูป ่ประโยชนของผังงาน  1. ทําใหมองเห็นรูปแบบของงานไดทั้งหมด โดยใชเวลาไมมาก 2. การเขียนผังงานเปนสากลสามารถนําไปเขียนโปรแกรมไดทุกภาษา 3. สามารถตรวจสอบขอผิดพลาดของโปรแกรมไดอยางรวดเร็ว 4. หากมีการพัฒนาระบบงานในลําดับตอไป สามารถทําไดอยางรวดเร็ว โดยศึกษาจากผังงาน จะ สามารถศึกษาไดอยางรวดเร็ว และเขาใจงายกวาการศึกษาจากโปรแกรม สัญลักษณของผังงาน สัญลักษณ ความหมาย ตัวอยาง ความหมาย แสดงการเริ่มตน หรือ 1. เริ่มผังงาน การสิ้นสุดของผังงาน 2. จบผังงาน รับหรือแสดงขอมูลโดย 1. รับคา a โดยไมระบุ ไมระบุชนิดของอุปกรณ อุปกรณ 2. แสดงคา a โดยไมระบุ อุปกรณเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 32
  3. 3. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ปอนขอมูลดวยคียบอรด ปอนคา a ทางคียบอรด แสดงผลลัพธทางจอภาพ แสดงคา a ทางจอภาพ การคํานวณ หรือ 1.คํานวณคา B+C แลว การกําหนดคา เก็บผลลัพธไวที่ A 2. กําหนดคา Num = 5 แสดงขอมูลหรือผลลัพธ พิมพคา a ทางกระดาษ ทางเครื่องพิมพลงบน กระดาษ การเปรียบเทียบ เปรียบเทียบ X > 5 การตัดสินใจ หรือไม การเตรียมการ กําหนดให i=1 แลว การกําหนดคาลวงหนา เพิ่มขึ้นทีละ 1 จนถึง 10 โปรแกรมยอย เรียกโปรแกรมยอยชื่อ sub1 รับหรือแสดงขอมูลโดย - - ใชเทปแมเหล็ก รับหรือแสดงขอมูลโดย - - ใชจานแมเหล็ก การเก็บขอมูล - - เสนแสดงทิศทางการ ประมวลผลแลว ทํางาน ตอดวยการแสดงผล จุดเชื่อมตอในหนา หลังกําหนด a=3 แลวให เดียวกัน ไปทํางานตอทีจุด ่ ตอเนื่อง 1 หนาเดียวกันเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 33
  4. 4. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) จุดเชื่อมตอไปหนาอื่น หลังกําหนด b=5 แลวให ไปทํางานตอทีจุด ่ ตอเนื่อง a ซึ่งอยูคนละ หนากัน หมายเหตุหรือคําอธิบาย -หลักการเขียนผังงานที่ดี 1. มีทางเขาหรือจุดเริ่มตน และทางออกหรือจุดสิ้นสุดเพียงทางเดียวเทานั้น 2. ลําดับขั้นตอนการทํางานควรจะเริ่มจากบนลงลาง หรือจากซายไปขวา 3. ในสัญลักษณใด ๆ มีทางออกเพียงทางเดียว ยกเวนสัญลักษณแสดงการตัดสินใจ หรือ ทางเลือก สามารถมีทางออกไดอยางนอยสองทาง 4. เสนทางเดินในผังงานควรชัดเจน เปนระเบียบ 5. ขอความหรือคําสั่งใด ๆ ที่อยูในสัญลักษณควรสั้น กระชับ ไดใจความ และสามารถเขาใจไดงาย  6. ใชสัญลักษณที่มีขนาดเหมาะสมกับคําสั่ง 7. การกําหนดทิศทางการทํางานดวยลูกศร ควรจะมีทิศทางจากบนลงลาง หรือ ขวาไปซายเทานั้น 8. ในกระบวนการทํางานที่ตองการเพิ่มคําอธิบายเขาไปเพื่อใหเกิดความเขาใจ ก็สามารถทําไดโดยการ ใชสัญลักษณหมายเหตุประกอบตัวอยางการเขียนผังงานในชีวิตประจําวัน ตัวอยางที่ 1 การเขียนผังงานขั้นตอนการสงจดหมายเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 34
  5. 5. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ตัวอยางที่ 2 การเขียนผังงานแสดงเงื่อนไขการรับประทานยา โดยแบงขนาดรับประทานตามอายุดังนี้ ◦ อายุมากกวา 10 ป รับประทานครั้งละ 2 ชอนชา ◦ อายุ 3 - 10 ป รับประทานครั้งละ 1 ชอนชา ◦ อายุ 1 -3 ป รับประทานครั้งละ 1/2 ชอนชา ◦ เด็กแรกเกิด หามรับประทานตัวอยางการเขียนผังงานโปรแกรม การเขียนผังงานการหาพืนทีวงกลม ้ ่เรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 35
  6. 6. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) สามารถใชคําอื่น ๆ ไดเชน Begin สามารถใชคําอื่น ๆ ไดเชน Input , Get สามารถใชคําอื่น ๆ ไดเชน Show , Display สามารถใชคําอื่น ๆ ไดเชน Stopรูปแบบการเขียนผังงาน 1. การเขียนผังงานแบบเรียงลําดับการทํางาน (Sequential Structure) 2. การเขียนผังงานแบบมีทางเลือกการทํางาน (Decision Structure) • ผังงานแบบมี 2 ทางเลือก IF • ผังงานที่มีมากกวา 2 ทางเลือก CASE 3. การเขียนผังงานแบบมีการทํางานวนซ้ํา (Iteration Structure) • While • Do while • Repeat until (Do until) • Forการเขียนผังงานแบบเรียงลําดับการทํางาน (Sequential Structure) เปนโครงสรางของโปรแกรมที่ทํางานเปนลําดับขั้นตอนเรียงกันไป โดยไมมีการขามขั้นตอน หรือ ยอนกลับ ดังตัวอยางตอไปนี้เรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 36
  7. 7. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ผั ง งานแสดงโปรแกรมการ คํานวณคา a จากสูตร a = x + y โดยรับคา x และ y ทางแปนพิมพ และ แสดงผลลัพธ a ออกทางจอภาพการเขียนผังงานแบบมีทางเลือกการทํางาน (Decision Structure) เปนการเขียนผังงงานที่มีลักษณะการทํางานแบบมีเงื่อนไขทางตรรกะ โดยใชประโยชนจากพีชคณิตบูลีน เพื่อใหเครื่องประมวลผลลักษณะตัดสินใจ เลือกทิศทางการทํางานตามคําสั่งที่กําหนดไว ดังตัวอยางตอไปนี้ ผั ง งานแสดงโปรแกรมการ ประเมิ น ผลการเรี ย น โดยรั บ คะแนน นั ก ศึ ก ษาเข า มาทางแป น พิ ม พ ถ า คะแนนมากวาหรือเทากับ 50 ใหแสดง คําวา “Pass” ที่หนาจอ แตถานอยกวา 50 ใหแสดงคําวา Fail การเขียนผังงานแบบมีทางเลือกสามารถแบงออกเปนลักษณะการเขียนดังนี้ ◦ ผังงานแบบมีทางเลือกโดยใชคําสั่ง IF ◦ ผังงานที่มีมากกวา 2 ทางเลือกจากการใชคาสั่ง CASE ํเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 37
  8. 8. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ผังงานแบบมี 2 ทางเลือกจากการใชคําสัง IF ่ • IF แบบทางเลือกเดียว Single Selection จะทําการตรวจสอบเงื่อนไข ถาเปนจริง จะไปทําคําสั่งทํางาน ถาเปนเท็จ ก็จะออกจากโครงสรางโดยมีรูปแบบการเขียนดังนี้ • IF แบบสองทางเลือก Double Selection จะทําการตรวจสอบเงื่อนไข ถาเปนจริง จะไปทําคําสั่งทํางาน 1 แลวออกจากโครงสราง ถาเปนเท็จจะไปทําคําสั่งทํางาน 2 แลวออกจากโครงสราง ซึ่งมีรูปแบบการเขียนดังนี้ • IF แบบหลายทางเลือก Multi Selection เปนการตรวจสอบแบบหลายเงื่อนไข ทําใหมีทางออกไดหลายทาง ซึ่งเปนการนําโครงสรางของIF มาซอนกันเพื่อใหไดเงื่อนไขมากขึ้นตามความตองการ โดยมีรปแบบการเขียนดังนี้ ูเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 38
  9. 9. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ผังงานที่มีมากกวา 2 ทางเลือก CASE เปนการตรวจสอบเงื่อนไขของตัวแปรตรวจสอบ วามีคาตรงกับคาใด คาดังกลาวจะเปนตัวบอกกิจกรรมที่ตองทํา โดยมีรูปแบบการเขียนดังนี้การเขียนผังงานแบบมีการทํางานวนซ้ํา (Iteration Structure) โปรแกรมสวนใหญจะมีคําสั่งสําหรับการทํางานซ้ําหรือเรียกวา ลูป (Loop) โดยการทําซ้ําของโปรแกรมจะอยูภายใตเงื่อนไข จริง หรือ เท็จ ตามที่ผูเขียนโปรแกรมไดออกแบบไว รูปแบบของการวนซ้ํามีดังนี้ • While โครงสรางคําสั่งจะทําการตรวจสอบเงื่อนไขกอน ถาเงื่อนไขเปน จริง ก็จะทํากิจกรรมนั้นซ้ําไปเรื่อยๆ แตเมื่อเงื่อนไขเปน เท็จ จะหยุดทําซ้ําแลวออกจากลูปไป มีรูปแบบการเขียนดังนี้เรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 39
  10. 10. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ตัวอยาง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช While • Do while ทํากิจกรรมที่ตองการกอน แลวจึงตรวจสอบเงื่อนไข ถาเงื่อนไขเปน จริง ก็จะทํากิจกรรมนั้นซ้ําไป เรื่อยๆ แตเมื่อเงื่อนไขเปน เท็จ จะหยุดทําซ้ําแลวออกจากลูปไป มีรูปแบบการเขียนดังนี้ ตัวอยาง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช Do While • Repeat until (Do until) ทํากิจกรรมที่ตองการกอน แลวจึงตรวจสอบเงื่อนไข ถาเงื่อนไขเปน เท็จ ก็จะทํากิจกรรมนั้นซ้ําไป เรื่อยๆ แตถาเงือนไขเปน จริง จะหยุดทําซ้าแลวออกจากลูปไป มีรูปแบบการเขียนดังนี้ ่ ํเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 40
  11. 11. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ตัวอยาง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช Repeat until (Do until) • For โครงสรางคําสั่งจะทําการวนซ้ําโดยรูจํานวนแนนอน โดยมีการกําหนดคาเริ่มตน คาสิ้นสุด ของตัวแปรนับรอบ มีรูปแบบการเขียนดังนี้ ตัวอยาง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช Forเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 41
  12. 12. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501)ตัวอยางการเขียนผังงานจากโจทยปญหา จากโจทยปญหาวิเคราะหหาตัวแปรที่ใชในอัลกอริทึม นํามาเขียน Pesudo Code และเขียนผังงาน • ตัวอยาง 1 จงเขียน Flowchart รับขอมูลจํานวนสมที่ซื้อ เพื่อคํานวณหาราคาสมที่ตองจาย โดยมี เงื่อนไขวา ถาซื้อสมนอยกวาหรือเทากับ 5 กิโลกรัม คิดราคากิโลกรัมละ 35 บาท แตถาซื้อสมนอย มากกวา 5 กิโลกรัมขึ้นไป คิดราคากิโลกรัมละ 30 บาท กําหนดตัวแปรที่ใช น้ําหนักของสมที่ซื้อ ใชช่อตัวแปร weight ื ราคาสมที่ตองจาย ใชชื่อตัวแปร amount Pseudo code Flowchart Compute_amount INIT weight , amount : INTEGER READ weight IF (weight<=5) THEN amount = weight * 35 ELSE amount = weight * 30 END IF END • ตัวอยางที่ 2 จงเขียนผังงานเพื่อรับตัวเลขจํานวน n ตัว ตามจํานวนที่ผูใชตองการ และหาผลรวม ของตัวเลขทั้งหมดนัน ้ กําหนดตัวแปรที่ใชในผังงาน จํานวนตัวเลข ใชชื่อตัวแปร n คาของตัวเลข ใชชื่อตัวแปร number ผลรวม ใชชื่อตัวแปร resultเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 42
  13. 13. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) ตัวนับจํานวน “ครั้งที่ของการปอนตัวเลข” ใชช่อตัวแปร count ื Pseudo code FlowchartSum_Number INIT n,number,result,count : INTEGER count = 1 READ n WHILE (count<=n) READ number result = result + number count = count + 1 END WHILE PRINT resultEND • ตัวอยางที่ 3 จงเขียนผังงานเพื่อรับตัวเลขครั้งละ 1 จํานวน และใหตรวจสอบ ถาตัวเลขที่รับเขามามี คามากกวา 50 ใหแสดงตัวเลขนั้นบนหนาจอ จากนั้นวนรับตัวเลขแลวทําซ้ําจนครบ 10 จํานวน กําหนดตัวแปรที่ใชในผังงาน คาของตัวเลข ใชชื่อตัวแปร number ตัวนับจํานวน “ครั้งที่ของการปอนตัวเลข” ใชชื่อตัวแปร count Pseudo code Print_Number>50 INIT number, count : INTEGER count = 1 WHILE (count<=5) Read number IF(number>50)THEN Print number END IF count = count + 1 END WHILE ENDเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 43
  14. 14. เอกสารประกอบการเรียน วิชาหลักการเขียนโปรแกรมคอมพิวเตอร (7121501) Flowchartเรียบเรียงโดย อาจารยนพดล ผูมีจรรยา โปรแกรมวิชาเทคโนโลยีคอมพิวเตอร หนา 44

×