• ก่อนการพัฒนาโปรแกรม:
–ทำความเข้าใจกับปัญหา
–คิดวางแผนวิธีการแก้ไขปัญหานั้น
• ในขณะที่กำลังพัฒนาโปรแกรม:
–พิจารณาถึงโครงสร้าง หรือชุดคำสั่งที่มีของภาษาคอมพิวเตอร์ ที่ใช้อยู่
–ทำตามหลักการการพัฒนาโปรแกรมที่ดีตลอดเวลา
• Problem
–สามารถที่จะแก้ไขปัญหาเหล่านั้นได้โดยการทำงานตามชุดคำสั่งอย่างมีลำดับ
• Algorithms
–ขั้นตอนที่ระบุถึงวิธีการแก้ไขปัญหาหรือทำให้งานสำเร็จ
–มีลำดับการทำงานที่แน่นอน
–มีความชัดเจน
–สามารถทำงานได้
–มีจุดสิ้นสุดการทำงานที่ชัดเจน
• Representation
–วิธีการแปล Algorithm เป็นภาษาคอมพิวเตอร์
Origami
ต้องการพับนกกระดาษ > ค้นหาขั้นตอนการพับนกกระดาษ > นำกระดาษมาพับเป็นรูปนกตามขั้นตอน
คือ แผนภาพซึ่งแสดงลำดับขั้นตอนของการทำงาน โดยแต่ละขั้นตอนจะแสดงโดยใช้สัญลักษณ์ ซึ่งมีความหมายบ่งบอกว่าขั้นตอนนั้นๆ มีลักษณะการทำงานแบบใด และในแต่ละขั้นตอนจะเชื่อมโยงกันด้วยลูกศรเพื่อที่จะแสดงลำดับการทำงาน
• ช่วยให้สามารถทำความเข้าใจลำดับขั้นตอนการทำงานของโปรแกรมหรือระบบใดๆได้อย่างรวดเร็ว
• ช่วยแสดงลำดับขั้นตอนการทำงาน ทำให้สามารถเขียนโปรแกรมได้อย่างเป็นระบบไม่สับสน
• ช่วยในการแก้ไขข้อผิดพลาดของโปรแกรมได้รวดเร็ว และช่วยให้ผู้พัฒนาโปรมแกรมต่อสามารถทำงานได้ง่ายสะดวกขึ้น
• ง่ายแก่บุคคลภายนอกในการติดตามขั้นตอนของการปฏิบัติงาน
•ผังงานระบบ (System Flowchart)
เป็นผังงานซึ่งแสดงขอบเขต และลำดับขั้นตอนการทำงานของระบบหนึ่งๆ รวมทั้งแสดงรูปแบบของข้อมูลเข้า และข้อมูลออกว่าถูกรับเข้าหรือแสดงผลโดยผ่านสื่อประเภทใด เนื่องจากผังงานระบบเป็นแผนภาพที่แสดงถึงระบบโดยรวม ดังนั้นกระบวนการหรือโปรแกรมหนึ่งๆ อาจถูกแสดงเป็นเพียงขั้นตอนหนึ่งในผังงานระบบเท่านั้น
•ผังงานโปรแกรม (Program Flowchart)
เป็นผังงานซึ่งแสดงลำดับขั้นตอนการทำงานของโปรแกรมหนึ่งๆ
• สัญลักษณ์ที่ใช้อาจมีขนาดต่างๆกันได้ แต่จะต้องมีรูปร่างเป็นสัดส่วนตามมาตรฐาน
• ทิศทางของลูกศรในผังงาน ควรจะมีทิศทางจากบนลงล่าง หรือจากซ้ายไปขวา
• ผังงานควรมีความเรียบร้อย สะอาด พยามยามหลีกเลี่ยงการเขียนลูกศรที่ทำให้เกิดจุดตัด เพราะจะทำให้อ่านและทำความเข้าใจผังงานได้ยาก
• ถ้าในผังงานมีการเขียนข้อความอธิบายใดๆ ควรทำให้สั้นกะทัดรัดและได้ใจความ อาจเขียนเป็นคำสั่งที่อยู่ในสัญลักษณ์ หรือใช้คำพูดแทน
ตัวอย่างผังงานโปรแกรม
• การวิเคราะห์ข้อมูลเอาท์พุท หรือผลลัพธ์ (Output Analysis)
–วิเคราะห์ความต้องการของผู้ใช้ หรือผลลัพธ์จากโจทย์ปัญหา
• การวิเคราะห์ข้อมูลอินพุท (Input Analysis)
–วิเคราะห์ข้อมูลที่ผู้ใช้ป้อน หรือข้อมูลที่โจทย์ให้มา
• การวิเคราะห์กระบวนการทำงาน (Process Analysis)
–วิเคราะห์ขั้นตอนการทำงานที่ให้ได้มา ซึ่งผลลัพธ์
• การกำหนดตัวแปร (Variable Define)
–กำหนดตัวแปรที่ใช้งานการเขียนโปรแกรมเพื่อความถูกต้อง
โจทย์ : จงเขียนผังงาน และโปรแกรมคำนวณหาพื้นที่วงกลม
•Output Analysis
ผลลัพธ์ที่ต้องการ คือ พื้นที่ของวงกลม
•Input Analysis
การคำนวณหาพื้นที่วงกลม จำเป็นต้องทราบขนาดของรัศมี (หรือเส้นผ่านศูนย์กลาง)
•Process Analysis
1. รอรับค่ารัศมี (หรือเส้นผ่านศูนย์กลาง) จากผู้ใช้งาน
2. คำนวณหาพื้นที่วงกลมจากสูตร
3. แสดงผลค่าพื้นที่วงกลมออกทางหน้าจอ
•Variable Define
radius : เป็นตัวแปรชนิดจำนวนทศนิยมสำหรับรับค่ารัศมี
pi : เป็นตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บค่า
area : เป็นตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บค่าพื้นที่
#include<stdio.h>
int main()
{
float radius, pi, area;
pi = 22.0/7; // pi = 3.14;
printf ("Enter Radius of Circular : ");
scanf ("%f",&radius);
area = pi * radius * radius;
printf ("Area of Circular : %f",area);
return 0;
}