Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

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

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

Published by chulalak thachaila, 2019-09-07 21:38:04

Description: ความหมายของผังงาน
ประโยชน์ของผังงาน
ประเภทของผังงาน
สัญลักษณ์ที่ใช้ในการเขียนผังงาน
หลักเกณฑ์การเขียนผังงาน
ลักษณะของโครงสร้างในการเขียนผังงาน
ตัวอย่างการเขียนผังงาน

Search

Read the Text Version

[หปนี ]ว่ ยที่ 4 การเขยี น Flowchart TOP Eจzุฬy าลกั ษณ์ ถาไชยลา [ภเลาือคกววนั ิชทาี่] คอมพวิ เตอรธ์ ุรกจิ วิทยาลยั อาชีวศึกษามหาสารคาม

56 หน่วยที่ 4 การเขียนผงั งาน หน่วยที่ 4 การเขยี นผงั งาน สาระการเรียนรู้ 1. ความหมายของผงั งาน 2. ประโยชน์ของผงั งาน 3. ประเภทของผงั งาน 4. สญั ลกั ษณ์ทใี่ ชใ้ นการเขยี นผงั งาน 5. หลกั เกณฑก์ ารเขียนผงั งาน 6. ลกั ษณะของโครงสร้างในการเขียนผงั งาน 7. ตวั อยา่ งการเขียนผงั งาน จุดประสงค์การเรียนรู้ 1. บอกความหมายของผงั งานได้ 2. บอกประโยชนข์ องผงั งานได้ 3. บอกความหมายของสญั ลกั ษณ์ท่ใี ชใ้ นการเขยี นผงั งานได้ 4. เขียนสญั ลกั ษณ์ทใี่ ชใ้ นการเขยี นผงั งานไดถ้ ูกตอ้ ง 5. อธิบายลกั ษณะการเขียนผงั งานที่ดีได้ 6. เขียนผงั งานสาหรับวธิ ีการประมวลผลทกี่ าหนดไวไ้ ด้ 7. มีความสนใจใฝ่ เรียนรู้ ต้งั ใจเรียน 8. มีวนิ ยั เขา้ เรียนทนั เวลา ปฏบิ ตั ิตามกฎระเบยี บของวทิ ยาลยั ฯ 9. มีความรับผดิ ชอบงานท่ีไดร้ ับมอบหมาย 10. มีความคดิ ริเร่ิมสรา้ งสรรค์ มีความเช่ือมนั่ กลา้ ลองผดิ ลองถูก 11. มีความซื่อสตั ยต์ ่อตนเองและผอู้ นื่ จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 57 ความหมายของผงั งาน ผังงาน (Flowchart) ในทางคอมพวิ เตอร์หมายถึง แผนภาพ (Diagram) หรือ สญั ลกั ษณ์แสดงการอธิบายลาดบั ข้นั ตอนการทางาน การแกป้ ัญหา หรือการพฒั นาโปรแกรม ของคอมพวิ เตอร์ โดยใชส้ ญั ลกั ษณ์ต่าง ๆประกอบเขา้ ดว้ ยกนั และมีทิศทางแสดงลาดบั ข้นั ตอนการ ทางานต้งั แตข่ ้นั ตอนแรกจนถึงข้นั ตอนสุดทา้ ย วา่ มีลาดบั ข้นั ตอนการทางานอยา่ งไรบา้ ง ซ่ึงเป็น สญั ลกั ษณ์ท่เี ป็นมาตรฐานเดียวกนั ทว่ั โลก การเขียนผงั งานอธิบายลาดบั ข้นั ตอนการแกป้ ัญหา ถา้ ลกั ษณะของปัญหาไม่มีความซบั ซอ้ นมาก การพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหา (Algorithm Development) สามารถเขียนอธิบายลาดบั ข้นั ตอนการทางานเป็นลกั ษณะขอ้ ความ (Algorithm) ไดส้ ะดวก ถา้ ปัญหามีความซบั ซอ้ นมากการอธิบายลาดบั ข้นั ตอนการทางานโดยใชผ้ งั งานจะช่วย ใหข้ ้นั ตอนในการพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหาสามารถพฒั นาไดส้ ะดวกยงิ่ ข้นึ การเขียนผงั งานแสดงข้นั ตอนการทางาน เป็ นเคร่ืองมือทีช่ ่วยในการเขยี นโปรแกรมและ ช่วยออกแบบข้นั ตอนการทางาน จะใชล้ ูกศรสื่อถึงลาดบั การทางาน ซ่ึงจะทาใหท้ ราบข้นั ตอนและ ลาดบั การทางานของโปรแกรมไดอ้ ยา่ งถูกตอ้ ง ประโยชน์ของการเขยี นผงั งาน ประโยชน์ของผงั งาน ใชส้ าหรบั ช่วยในการพฒั นาลาดบั ข้นั ตอนวธิ ีการแกป้ ัญหา เนื่องจาก ผงั งานเป็นการอธิบายข้นั ตอนการทางานในลกั ษณะของรูปภาพ ใหส้ ามารถเห็นลาดบั ของ ข้นั ตอนวธิ ีการทางานไดช้ ดั เจนกวา่ การอธิบายในลกั ษณะขอ้ ความ การใชผ้ งั งานเพอื่ ช่วยสาหรับ การหาข้นั ตอนวธิ ีการทางาน จะทาใหส้ ามารถเขยี นอธิบายข้นั ตอนการทางานในลกั ษณะขอ้ ความ ไดส้ ะดวกข้ึน ช่วยใหผ้ เู้ ขียนโปรแกรมสามารถกาหนดข้นั ตอนการทางานกอ่ นหลงั ของโปรแกรม ไดอ้ ยา่ งเป็นระบบ และจะช่วยใหก้ ารเขยี นโปรแกรมเป็ นไปอยา่ งถูกตอ้ ง สามารถตรวจสอบและ แกไ้ ขโปรแกรมไดง้ ่ายหากมีการปรบั ปรุงโปรแกรมท่เี กิดข้นึ ไดใ้ นอนาคต สรุปไดด้ งั น้ี 1. ช่วยอธิบายข้นั ตอนการทางานแต่ละข้นั ใหเ้ ขา้ ใจการทางานของโปรแกรมไดง้ ่ายและ รวดเร็ว 2. สามารถวเิ คราะหค์ วามถูกตอ้ งของโปรแกรมก่อนเขียนโปรแกรมจริง และตรวจสอบ ข้นั ตอนการทางานเพอ่ื หาขอ้ ผดิ พลาดท่ีเกิดข้ึนไดส้ ะดวก 3. ทาใหท้ ราบถึงโครงสรา้ งของโปรแกรมท้งั หมดท่จี ะเขียน จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

