ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณฺ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมทีละขั้นตอน
ประเภทผังงาน
ผังงานที่เราพบเห็นทั่วไปมี 2 ระบบดังนี้
1. ผังงานระบบ เป็นผังงานที่ใช้แสดงขั้นตอนการทำงานในระบบงาน ในลักษณะของภาพรวมโดยแสดงทิศทางการทำงานในระบบ
2. ผังงานโปรแกรม เป็นผังงานที่แสดงอัลกอริทึมของโปรแกรมในผังงาน การเขียนผังงานชนิดนี้อาจเขียนมาจากผังงานระบบ เพื่อที่จะให้ได้มาซึ่งผลลัพธ์ที่ต้องการ แต่โปรแกรมอาจใช้วิธีการอื่นในการเขียนอัลกอริทึมได้
สัญลักษณ์ของผังงานโปรแกรม ( program flowchart )
สัญลักษณ์มาตรฐานต่างๆ ที่เรียกว่า สัญลักษณ์ ANSI American National Stanard Institute ) ในการสร้างผังงาน สัญลักษณ์ ดังนี้
รายละเอียดของสัญลักษณ์ผังงาน
1. จุดเริ่มต้นและจุดสิ้นสุดของผังงาน
2. การกำหนดค่าและการคำนวณ และการประมวลผล
3. การรับข้อมูลเข้าและการนำข้อมูลออก
4. การรับข้อมูลเข้าทางแป้นพิมพ์
5. การแสดงผลข้อมูลออกทางจอภาพ
6. การแสดงผลข้อมูลออกทางเครื่องพิมพ์
7. การตัดสินใจ
1) จุดเริ่มต้นกับจุดสิ้นสุดของผังงาน
สัญลักษณ์ที่ใช้สำหรับจุดเริ่มต้นกับจุดสิ้นสุด จะใช้สัญลักษณ์เป็นรูปสี่เหลี่ยมปลายโค้งมน เขียนภาษาอังกฤษเป็นจุดเริ่มต้น และ จุดสิ้นสุด เช่น start / end
2) การกำหนดค่าและการคำนวณ และการประมวลผล
สัญลักษณืที่ใช้สำหรับการคำนวณค่า การคำนวณ และ การประมวลผลของผังงาน จะใช้สัญลักษณ์สี่เหลี่ยมพื้นผ้า
3) การรับข้อมูลเข้าและการนำข้อมูลออก
การรับข้อมูลเข้าและการนำข้อมูลออก สัญลักษณ์ที่ใช้คือรูปสี่เหลี่ยมด้านขนาน ใช้คำอธิบาย "read" , "input" , "scanf" หรือ "รับค่า" ใช้สำหรับการแสดงผล ใช้คำอธิบาย "write" "output","printf หรือ "แสดงค่า"
4) การรับข้อมูลเข้าทางแป้นพิมพ์
สัญลักษณืของผังงานที่ใช้สำหรับป้อนข้อมูลเข้าทางแป้นพิมพ์ ใช้สัญลักษณืเป็น
สี่เหลี่ยมคางหมูแบบหงายขึ้น
5) การแสดงผลข้อมูลออกทางจอภาพ
สัญลักษณ์สำหรับแสดงผลออกทางจอภาพของผังงาน ใช้สัญลักษณ์ตามรูปด้านล่างนี้
6) การแสดงผลข้อมูลออกทางเครื่องพิมพ์
สัญลักษณ์แสดงผลลัพธ์ออกทางเครื่องพิมพ์ เพื่อแสดงข้อมูลออกทางเครื่องพิมพ์เข้าและออก อย่างละ 1 ทิศทาง
ึ 7) การตัดสินใจ
สัญลักษณ์ที่ใช้สำหรับตรวจสอบเงื่อนไข เพื่อตัดสินใจเลือกการกระทำ สัญลักษณ์ที่ใช้ในการกำหนดด้านในคือ true , false , <.>
กำหนดเงื่อนไข แบบ 2 ทางเลือก
กำหนดเงื่อนไข แบบหลายทางเลือก
คำสั่งควบคุมวนซ้ำแบบ for
คำสั่งวนซ้ำการควบคุมการทำงานวนซ้ำ ลักษณะแจ้งจำนวนรอบการทำงาน อาจป้อนจำนวนผ่านทางแป้นพิมพ์ เพื่อจัดเก็บตัวแปร ดังนั้นในส่วนของคำสั่งต้องการค่า 3 ค่า คือ ค่าเริ่มต้นนับรอบ ค่าสิ้นสุด และอัตราเพิ่มแต่ละรอบ
คำสั่งควบคุมวนซ้ำแบบ while
ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีการตรวจสอบเงื่อนไข การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขให้ระบบตรวจสอบเงื่อนไขในหน่วยความจำเป็น 1 (ค่าจริง) หรือได้ค่าเป็น 0 (ค่าเท็จ) กรณีค่านิพจน์ตรรกะเป็นจริง จึงวนซ้ำกลุ่มคำสั่งภายในลักษณ์ {} ต่อจาก while เมื่อนิพจน์ตรรกะได้ค่าเป็นเท็จจะดำเนินงานคำสั่งหลังเครื่องหมายปีกกาผิด {} ของคำสั่ง while
คำสั่งควบคุมการวนซ้ำแบบ do-while
ประสิทธิภาพคำสั่ง ควบคุมการวนซ้ำ ควบคุมการวนซ้า ลักษณะทำงาน 1 รอบก่อน แล้วจึงตรวจสอบนิพจน์ตรรกะ ทั้งนี้หากค่านิพจน์ตรรกะ เป็นจริง จะวนซ้ำ แต่หากค่าเป็นเท็จจะไม่วนซ้ำ
การเขียนผังงานแบบมีทางเลือก
ตัวอย่าง เขียนผังงานแสดงค่าของตัวเลขที่เป็ขคู่ หรือ เลขคี่ แล้วรับค่าข้อมูลตัวเลขทางแป้นพิมพ์ จากปัญหาดังกล่าว สามารถเขียนเป็นขั่นตอน ดังนี้
- รับตัวเลข เก็บไว้ในตัวแปร A
- ถ้า A MOD 2 = 1 จริง ให้แสดงข้อความว่า เลขคี่
- ถ้า A MOD 2 = 1 เท็จ ให้แสดงข้อความว่า เลขคี่
ทั้งนี้ MOD (%) คือ การหารเอาเฉพาะเศษ
แบบวนรอบ ( loop structure)
การทำงานแบบวนรอบหรือทำซ้ำมีการทำงานที่มีการตัดสินใจตามเงื่อนไขการทำซ้ำ เงื่อนไขจะมีผลกระบวนการหนึ่งลักษณะทำงานจะคล้ายกับโครงสร้างการทำงานแบบเลือก แต่การเลือกนี้เป็นการตัดสินใจว่าจะทำงานในกระบวนการทำงานที่ผ่านมาซ้ำหรือไม่ แผนผังที่เขียนตามโครงสร้างการทำงานลักษณะนี้
ตัวอย่าง จงเขียนผังงานแสดงการคำนวณหาผลบวกของตัวเลย 1 ถึง 10