ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm)เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่าการใช้ผังงานผังงาน เป็นเครื่องมือแสดงขั้นตอน หรือกระบวนการทำงาน โดยใช้สัญลักษณ์ที่เป็นมาตรฐานเดียวกัน ซึ่งในสัญลักษณ์จะมีข้อความสั้น ๆ อธิบายข้อมูลที่ต้องใช้ ผลลัพธ์ หรือคำสั่งประมวลผลของขั้นตอนนั้น ๆ และเชื่อมโยงขั้นตอนเหล่านั้นด้วยเส้นที่มีลูกศรชี้ทิศทางการทำงานตั้งแต่เริ่มต้นจนจบกระบวนการ
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์
รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์
การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการคือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง
ช่วยให้สามารถทำความเข้าใจลำดับขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว
ช่วยแสดงลำดับขั้นตอนการทำงานของโปรแกรม ทำให้สามารถเขียนโปรแกรมได้อย่างเป็นระบบไม่สับสน
ช่วยให้เข้าใจลำดับและความสัมพันธ์ระหว่างขั้นตอนในการทำงานต่างๆ
ใช้เป็นสื่อกลางในการติดต่อประสานความคิดระหว่างผู้ที่เกี่ยวข้อง เช่น นักวิเคราะห์ระบบ (Systems Analyst) นักเขียนโปรแกรม (Programmer)
ช่วยในการตรวจสอบและแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด
ช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว
ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
สามารถเรียนรู้และเข้าใจได้ง่าย เพราะผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งโดยเฉพาะ
การบำรุงรักษาโปรแกรม เมื่อมีการเปลี่ยนแปลงแก้ไขโปรแกรม สามารถดูผังงานเพื่อแก้ไขคำสั่งในโปรแกรมก่อนแก้ไขได้
ใช้สัญลักษณ์ตามที่กำหนดไว้
ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือซ้ายไปขวา
คำอธิบายในภาพควรสั้นกะทัดรัด และเข้าใจง่าย
ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมากๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปใช้เขียนโปรแกรม
สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 29