58 หน่วยที่ 4 การเขียนผงั งาน 4. ใชเ้ ป็นส่ือในการติดต่อประสานงานกนั ระหวา่ งนกั วเิ คราะหร์ ะบบ นกั ออกแบบ โปรแกรม กบั นกั เขยี นโปรแกรมและผใู้ ช้ ใหส้ ามารถเขา้ ใจข้นั ตอนท้งั หมดได้ เพราะ ไม่ใช่ภาษาคอมพวิ เตอร์ 5. ช่วยใหเ้ ขียนโปรแกรมไดง้ า่ ย 6. ช่วยใหก้ ารกระจายงานใหน้ กั เขยี นโปรแกรมหลาย ๆ คนช่วยเขียนโปรแกรมเป็ นส่วน ๆ ได้ เพราะทราบข้นั ตอนการทางานของโปรแกรมทชี่ ดั เจน สามารถบางส่วน และ ประมาณการทางานไดอ้ ยา่ งตอ่ เน่ือง 7. สามารถนาผงั ลาดบั การทางานของโปรแกรม มาเป็นตน้ แบบในการพฒั นาโปรแกรม อื่น ๆ ท่ีมีลาดบั ขน้ ตอนการทางานคลา้ ย ๆ กนั ได้ 8. การบารุงรักษาโปรแกรม (Program Maintenance) ทาไดง้ ่ายและมีประสิทธิภาพ มากข้ึน ประเภทของผงั งาน ในการเขียนผงั งานน้นั สามารถจาแนกแบบของผงั งานออกเป็น 2 แบบใหญ่ ๆ คอื 1. ผังงานระบบ (System Flowchart) หรือผงั งานในระดบั กวา้ ง ซ่ึงจะเป็นการแสดง ข้นั ตอนการทางานของระบบท้งั หมด ผงั งานระบบมกั จะมีลกั ษณะยน่ ยอ่ รวบรดั และแสดง เฉพาะตวั งานทจ่ี ะตอ้ งทาในระบบเทา่ น้นั ไมม่ ุ่งเนน้ รายละเอียดในการปฏบิ ตั ิ ไม่ไดแ้ สดงวา่ งาน น้นั จะทาอยา่ งไร ความสาคญั ของผงั งานระบบอยทู่ ่กี ารแสดงความสมั พนั ธร์ ะหวา่ งงานต่างๆ ใน ระบบวา่ มีความสมั พนั ธก์ นั อยา่ งไร ต้งั แตเ่ ร่ืองของวสั ดุอุปกรณ์ บคุ ลากร และหน่วยงานที่ เกี่ยวขอ้ ง ตวั อยา่ งเช่น ขอ้ มูลรายวชิ า บตั รลงทะเบยี น ขอ้ มูลครูผสู้ อน ชาระเงิน บนั ทึกการลงทะเบียน แผนผงั ระบบ แสดงขน้ั ตอนการลงทะเบียนเรียน จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 59 2. ผงั งานโปรแกรม (Program Flowchart) หรือผงั งานระดบั ละเอียด เป็นภาพแผนผงั ท่ี แสดงลาดบั ข้นั ตอนในการทางานของโปรแกรม ซ่ึงจะแยกยอ่ ยมาจากผงั งานระบบ คอื ในแตล่ ะ ข้นั ตอนจะแสดงการทางานแตล่ ะคาสง่ั โดยละเอยี ด ใส่วธิ ีการ และจดั ลาดบั ข้นั ตอนของโปรแกรม สาหรับโปรแกรมน้นั ๆ ต้งั แต่เร่ิมตน้ จากการรับขอ้ มูล การประมวลผล และไปจนถึงการแสดง ผลลพั ธท์ ไ่ี ดจ้ ากการประมวลผลที่ผเู้ ขียนโปรแกรมกาลงั ทางานอยู่ ไม่ไดแ้ สดงความสมั พนั ธ์ ระหวา่ งโปรแกรมน้นั กบั โปรแกรมอื่น ๆ ตวั อยา่ งเช่น Start Read Id , Name , Salary , Chil Money Chil * 50 Tax Salary * 0.02 Net Salary + Money - Tax Id , Name Salary , Chil , Money ,Tax ,Net Stop แผนผงั โปรแกรม แสดงขนั้ ตอนการคานวณรายได้สุทธิ การใชผ้ งั งานในการออกแบบโปรแกรม โดยเร่ิมจากผงั งานระบบลงมายงั ผงั งานโปรแกรม เป็นเทคนิคการออกแบบจากบนลงล่าง (Top-Down Design) แต่นกั โปรแกรมไม่คอ่ ยใชผ้ งั งาน กนั มากนกั เพราะจะตอ้ งเขยี นและทดสอบโปรแกรมบ่อยคร้ังทาใหก้ ารเขียนโปรแกรมล่าชา้ ดว้ ย จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

