ผังงานและการเขียนโปรแกรม
ผังงาน (flowchart) คือ แผนภาพซึ่งแสดงลำดับขั้นตอนของการทำงาน โดยแต่ละขั้นตอนจะถูกแสดงโดยใช้สัญลักษณ์ซึ่งมีความหมายบ่งบอกว่า ขั้นตอนนั้น ๆ มีลักษณะการทำงาน ทำให้ง่ายต่อความเข้าใจ ว่าในการทำงานนั้นมีขั้นตอนอะไรบ้าง และมีลำดับอย่างไร ประโยชน์ของผังงาน
1. ช่วยให้สามารถทำความเข้าใจลำดับขั้นตอนการทำงานของโปรแกรมหรือระบบใด ๆได้อย่างรวดเร็ว
2. ช่วยแสดงลำดับขั้นตอนการทำงาน ทำให้สามารถเขียนโปรแกรมได้อย่างเป็นระบบไม่สับสน นอกจากนี้ผังงานยังเป็นอิสระต่อภาษาที่ใช้ในการ เขียนโปรแกรม กล่าวคือจากผังงานเดียวกันสามารถนำไปเขียนโปรแกรมด้วยภาษาใดก็ได้
ประเภทของผังงาน
1. ผังงานระบบ (system flowchart) เป็นผังซึ่งแสดงขอบเขต และลำดับขั้นตอนการทำงานของระบบหนึ่ง ๆ รวมทั้งแสดงรูปแบบของข้อมูลเข้า (Input) และข้อมูลออก (Output) ว่าถูกรับเข้าหรือแสดงผลโดยผ่านสื่อประเภทใด เนื่องจากผังงานระบบเป็นแผนภาพที่แสดงถึงระบบโดยรวม ดังนั้นกระบวนการหรือโปรแกรมหนึ่ง ๆ อาจถูกแสดงเป็นเพียงขั้นตอนหนึ่งในผังงานระบบเท่านั้น
2. ผังงานโปรแกรม (Program flowchart) เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานของโปรแกรมหนึ่ง ๆ จากตัวอย่างผังงานระบบมีความหมายดังนี้
1. นำข้อมูลเข้าจากฐานข้อมูลพนักงาน ซึ่งอยู่ในดิสก์ (disk) จึงเขียนแทนด้วยสัญลักษณ์
2. คำนวณเงินเดือน เป็นการประมวลผล จึงเขียนแทนด้วยสัญลักษณ์สี่เหลี่ยมผืนผ้า
3. พิมพ์เช็ค เป็นการแสดงผลทางเครื่องพิมพ์ จึงเขียนแทนด้วยสัญลักษณ์ ตัวอย่างผังงานโปรแกรม ผังงานโปรแกรมนี้แสดงการคำนวณเงินเดือนของพนักงาน โดยถ้าชั่วโมงการทำงานในเดือนนั้น ๆ ไม่เกิน 160 ชั่วโมง เงินเดือนจะถูกคำนวณโดยใช้อัตราค่าแรงตามปกติ แต่ถ้าชั่วโมงการทำงานเกิน 160 ชั่วโมง 160 ชั่วโมงแรกจะใช้อัตราค่าแรงตามปกติ และจำนวนชั่วโมงที่เกินจะคิดค่าแรงโดยใช้อัตราของค่าล่วงเวลา (overtime หรือ OT ) ซึ่งเท่ากับ 1.5 เท่าของอัตราค่าแรงปกติ จากผังงานสามารถแสดงขั้นตอนการทำงานได้ดั้งนี้
1. เริ่มต้นโปรแกรม ใช้สัญลักษณ์เทอร์มินัล
2. รับข้อมูลเข้า หรืออ่านค่าของข้อมูล ใช้สัญลักษณ์การรับค่าหรือแสดงผล
โดยข้อมูลที่รับประกอบด้วย
- ชื่อพนักงาน
- จำนวนชั่วโมงการทำงาน
- อัตราค่าแรง
3. พิจารณาเงื่อนไขว่าจำนวนชั่วโมงการทำงานมากว่า 160 ชั้วโมงหรือไม่ โดยใช้สัญลักษณ์การตัดสินใจ
3.1 ถ้าใช่ ให้ใช้สมการต่อไปนี้ในการคำนวณค่าจ้าง
ค่าจ้าง = ((ชั่วโมงการทำงาน - 160) *1.5 * อัตราค่าแรง)+(160 *อัตราค่าแรง)
3.2 ถ้าไม่ใช่ ให้ใช้สมการต่อไปนี้ในการคำนวณค่าจ้าง
ค่าจ้าง = (ชั่วโมงการทำงาน * อัตราค่าแรง)
การคำนวณค่าจ้างในขั้นตอนที่ 3.1 และ 3.2 ใช้สัญลักษณ์การประมวลผล
4. แสดงชื่อพนักงาน และค่าจ้างที่ได้จากการคำนวณ ใช้สัญลักษณ์การรับเข้าหรือแสดงผล
5. จบโปรแกรมโดยใช้สัญลักษณ์เทอร์มินัล
วิธีการเขียนผังงานที่ดี
• ทุกผังงานต้องมีจุดเริ่มต้นและจุดสิ้นสุดเพียงอย่างละหนึ่งแห่งเท่านั้น
• ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้าออก
• ใช้สัญลักษณ์ตามที่กำหนดไว้
• สัญลักษณ์จุดเริ่มต้นมีเฉพาะลูกศรชี้ทิศทางออก
• สัญลักษณ์จุดสิ้นสุดมีเฉพาะลูกศรชี้ทิศทางเข้า
• สัญลักษณ์การตัดสินใจมีลูกศรชี้เข้า 1 ทิศทาง และชี้ออก 2 ทิศทาง คือ กรณีที่ผลที่ได้จากการตัดสินใจเป็นจริง หรือ เป็นเท็จ
• ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่างหรือซ้ายไปขวา
• คำอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจได้ง่าย
• ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
• เส้นของลูกศรที่ใช้บอกทิศทางของลำดับขั้นตอนวิธีการทำงาน ไม่ควรเขียนตัดกันหรือทับกัน
• ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม
สัญลักษณ์สำหรับการเขียนผังงาน
สัญลักษณ์ ที่ใช้ในการเขียนผังงานเพื่อสื่อความหมาย เพื่อให้เข้าใจ ตรงกันจากสถาบันแห่งชาติอเมริกัน (The American National Standard Institute : ANSI ) ได้กำหนดสัญลักษณ์ไว้เป็นมาตรฐาน ซึ่งมีรูปแบบสัญลักษณ์และความหมายที่จำเป็นต้องใช้ ดังนี้
จุดเริ่มต้นและสิ้นสุดของผังงาน ใช้ รูปสี่เหลี่ยมมุมมน ภายในสัญลักษณ์มีคำอธิบาย โดยใช้คำว่า START หรือ BEGIN สำหรับจุดเริ่มต้น และคำว่า STOP หรือ END สำหรับจุดสิ้นสุดของผังงาน • สัญลักษณ์จุดเริ่มต้น สามารถมีได้เพียงสัญลักษณ์ละ 1 แห่งเท่านั้นในแต่ละผังงาน แต่สัญลักษณ์สิ้นสุดของผังงาน อาจมีได้มากกว่า 1 แห่ง • สัญลักษณ์จุดเริ่มต้นของผังงานจะมีเพียงทิศทางออก ไม่มีทิศทางเข้า • สัญลักษณ์จุดสิ้นสุดของผังงาน จะมีเพียงทิศทางเข้า ไม่มีทิศทางออก
การกำหนดค่า การคำนวณและการประมวลผล
ใช้ สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า โดยมีคำอธิบายลักษณะการทำงานอยู่ภายในรูปสี่เหลี่ยมผืนผ้า สัญลักษณ์นี้มีทั้งทิศทางเข้าและทิศทางออก โดยมีเพียง 1 ทิศทางเท่านั้น
• การเขียนผังงานนิยมใช้เครื่องหมายลูกศรแทนเครื่องหมาย เท่ากับ ( = )
• สำหรับเครื่องหมายเท่ากับ ใช้สำหรับการเปรียบเทียบความเท่ากันระหว่างค่า 2 ค่า
การรับข้อมูลเข้าและการนำข้อมูลออก
การ รับข้อมูลเข้าและการนำข้อมูลออก กรณีไม่กำหนดอุปกรณ์สำหรับการนำข้อมูลเข้าและออก สัญลักษณ์ที่ใช้คือ สี่เหลี่ยมด้านขนาน ภายในสัญลักษณ์ใช้คำอธิบาย Read Input หรือรับค่า สำหรับการรับข้อมูลเข้า และใช้คำอธิบาย Write Output หรือแสดงค่า สำหรับการนำข้อมูลออก สัญลักษณ์นี้มีทิศทางเข้าและออก อย่างละ 1 ทิศทาง
การรับข้อมูลเข้าทางแป้นพิมพ์
สัญลักษณ์ ของผังงานที่ใช้สำหรับการรับข้อมูลเข้าทางแป้นพิมพ์ ภายในสัญลักษณ์คือ ตัวแปรที่ใช้สำหรับรับค่าข้อมูลที่รับเข้ามาทางแป้นพิมพ์
สัญลักษณ์สำหรับการรับข้อมูลเข้าจากแป้นพิมพ์ มีทิศทางเข้าและทิศทางออก อย่างละ 1 ทิศทาง
การแสดงผลข้อมูลออกทางจอภาพ
สัญลักษณ์สำหรับการแสดงผลข้อมูลออกทางจอภาพของผังงาน โดยข้อมูลที่ต้องการให้แสดงผลออกทางจอภาพ จะอยู่ภายในสัญลักษณ์นี้
• สัญลักษณ์สำหรับการแสดงผลข้อมูลออกทางจอภาพ มีทิศทางเข้าและทิศทางออก อย่างละ 1 ทิศทาง
การแสดงผลข้อมูลออกทางเครื่องพิมพ์
สัญลักษณ์ สำหรับการแสดงผลข้อมูลออกทางเครื่องพิมพ์ของ ผังงาน โดยข้อมูลที่ต้องการให้แสดงผลออกทางเครื่องพิมพ์ จะอยู่ภายในสัญลักษณ์นี้
• สัญลักษณ์สำหรับการแสดงผลข้อมูลออกทางเครื่องพิมพ์ มีทิศทางเข้าและทิศทางออก อย่างละ 1 ทิศทาง
การตัดสินใจ
สัญลักษณ์ การตัดสินใจ ใช้สำหรับการตรวจสอบเงื่อนไข เพื่อตัดสินใจเลือกกระทำขั้นตอนการทำงานที่ต้องทำเป็นลำดับถัดไป สัญลักษณ์ของผังงานที่ใช้สำหรับการตัดสินใจใช้รูปสี่เหลี่ยมขนมเปียกปูน โดยมีเงื่อนไขอยู่ภายในสัญลักษณ์ สัญลักษณ์การตัดสินใจมีการใช้งานในผังงานที่มีการทำงานแบบเลือกทำ และการทำงานแบบทำซ้ำ
สัญลักษณ์ ที่ใช้สำหรับการตัดสินใจ
มีทิศทางเข้า 1 ทิศทาง ผลที่ได้จากการตรวจสอบเงื่อนไขที่อยู่ในสัญลักษณ์การตัดสินใจจะมีอยู่ 2 กรณี คือ กรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง และกรณีที่ผลการตรวจสอบเงื่อนไขเป็นเท็จ ดังนั้นทิศทางที่ออกจากสัญลักษณ์การตัดสินใจจะมี 2 ทิศทาง โดยใช้คำอธิบาย Yes , Y หรือ True กำกับทิศทางในกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง ใช้คำอธิบาย No , N หรือ False กำกับทิศทางในกรณีที่ผลการตรวจสอบเงื่อนไขเป็นเท็จ
การแสดงทิศทางการทำงานของผังงาน
• การแสดงทิศทางของขั้นตอนการทำงานของผังงาน ใช้ลูกศรสำหรับการบอกทิศทางของขั้นตอนการทำงาน การใช้ลูกศรแสดงทิศทางของขั้นตอนการทำงานนิยมเขียนจากด้านบนลงด้านล่าง หรือจากด้านซ้ายไปด้านขวา
• การเขียนเส้นของลูกศรแสดงทิศทางการไหลของผังงาน ไม่นิยมเขียนเส้นตัดกัน ถ้ามีขั้นตอนการทำงานที่ต้องเขียนเส้นตัดกัน ต้องพยายามเลี่ยงโดยการปรับรูปของโครงสร้างผังงานใหม่ หรือใช้เครื่องหมายจุดต่อช่วยในการเขียนผังงาน
• จุดต่อภายในหน้าเดียวกัน สัญลักษณ์ จุดต่อภายในหน้าเดียวกัน ใช้สำหรับการเชื่อมการทำงานของผังงานที่อยู่ในหน้าเดียวกัน สัญลักษณ์จุดต่อภายในหน้าเดียวกันใช้สัญลักษณของวงกลม ภายในวงกลมระบุหมายเลขของจุดที่ต้องการต่อเชื่อมถึงกัน
• การ ใช้สัญลักษณ์จุดต่อภายในหน้าเดียวกัน ใช้ในกรณีที่เส้นสำหรับแสดงทิศทางการทำงานของผังงานมีความยาวมาก หรือมีจุดตัดของเส้นที่ใช้แสดงทิศทางการทำงานเกิดขึ้น เพื่อลดความซับซ้อนของเส้นที่ใช้แสดงขั้นตอนการทำงานของผังงาน ทำให้สามารถเห็นลำดับขั้นตอนการทำงานได้อย่างไม่สับสน
• จุดต่อระหว่างหน้า สัญลักษณ์ จุดต่อระหว่างหน้าของผังงานใช้สัญลักษณ์รูปห้าเหลี่ยม สัญลักษณ์จุดต่อระหว่างหน้าใช้สำหรับเชื่อมการทำงานของผังงานที่อยู่ต่าง หน้ากัน ภายในสัญลักษณ์ระบุหมายเลขของจุดที่ต้องการต่อเชื่อมถึงกัน จุดต่อแต่ละจุดต้องมีคู่ที่ต้องการเชื่อมถึงกันเสมอ
• การใช้งานของสัญลักษณ์จุดต่อระหว่างหน้า มีการใช้งานเหมือนกับจุดต่อภายในหน้าเดียวกัน ต่างกันเพียงใช้สำหรับเชื่อมจุดที่อยู่ต่างหน้ากัน
ที่มา : https://sites.google.com/site/porkaermbeuxngtn/home/3-1--kar-kheiyn-phang-ngan-khxng-porkaerm
ที่มา https://suwanan.weebly.com/5-35853634361936483586363736183609361236333591359136343609.html