บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
Flow Chart -ภาษาไทย เรียกว่า ผังงาน -ภาษาไทย เรียกว่า ผังงาน -เป็นการอธิบายขั้นตอนวิธีการแก้ปัญหาโดยใช้รูปสัญลักษณ์มาเรียงต่อกัน สัญลักษณ์แต่ละแบบจะมีความหมายถึงกระบวนการที่แตกต่างกัน โดยจะมีคำอธิบายสั้นๆเพิ่มเติมในรูปสัญลักษณ์ต่างๆ ที่ใช้ในผังงานได้กำหนด โดยสถาบันมาตรฐานแห่งชาติอเมริกา (The American National Standard Institute: ANSI)
สัญลักษณ์ที่ใช้ในการทำ Flow Chart ใช้เป็นการแสดงเริ่มต้นและสิ้นสุด การนำข้อมูล เข้า-ออก การปฏิบัติงาน การตัดสินใจ
สัญลักษณ์ที่ใช้ในการทำ Flow Chart ทิศทางขั้นตอนการดำเนินงาน จุดเชื่อมต่อผังงานในหน้าเดียวกัน จุดเชื่อมต่อผังงานคนละหน้ากระดาษ
โครงสร้างของการเขียน Flow Chart มี 3 แบบ 3.แบบวนซ้ำ 1.แบบลำดับ 2.แบบทางเลือก
1.โครงสร้างแบบลำดับ (Sequential Structure) โครงสร้างแบบนี้จะเป็นการทำงานเป็นขั้นตอน เพื่อแก้ไขปัญหาจะทำงานตามคำสั่งที่เขียนไว้ตามลำดับ ตั้งแต่คำสั่งแรกไปจนไปถึงคำสั่งสุดท้าย
2.โครงสร้างแบบทางเลือก (Selection Structure) ปัญหาบางอย่างต้องการการตัดสินใจ เพื่อเลือกว่าจะใช้วิธีการใด โดยการกำหนดเงื่อนไข ให้เป็นทางเลือกของโปรแกรมซึ่ง จะต้องมีเพียงสองทางเลือกเท่านั้น และ หลังจากนั้นทางเลือกทั้งสองต้องมาพบกัน และทำงานในขั้นตอนต่อไป เงื่อนไข ชุดคำสั่งที่ 1 ชุดคำสั่งที่ 2 จริง เท็จ
3.โครงสร้างแบบวนซ้ำ (Repetition Structure) คือการทำซ้ำ เป็นการเขียน flowchart ให้กลับมาทำงานในขั้นตอนอย่างเก่า จะเห็นว่า flowchart มีลักษณะวน ซึ่งเรียกว่า loop และจะสังเกตว่า การวน loop ดัง รูปที่ 4 จะไม่มีทางออกไปทำงานในขั้นตอนต่อไปได้เลย เพื่อที่จะทำให้ออกจาก loop ได้จะต้องมีการ เช็คเพื่อออกจาก loop ดังจะได้กล่าวต่อไป ชุดคำสั่งที่ 2 ... ชุดคำสั่งที่ 1 เท็จ เงื่อนไข จริง
โครงสร้างแบบการวนซ้ำ มี 2 แบบ เท็จ พิมพ์ค่า a เงื่อนไข จริง พิมพ์ค่า b พิมพ์ค่า a เงื่อนไข พิมพ์ค่า b เท็จ จริง โครงสร้างแบบวนซ้ำแบบ while โครงสร้างแบบวนซ้ำแบบ until
ตัวอย่างของการเขียน Flow Chart Problem : จงเขียน flow chart เพื่อถ่ายทอดความคิดขั้นตอนวิธีในการต้มม่ามารับประทาน
ขั้นตอนการต้มมาม่า เริ่มต้น ซื้อมาม่า -ซื้อมาม่า ฉีกซอง -ฉีกซอง ต้ม -ต้ม ต้ม -สุกไหม สุก? -รับประทาน รับประทาน จบ
ตัวอย่างของการเขียน Flow Chart Problem : จงเขียน flow chart แสดงการหาค่าเฉลี่ยของจำนวน 5 จำนวน
เริ่มต้น จบ counter←0 sum ←0 print average Input x average ←sum/5 counter ←counter+1 sum ← sum+x counter<5
การประกาศ library ส่วนหัวของฟังก์ชั่น การประกาศตัวแปร Local ใช้ได้เฉพาะในเฉพาะฟังก์ชั่นนั้นๆ Global ใช้ได้ในทุกๆ ฟังก์ชั่น
จะต้องมีการประกาศ library ก่อน # include <stdio.h> 4. คำสั่งต่างๆ จะต้องมีการประกาศ library ก่อน # include <stdio.h> # include <conio.h> int main ( ) { int i , j ; } 1 2 3 4
การเขียน Flow Chart เบื้องต้น 1.เริ่มจากการเขียนขั้นตอนต่างๆก่อน 2.นำมาขั้นตอนต่างๆมาเขียนเรียงลำดับ พร้อมใส่ทิศทางการทำงาน 3.ใส่สัญลักษณ์ให้ตรงกับคำสั่งชุดนั้นๆ