60 หน่วยท่ี 4 การเขียนผงั งาน สัญลกั ษณ์การเขยี นผงั งาน (Flowchart Symbols) สญั ลกั ษณ์ท่ีใชใ้ นการเขียนผงั งานโปรแกรม (Program Flowchart) มีหลายสญั ลกั ษณ์ ดว้ ยกนั และสญั ลกั ษณ์ในแต่ละแบบก็จะมีความหมายและการใชง้ านทแ่ี ตกตา่ งกนั ออกไป ดงั น้ี สญั ลกั ษณ์ ช่ือท่เี รียก ความหมาย ตวั อยา่ งการใชง้ าน Terminals สาหรบั แทนจุดเริ่มตน้ ของการทางาน และ START จุดสิ้นสุดของการทางาน STOP Processing แทนการประมวลผลท่ี Total = Total + OT Input / Output เกิดข้ึน เช่น การ Manual Input กาหนดค่าใหก้ บั ตวั แปร, Read A,B,C การคานวณ Print A,B,C การนาเขา้ ขอ้ มูลหรือการ แสดงผลลพั ธข์ องขอ้ มูล Name โดยไม่ไดร้ ะบุอุปกรณ์วา่ เป็ นชนิดใด ใชแ้ ทนการรับขอ้ มูลเขา้ ทางคียบ์ อร์ด Display ใชแ้ ทนการแสดงผลลพั ธ์ Name ทางจอภาพ Document แทนเอกสารหรือการ Name, แสดงผลทางเคร่ืองพมิ พ์ Salary Decision แสดงถึงเงือ่ นไขการ ตดั สินใจ หรือการเลือก ทางเลือกจากเงือ่ นไขของ Score > 80 การตรวจสอบคา่ ที่นามา เปรียบเทียบ จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 61 สญั ลกั ษณ์ ชื่อท่ีเรียก ความหมาย ตวั อยา่ งการใชง้ าน Connector ใชส้ าหรบั การเชื่อมต่อ จุดการไหลของขอ้ มูลที่ A อยภู่ ายในหนา้ เดียวกนั A ใชส้ าหรบั เชื่อมต่อการ A ไหลของขอ้ มูลทอี่ ยคู่ น ละหนา้ กระดาษ A A Off-page Connector A Preparation ใชใ้ นความหมายของการ I=1 To 10 ทางานแบบวนรอบ (Loop) หรือการทาซ้า Flow Line แทนเสน้ ทางการไหล I ของขอ้ มลู ภายในผงั งาน I=1 To 10 Predefined โดยใชห้ วั ลุกศรเป็น Process ตวั กาหนดทศิ ทางการ I ไหลของขอ้ มูลวา่ จะไป ในทิศทางใด Module A ใชแ้ ทนการทางานของ โปรแกรมยอ่ ย (Subroutine) ข้นึ อยกู่ บั การออกแบบอลั กอริทมึ จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

