ผังงานโปรแกรม

รูปภาพของ chatta2010

ผังงาน (Flowchart) [ refer. ]
เว็บเพจหน้านี้สนใจผังงานโปรแกรม มากกว่าผังงานระบบ .. เพื่อเสริมบทเรียน สอนเขียนโปรแกรม


Process Symbol



Input/Output Symbol

Decision Symbol

Terminal Symbol

Document Symbol

Connector Symbol
ความหมายของผังงาน
ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
ผังงานแบ่งได้ 2 ประเภท
1. ผังงานระบบ (System Flowchart)
คือ ผังงานที่แสดงขั้นตอนการทำงานในระบบอย่างกว้าง ๆ แต่ไม่เจาะลงในระบบงานย่อย
2. ผังงานโปรแกรม (Program Flowchart)
คือ ผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรม ตั้งแต่รับข้อมูล คำนวณ จนถึงแสดงผลลัพธ์
ประโยชน์ของผังงาน
1. ทำให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)
2. แสดงลำดับการทำงาน (Step Flowing)
3. หาข้อผิดพลาดได้ง่าย (Easy to Debug)
4. ทำความเข้าใจโปรแกรมได้ง่าย (Easy to Read)
5. ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)

ตัวอย่างผังงานระบบไฟแดง

การโปรแกรมแบบมีโครงสร้าง หรือ การโปรแกรมโครงสร้าง ประกอบด้วยอะไรบ้าง

ผมขอตอบอย่างสั้น ๆ ว่าทุกภาษาต้องมีหลักการ 3 อย่างนี้คือ การทำงานแบบตามลำดับ(Sequence) การเลือกกระทำตามเงื่อนไข(Decision) และ การทำซ้ำ(Loop) แม้ตำราหลาย ๆ เล่มจะบอกว่า decision แยกเป็น if กับ case หรือ loop นั้นยังแยกเป็น while และ until ซึ่งแตกต่างกัน แต่ผมก็ยังนับว่าการเขียนโปรแกรม แบบมีโครงสร้างนั้น มองให้ออกแค่ 3 อย่างก็พอแล้ว และหลายท่านอาจเถียงผมว่าบางภาษาไม่จำเป็นต้องใช้ Structure Programming แต่เท่าที่ผมศึกษามา ยังไม่มีภาษาใด เลิกใช้หลักการทั้ง 3 นี้อย่างสิ้นเชิง เช่น MS Access ที่หลายคนบอกว่าง่าย ซึ่งก็อาจจะง่ายจริง ถ้าจะศึกษาเพื่อสั่งให้ทำงานตาม wizard หรือตามที่เขาออกแบบมาให้ใช้ แต่ถ้าจะนำมาใช้งานจริง ตามความต้องการของผู้ใช้แล้ว ต้องใช้ประสบการณ์ในการเขียน Structure Programming เพื่อสร้าง Module สำหรับควบคุม Object ทั้งหมดให้ทำงานประสานกัน

1. การทำงานแบบตามลำดับ(Sequence) : รูปแบบการเขียนโปรแกรมที่ง่ายที่สุดคือ เขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์ 2. การเลือกกระทำตามเงื่อนไข(Decision or Selection) : การตัดสินใจ หรือเลือกเงื่อนไขคือ เขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว 3. การทำซ้ำ(Repeation or Loop) : การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน ผู้เขียนโปรแกรมต้องจินตนาการด้วยตนเอง
โจทย์ที่ 1
- พิมพ์เลข 0 ถึง 4 ทางจอภาพ

ตัวอย่างผังงาน

โจทย์ที่ 2
- รับค่าจากแป้นพิมพ์เก็บลงตัวแปรอาร์เรย์ 5 ตัว
- แล้วทำซ้ำอีกครั้ง เพื่อหาค่าสูงสุด
ตัวอย่างผังงาน
อัลกอริทึม
1. กำหนดค่าเริ่มต้นให้ max, i และ ar
2. ทำซ้ำเพื่อรับค่าเก็บใน ar ให้ครบ 5 ครั้ง
3. กำหนดค่าเริ่มต้นให้ i อีกครั้ง
4. ทำซ้ำเพื่อนำค่าที่เก็บไว้ใน ar มาหาค่า max
5. พิมพ์ค่าสูงสุด ที่หาได้

คำถามที่ 3
- พิมพ์พีระมิดของตัวเลขดังตัวอย่าง
									Result112123123412345						
			
																		Source Code<?$i = 1;while ($i <= 5){  $j = 1;  while ($j <= $i) {    echo $j;    $j++;  }  echo "<br>";  $i++;}?>												
						

																		Source Code#include <iostream.h>#include <conio.h>void main() {  for(int i=1;i<=5;i++) {    for(int j=1;j<=i;j++) {      cout << j;    }    cout << "end" << '\n';  }  getch();}												
						


Download : diaflowchart01.dia
Dia - Diagram Drawing ใน ซีดีจันทรา (Download : Dia + GTK)
Dia (ไดอะ) เป็นโปรแกรมวาดภาพกราฟฟิกส์แบบเวกเตอร์ที่ออกแบบมา เพื่อให้ใช้ในการ เขียนไดอะแกรมโดยเฉพาะ สามารถเขียนไดอะแกรมได้หลายชนิดอย่างรวดเร็ว Dia มี ชุดออปเจคที่ช่วยในการวาด Entity Relationship Diagram, UML Diagram, Flowchart Diagram, Network Diagram ,วงจรไฟฟ้าอย่างง่าย ๆ รวมถึงไดอะแกรมอื่น นอกจากนี้ Dia ยังสามารถเพิ่มชุดออปเจคได้ด้วยการเขียนไฟล์ XML

สร้างโดย: 
เชษฐา จำเล

 ช่วยด้วยครับ
นักเรียนที่สร้างบล็อก กรุณาอย่า
คัดลอกข้อมูลจากเว็บอื่นทั้งหมด
ควรนำมาจากหลายๆ เว็บ แล้ววิเคราะห์ สังเคราะห์ และเขียนขึ้นใหม่
หากคัดลอกทั้งหมด จะถูกดำเนินคดี
ตามกฎหมายจากเจ้าของลิขสิทธิ์
มีโทษทั้งจำคุกและปรับในอัตราสูง

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 196 คน กำลังออนไลน์