62 หน่วยท่ี 4 การเขียนผงั งาน สญั ลกั ษณ์ ชื่อทเี่ รียก ความหมาย ตวั อยา่ งการใชง้ าน Remark เป็นสญั ลกั ษณ์ของหมาย เหตทุ ี่ใชอ้ ธิบายส่วนของ หมายเหตุ ใช้ Magnetic Disk ผงั งานเพมิ่ เติม ไม่มีผล อธิบายเพ่มิ เตมิ ใด ๆ กบั ส่วนของ อลั กอริทึม ใชเ้ พอื่ อธิบาย เพม่ิ เติมในกระบวนการ ต่าง ๆ ใชแ้ ทนการบนั ทึกขอ้ มูล ลงบนจานแม่เหล็ก Magnetic Tape ใชแ้ ทนการบนั ทึกขอ้ มูล Magnetic Drum ลงบนเทปแม่เหลก็ ใชแ้ ทนการบนั ทกึ ขอ้ มูล ลงบนดรมั แม่เหล็ก Manual Operation การประมวลผลดว้ ยมือ Stored Data การเก็บขอ้ มูล Extract Merge การแยกขอ้ มูลออกเป็น Collate หลาย ๆ ชุด การรวมขอ้ มูลเขา้ มาเป็น ชุดเดียวกนั กระบวนการทีต่ อ้ งการ จดั การขอ้ มูล Sort การเรียงลาดบั ขอ้ มูล จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยที่ 4 การเขียนผงั งาน 63 หลกั เกณฑ์ทัว่ ไปในการเขียนผงั งาน เพอื่ ใหเ้ ป็ นมาตรฐานเดียวกนั การเขยี นผงั งานควรมีลกั ษณะดงั น้ี 1. จะตอ้ งเขยี นโดยใชส้ ญั ลกั ษณ์ต่าง ๆ ทถ่ี ูกตอ้ งตามมาตรฐานทกี่ าหนดไว้ 2. สญั ลกั ษณ์หรือภาพหน่ึงจะตอ้ งแทนหน่ึงคาสง่ั เทา่ น้นั 3. ควรเขียนผงั งานให้จบภายในหนา้ เดียว ถา้ เขียนมากกวา่ หน่ึงหนา้ ตอ้ งใชส้ ญั ลกั ษณ์ใน การเชื่อมต่อจุดระหวา่ งหนา้ 4. การใชส้ ญั ลกั ษณ์จดุ เริ่มตน้ และจุดสิ้นสุด จะตอ้ งมีเพยี งอยา่ งละหน่ึงแห่งเท่าน้นั ยกเวน้ การเขียนในลกั ษณะเพม่ิ เติมทีเ่ ป็นโมดูล (Module) หรือโปรแกรมยอ่ ย (Subprogram) ซ่ึงเป็ นส่วน หน่ึงของผงั งาน จงึ จะสามารถสร้างข้นึ มาใหม่เพอื่ เป็นจุดบอกการเร่ิมตน้ และสิ้นสุดของโมดูลหรือ โปรแกรมยอ่ ยน้นั ๆ 5. ทกุ สญั ลกั ษณ์ท่ีเขยี นจะตอ้ งมีทศิ ทางเขา้ และออกเพยี งหน่ึงแห่งเท่าน้นั ยกเวน้ สญั ลกั ษณ์ จุดเริ่มตน้ จุดตอ่ จุดสิ้นสุด และทางเลือกในการตดั สินใจ 6. การเขยี นอธิบายข้นั ตอนการทางานโดยเรียงลาดบั ก่อนหลงั ดงั น้ี (1) กาหนดค่าเริ่มตน้ ใหก้ บั ตวั แปร (2) Input คือ การรับขอ้ มูลเขา้ (3) Process คือ ข้นั ตอนการประมวลผลหรือคานวณ (4) Output คือ การแสดงผลลพั ธห์ รือค่าตวั แปรทีไ่ ดจ้ ากการประมวลผล 7. ทิศทางการเขียนผงั งาน ควรเรียงลาดบั จากบนลงล่างหรือจากซา้ ยไปขวาเท่าน้นั 8. ไม่ควรเขียนข้นั ตอนการทางานแบบขา้ มลาดบั สลบั ไปมาแบบยงุ่ ยาก และไม่มีเสน้ ทศิ ทางโยงไปมาตดั กนั 9. ควรมีการทดสอบผงั งานก่อนทจี่ ะนาไปเขยี นโปรแกรม 10. ควรเขยี นหวั ลูกศรกากบั ทิศทางการไหลของขอ้ มูลเสมอ 11. ไม่ควรปล่อยทิ้งเสน้ การไหลของขอ้ มลู (Floe Line) เอาไวเ้ ฉย ๆ โดยไม่ไดม้ ีการ เช่ือมตอ่ ระหวา่ งข้นั ตอนหน่ึงไปสู่อีกข้นั ตอนหน่ึง 12. คาอธิบายภายในผงั งานควรเขียนดว้ ยขอ้ ความท่ีส้นั ๆ และเขา้ ใจง่าย 13. ในบางกรณีอาจใชส้ ญั ลกั ษณ์หมายเหตุ (Remark) เพอื่ อธิบายส่วนของผงั งานเพม่ิ เติม เพอ่ื ความเขา้ ใจ และอธิบายกระบวนการตา่ ง ๆ ของอลั กอริทึมทีไ่ ดอ้ อกแบบเอาไว้ 14. ควรเขยี นช่ือผงั งาน ช่ือผเู้ ขยี น วนั ที่เขยี น และหมายเลขหนา้ รวมท้งั เขียนผงั งานให้ สะอาด เรียบร้อย จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

64 หน่วยที่ 4 การเขียนผงั งาน โครงสร้างการควบคมุ การทางานของผงั งาน 1. การเขยี นผังงานกบั โครงสร้างควบคมุ แบบลาดบั ลกั ษณะของผงั งานทีม่ ีโครงสรา้ งควบคุมแบบลาดบั จะเป็นลกั ษณะการทางานเป็นลาดบั เรียงกนั ไปจากบนลงล่าง ไม่มีการยอ้ นกลบั ไปทาลาดบั ที่ผา่ นมาได้ ในผงั งานเราใชส้ ญั ลกั ษณ์ Process Symbol แทนโครงสร้างควบคุมแบบลาดบั ดงั น้ี Statement 1 Statement 2 Statement 3 รูปแสดงการเขียนผงั งานโครงสร้างควบคุมแบบลาดบั ตวั อยา่ ง จงเขียนผงั งาน (Flowchart) เพอื่ รบั ค่า A,B และ กาหนดให้ C มีคา่ เท่ากบั A บวกกบั B พรอ้ มกบั พมิ พผ์ ลลพั ธข์ องคา่ C ลงบนจอภาพ START A,B C=A+B C STOP จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยที่ 4 การเขียนผงั งาน 65 2. การเขยี นผงั งานกบั โครงสร้างควบคมุ แบบการตดั สินใจ รูปแบบของการเขียนผงั งานแบบการตดั สินใจ จะข้ึนกบั เงือ่ นไข (Condition) ในการ ตดั สินใจวา่ มีค่าความจริงเป็นจริงหรือเทจ็ และโปรแกรมกจ็ ะขา้ มไปทางานในกล่มุ ของคาสง่ั ตาม เงื่อนไขน้นั ๆ รูปแบบของคาสงั่ การตดั สินใจโดยทวั่ ไป มีดงั น้ี รูปแบบที่ 1 ทางเลอื กทางเดียว (Single Alternative IF) เป็นลกั ษณะของ คาสง่ั ที่มีทางเลือกทางเดียว คอื ถา้ เง่ือนไขในการตรวจสอบเป็ นจริงจงึ ทาคาสง่ั (Statement) หรือ กลุ่มคาสงั่ (Statement Block) แต่ถา้ เงื่อนไขการตรวจสอบเป็ นเทจ็ กใ็ หข้ า้ มไปทาคาสงั่ ถดั ไป Condition F T Statement 1 รูปแบบทางเลือกทางเดียว รูปแบบที่ 2 ทางเลือกสองทาง (Double Alternative) เป็นรูปแบบทีม่ ี ทางเลือกสองทางเลือก ข้ึนอยกู่ บั คา่ ท่ใี ชใ้ นการตรวจสอบเง่อื นไข โดยใชค้ าสง่ั ELSE เพอื่ เป็นการ แบ่งแยกเงื่อนไขของทางเลือก คือ เมอื่ เง่ือนไขในการตรวจสอบมีค่าความจริงเป็ นจริง กจ็ ะไปทา คาสง่ั หลงั คาวา่ THEN แลว้ จึงทาคาสง่ั ถดั จากคาสง่ั END IF และถา้ เงอื่ นไขกาตรวจสอบมีค่าความ จริงเป็นเทจ็ กจ็ ะไปทาคาสงั่ หลงั คาวา่ ELSE แลว้ จงึ ทาคาสงั่ ถดั จากคาสง่ั END IF ต่อไป Condition F Statement 2 T Statement 1 รูปแสดงทางเลือกสองทาง หลกั การเขียนโปรแกรม จุฬาลกั ษณ์ ถาไชยลา วอศ.มค.

66 หน่วยท่ี 4 การเขียนผงั งาน รูปแบบที่ 3 ทางเลอื กหลายทาง (Multiple Alternative) โครงสร้างควบคุมแบบ การตดั สินใจชนิดทางเลือกหลายทางยงั สามารถแบ่งยอ่ ยไดอ้ ีก 2 ลกั ษณะ คอื 1. ทางเลือกหลายทางแบบ IF ซอ้ น IF (Nested IF statement) Condition F F T Condition Statement 1 T Condition F Statement 2 Statement 4 T Statement 3 แสดงรูปแบบทางเลือกแบบ Nested IF 2. ทางเลือกหลายทางแบบ Case (Case Control Structure) Case of Variable Statement 1 Statement 2 Statement 3 Statement 4 แสดงรูปแบบทางเลือกแบบ case Structure จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยที่ 4 การเขียนผงั งาน 67 3. การเขียนผงั งานกับโครงสร้างควบคุมแบบการทาซ้า รูปแบบการเขียนโครงสรา้ งการ ทาซ้าหรือการวนรอบน้นั สามารถใชร้ ูปแบบได้ 3 รูปแบบ ไดแ้ ก่ 1. รูปแบบ WHILE Structure ในการเปรียบเทียบเง่อื นไขของการทาซ้า ถา้ เงอื่ นไขเป็ นจริงก็จะทาคาสง่ั ภายในลูป (Loop) ของ DOWHILE จนถึง ENDDO และวน กลบั มาเปรียบเทยี บอีกคร้งั เพอ่ื ทางานต่อไป จนกระทงั่ เงื่อนไขในการเปรียบเทียบเป็นเท็จ จงึ จะขา้ มไปทาคาสงั่ ถดั ไป ที่ต่อจากคาสงั่ ENDDO น้นั เอง Condition Statement 1 F T 2. รูปแบบ REPEAT...UNTIL Structure รูปแบบน้ีจะทาคาสง่ั ภายในลูปก่อน หน่ึงคร้งั แลว้ ทาการเปรียบเทียบคา่ ตวั แปรถา้ เง่ือนไขเป็นเทจ็ ก็ทาคาสง่ั ภายในลูปใหม่ แต่ ถา้ เง่อื นไขในการเปรียบเทียบหลงั คาสงั่ UNTIL เป็นจริงจึงจะขา้ มไปทาคาสง่ั ถดั ไป Statement 1 Condition F T 3. รูปแบบ DO...ENDDO Structure (FOR Loop) หากทราบจานวนท่จี ะ วนรอบทแี่ น่นอน ควรจะใช้ DO Loops โดยมี Loop Index เป็นตวั ควบคุมการวนรอบ หากตรวจสอบจานวนรอบจะกระทาโดยอตั โนมตั ิ การส้ินสุดการวนรอบจะกระทาเมื่อ เงอ่ื นไขเป็ นเทจ็ I = J to K Statement 1 I จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

68 หน่วยท่ี 4 การเขียนผงั งาน ตัวอย่างการเขยี นผงั งาน ตวั อยา่ งท่ี 1 ผงั งานการคานวณหาพ้นื ทีส่ ามเหล่ียม START เร่ิมตน้ รับค่าฐาน ,สูง READ BASE , HEIGHT พ้ืนที่ = 0.5 x ฐาน x สูง AREA = 0.5 x BASE x HEIGHT แสดงค่าพ้ืนท่ี PRINT AREA สามเหลี่ยม END จบการทางาน คาอธิบาย เม่ือเริ่มทางาน จะมีการรับคา่ ความยาวฐานและค่าความสูงของพน้ื ท่สี ามเหลี่ยม เม่ือไดร้ บั ค่าท้งั สองแลว้ โปรแกรมจะคานวณหาพ้นื ท่ีโดยใชส้ ูตรการหาพน้ื ทสี่ ามเหล่ียม 0.5 x ความยามฐาน x ความสูงของสามเหล่ียม เม่ือคานวณเสร็จจะแสดงผลลพั ธอ์ อกมาทางจอภาพและจบการทางาน ตวั อยา่ งที่ 2 ผงั งานของโปรแกรมหาคา่ ผลรวมของเลขคูต่ ้งั แต่ 1 ถึง 10 START Number = 2 YES Number > 10 NO SUM = SUM + Number Number = Number + 2 SUM STOP จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยที่ 4 การเขียนผงั งาน 69 ตวั อยา่ งท่ี 3 ผงั งานการคานวณหาจานวนเงนิ ฝากธนาคาร เมื่อเงนิ ตน้ ที่นามาฝากมี 20,000 บาท อตั ราดอกเบ้ยี เงินฝากคอื 6.5% ตอ่ ปี ถา้ ฝากเงินเป็นเวลา 15 ปี จะมีเงนิ อยทู่ ้งั หมดเทา่ ใด START Money = 20000 No Year = 1 แสดง Money Year <=15 10 Yes Money = Money + (Money x 0.65) Year = Year + 1 STOP ตวั อยา่ งที่ 4 ผงั งานแสดงการคดิ ค่าล่วงเวลาใหพ้ นกั งาน 100 คน ซ่ึงใหค้ ่าทางานล่วงเวลาชว่ั โมงละ 250 บาท START Count = 1 Read Name , Hour OT = Hour * 250 Name , OT Count >=100 Yes No STOP Count = Count + 1 จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

70 หน่วยที่ 4 การเขียนผงั งาน ตวั อยา่ งที่ 5 ผงั งานแสดงการคดิ ค่า commission ของพนกั งานบริษทั แห่งหน่ึง โดยคดิ คา่ commission 30% จากยอดขายสินคา้ 4 ชนิด และใหห้ ายอดรวมสุทธิของค่า commission ท้งั หมด ของพนกั งานขายดว้ ย START Print Heading Code,Name,Sale1,Sale2,Sale3,Sale4 Sum = Sale1 + Sale2 + Sale3 + Sale4 Commis = Sum * 0.10 Total = Total + Commis Sum , Commis EOF ? Yes No Total STOP จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 71 ตวั อยา่ งท่ี 6 จงเขียนผงั งานเพอ่ื คานวณหาเงินโบนสั ของพนกั งาน จานวน 30 คน โดยมีเงือ่ นไข ดงั น้ี - ถา้ พนกั งานมีเงินเดือนต้งั แต่ 50,000 บาท จะใหโ้ บนสั เทา่ กบั 2 เท่าของเงนิ เดือน - ถา้ พนกั งานมีเงินเดือนนอ้ ยกวา่ 50,000 บาท จะใหโ้ บนสั เท่ากบั 3 เท่าของเงินเดือน ให้สะสมเงินโบนสั รวมของพนกั งานท้งั หมด START Bonus=0 , Net = 0 , I=1 Name , Salary Y Bonus = Salary* 3 Salary < 50000 N Bonus = Salary * 2 Net = Net + Bonus Name , Salary , Bonus I=I+1 Yes I >30 Net No STOP จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

72 หน่วยท่ี 4 การเขียนผงั งาน ตวั อยา่ งที่ 7 จงเขียนผงั งานเพอ่ื คานวณหาเกรดใหก้ บั นกั ศกึ ษา 10 คน โดยเกรดจะคดิ จาก คะแนน งาน คะแนนสอบกลางภาคและคะแนนสอบปลายภาค กาหนดเงอื่ นไขการคิดเกรดดงั น้ี - ถา้ คะแนนรวมเป็น 80 – 100 ใหเ้ กรด 4 - ถา้ คะแนนรวมเป็น 75 – 79 ใหเ้ กรด 3.5 - ถา้ คะแนนรวมเป็น 70 – 74 ใหเ้ กรด 3 - ถา้ คะแนนรวมเป็น 65 – 69 ใหเ้ กรด 2.5 - ถา้ คะแนนรวมเป็น 60 – 64 ใหเ้ กรด 2 - ถา้ คะแนนรวมเป็น 65 – 69 ใหเ้ กรด 1.5 - ถา้ คะแนนรวมเป็น 50 – 54 ใหเ้ กรด 1 - ถา้ คะแนนรวมเป็น 0 – 49 ใหเ้ กรด 0 START Score=0 , I=1 2 Name , Work , Mid , Fin Score = Work + Mid + Fin Score >= 80 Y N Grade = 4 Score >= 75 N Y Score >= 70 Grade = 3.5 N Score >= 65 Y N Grade = 3 A Y Grade = 2.5 1 จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 73 A Score >= 60 Y N Grade = 2 Score >= 55 Y N Grade = 1.5 Score >= 50 N Y Grade = 0 Grade = 1 1 Name , Score , Grade I=I+1 Yes I >30 STOP No 2 จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

74 หน่วยท่ี 4 การเขียนผงั งาน ตวั อยา่ งที่ 8 จงวเิ คราะหป์ ัญหาและเขียนผงั งาน เพอ่ื คานวณรายไดส้ ุทธิของพนกั งานจากขอ้ มูล จานวนชวั่ โมงทางานและอตั ราคา่ จา้ งต่อชวั่ โมง โดยมีเง่ือนไข ดงั น้ี ถา้ เงนิ รายไดน้ อ้ ยกวา่ 20000 ไม่ตอ้ งเสียภาษี ส่วนท่เี กิน 20000 แตไ่ ม่เกิน 50000 เสียภาษีรอ้ ยละ 8 ส่วนทเ่ี กิน 50000 เสียภาษีรอ้ ยละ 12 ส่ิงทีต่ อ้ งการ 1. คานวณรายไดก้ ่อนหกั ภาษี , ภาษี และรายไดส้ ุทธิของพนกั งาน ผลลพั ธท์ ่ีตอ้ งการ 1. ช่ือพนกั งาน 2. จานวนชวั่ โมงทางาน 3. อตั ราคา่ จา้ ง 4. รายไดก้ ่อนหกั ภาษี 5. ภาษี 6. รายไดส้ ุทธิ ขอ้ มูลนาเขา้ 1. ชื่อพนกั งาน 2. จานวนชว่ั โมงทางาน 3. อตั ราคา่ จา้ ง ตวั แปรทใี่ ช้ : Name 1. ช่ือพนกั งาน : Hour 2. จานวนชว่ั โมงทางาน : Rate 3. อตั ราคา่ จา้ ง : Income 4. รายไดก้ ่อนหกั ภาษี : Tax 5. ภาษี : Net 6. รายไดส้ ุทธิ จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 75 วธิ ีการประมวลผล 1. เริ่มตน้ การทางาน 2. กาหนดค่าของ Income , Tax , Net  0 3. อ่านค่า Name , Hour , Rate 4. คานวณรายไดก้ ่อนหกั ภาษี Income  Hour * Rate 5. ตรวจสอบรายไดเ้ พอื่ คานวณภาษี 5.1 ถา้ Income < 20000 ให้ Tax = 0 ไปทาขอ้ 6. 5.2 ถา้ Income <= 50000 ให้ Tax = (Income – 20000) * 0.08 ไปทาขอ้ 6 5.3 ถา้ Income > 50000 ให้ Tax = (Income – 50000) * 0.12 + 1600 6. คานวณรายไดส้ ุทธิ Net  Income - Tax 7. พมิ พ์ Name , Hour , Rate , Income , Tax , Net 8. จบการทางาน START Income=0, Net = 0, Tax=0 Name , Hour ,Rate Income = Hour* Rate Y Income < 20000 Tax = 0 N Y Income <=50000 Tax=(Income-20000)*0.08 50000 N Tax=(Income-50000)*0.12 + 1600 Net = Income - Tax Name , Hour ,Rate , Income , Tax , Net STOP จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

76 หน่วยที่ 4 การเขียนผงั งาน แบบประเมินผลการเรียนรู้หน่วยท่ี 4 การเขยี นผงั งาน ขอ้ 1. จงตอบคาถามตอ่ ไปน้ี 1. จงบอกความหมายของผงั งาน .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... 2. จงบอกประโยชน์ของผงั งาน .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... 3. จงบอกหลกั การเขียนผงั งานที่ดี .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... 4. จงบอกความแตกตา่ งของผงั งานระบบกบั ผงั งานโปรแกรม .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... 5. โครงสร้างการเขยี นผงั งานมีกี่โครงสร้าง อะไรบา้ ง .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... .................................................................................................................................... จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 77 ขอ้ 2. จงเขียนสญั ลกั ษณ์ของผงั งานจากการอธิบายลาดบั ข้นั ตอนการทางานในลกั ษณะขอ้ ความ อธิบายลาดบั ข้นั ตอนการทางานในลกั ษณะขอ้ ความ สญั ลกั ษณ์ของผงั งาน 1. รับค่า Score ทางแป้ นพมิ พ์ 2. แสดงคา่ Commission ออกทางจอภาพ 3. กาหนดให้ Year = 5 4. แสดงคา่ ตวั แปร OLD 5. รบั ค่าตวั แปร Name และ Age 6. Sale = Price + Vat 7. แสดงคา่ Test ออกทางเคร่ืองพมิ พ์ 8. เร่ิมตน้ ทางาน 9. กาหนดให้ M = S x 0.5 x L 10. เปรียบเทียบวา่ A นอ้ ยกวา่ 10 หรือไม่ จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

78 หน่วยที่ 4 การเขียนผงั งาน ขอ้ 3. จงเขียนผงั งานจากอลั กอริทึมตอ่ ไปน้ี ผงั งาน 3.1 1. เริ่มตน้ 2. รบั ค่า Long 3.รับค่า Height 4.Area = Long * Height 5.แสดงคา่ Area 6. จบการทางาน ผงั งาน 3.2 1. เร่ิมตน้ 2. รับคา่ Price 3.รับคา่ Rate 4.รับคา่ Month 5.Total = Price * Rate * (Month/12) 6.แสดงคา่ Total ทางจอภาพ 7. จบการทางาน ผงั งาน 3.3 1. เริ่มตน้ 2. รบั คา่ Id 3. รับค่า name 4. รับค่า salary 5. แสดงคา่ Id , name , salary 6.Price = 20000 7.Rate = 0.05 8.รบั คา่ Compute 9.Sum = Price * compute * rate 10. Total = salary + sum 11. แสดงค่า Total ทางเครื่องพมิ พ์ 12. จบการทางาน จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 79 ผงั งาน 3.4 1. เริ่มตน้ 2. กาหนดคา่ Sum = 0 , n = 5 3. คานวณคา่ Sum = Sum + n 4. เปรียบเทียบ n=20 หรือไม่ ถา้ ใช่ ไปทาขอ้ 7 ถา้ ไม่ใช่ ทาขอ้ ถดั ไป 5. n = n + 5 6. กลบั ไปทาขอ้ 3 7. แสดงค่า Sum 8. จบการทางาน 3.5 ผงั งาน 1. เริ่มตน้ 2. กาหนดให้ Sum = 0 , count = 0 3.รบั ค่า num 4. รบั คา่ x 5. คานวณคา่ Sum = Sum + x 6. นบั จานวน count = count + 1 7. เปรียบเทียบจานวนตวั เลข ถา้ count > num ไปทาขอ้ 8 ถา้ count <= num ไปทาขอ้ 4 8. แสดงค่า Sum ทางเครื่องพมิ พ์ 9. จบการทางาน จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

80 หน่วยที่ 4 การเขียนผงั งาน ขอ้ 4. จงวเิ คราะห์ปัญหา และเขยี นผงั งาน ของบริษทั มหาสารคามเซอร์วสิ ตอ้ งการคานวณส่วนลด ใหก้ บั ลูกคา้ แตล่ ะคนเป็ นพเิ ศษ โดยมีหลกั การลดคา่ บริการดงั น้ี ถา้ คา่ บริการมากกวา่ 3,000 ใหส้ ่วนลดรอ้ ยละ 10 ถา้ ค่าบริการต้งั แต่ 3,000 ลงไปใหส้ ่วนลดรอ้ ยละ 5 ขอ้ 5. จงวิเคราะห์ปัญหา และเขยี นผงั งาน เพอ่ื คานวณหาเงินโบนสั จากยอดขาย ของพนกั งาน บริษทั โชคดีการเกษตร มีพนกั งานท้งั หมด 100 คน ใหส้ ะสมเงนิ โบนสั ท้งั หมดดว้ ย ดงั น้ี ถา้ ยอดขายนอ้ ยกวา่ หรือเท่ากบั 50000 โบนสั 3% ถา้ ยอดขายมากกวา่ 50000 โบนสั 5% ของส่วนทเี่ กิน ขอ้ 6. จงวเิ คราะห์ปัญหา และเขยี นผงั งาน เพอื่ คานวณหาเงินภาษรี ถยนต์ โดยคิดตามขนาดของรถ ดงั น้ี รถขนาด < 1300 CC ภาษี 800 บาท รถขนาด >= 1300 CC ภาษี 1200 บาท รถขนาด >= 1800 CC ภาษี 1500 บาท รถขนาด > 2500 CC ภาษี 2000 บาท ขอ้ 7. จงวิเคราะห์ปัญหา และเขียนผงั งาน เพอ่ื คานวณค่าใชโ้ ทรศพั ทข์ องลูกคา้ โดยคิดจากเวลาท่ี โทร ดงั น้ี โทรนอ้ ยกวา่ 1000 นาที ค่าโทรศพั ทเ์ ดือนละ 200 บาท โทรนอ้ ยกวา่ 2000 นาที ค่าโทรศพั ทเ์ ดือนละ 300 บาท โทรนอ้ ยกวา่ 5000 นาที คา่ โทรศพั ทเ์ ดือนละ 500 บาท โทรต้งั แต่ 5000 นาที คา่ โทรศพั ทเ์ ดือนละ 500 บาท ส่วนทเ่ี กิน นาทีละ 1 บาท ขอ้ 8. จงวเิ คราะหป์ ัญหา และเขียนผงั งาน เพอ่ื คานวณค่าส่งพสั ดุไปรษณีย์ โดยคดิ จากน้าหนกั พสั ดุ และตอ้ งชาระคา่ ธรรมเนียมเพม่ิ อีกคร้งั ละ 20 บาท ดงั น้ี น้าหนกั นอ้ ยกวา่ หรือเทา่ กบั 5 กิโลกรมั ๆ ละ 7 บาท น้าหนกั นอ้ ยกวา่ หรือเทา่ กบั 20 กิโลกรมั ส่วนท่ีเกิน กิโลกรมั ละ 10 บาท น้าหนกั มากกวา่ 20 กิโลกรัมข้ึนไป ส่วนทเ่ี กิน กิโลกรัมละ 15 บาท ************************* จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม

หน่วยท่ี 4 การเขียนผงั งาน 81 เอกสารอ้างองิ ณชั ตพิ งศ์ อูทอง. หนงั สือเรียน หลกั การเขียนโปรแกรม. กรุงเทพฯ:เอมพนั ธ,์ 2546. ดารุณีย์ พฒั ศรีเรือง และคณะ. หนงั สือเรียน การเขยี นโปรแกรมคอมพวิ เตอร์. กรุงเทพฯ:บริษทั ศูนยห์ นงั สือเมืองไทย จากดั , 2548. รุ่งทวิ า เสาร์สิงห์. การเขียนโปรแกรมคอมพวิ เตอร์เบ้อื งตน้ . กรุงเทพฯ : บริษทั ซีเอด็ ยเู คชนั่ จากดั (มหาชน) ,2548. เอกชยั เจริญนิตย.์ หลกั การออกแบบและพฒั นาโปรแกรม. กรุงเทพฯ:พฒั นาวชิ าการ (2535),2547. เอกพนั ธุ์ คาปัญญโญ. หลกั การออกแบบและพฒั นาโปรแกรม. กรุงเทพฯ : บริษทั ซคั เซส มีเดีย จากดั , 2549. แหล่งค้นคว้าเพม่ิ เตมิ เวบ็ ไซต์ http://www.anysila.compaci.buu.th/ เวบ็ ไซต์ http://www.bcoms.net/sysytem-anlysis เวบ็ ไซต์ http://www.course.eau.ac.th/computer.th/ เวบ็ ไซต์ http://www.courseware.bodin.ac.th/computer/ เวบ็ ไซต์ http://www.cs.science.cmu.ac.th/ เวบ็ ไซต์ http://www.geocities.com/S-Anlysis/Flowchartt3_new เวบ็ ไซต์ http://www.rsv.ac.th/e-learning/algorithm/RSVwork/ เวบ็ ไซต์ http://www.taecher.ob.tc/view.php เวบ็ ไซต์ http://www.tesabano.ac.th/teachPascal จุฬาลกั ษณ์ ถาไชยลา วอศ.มค. หลกั การเขียนโปรแกรม


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook