ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์ (Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือ ข้อความ ทำได้ยากกว่าเมื่อใช้รูปภาพ หรือสัญลักษณ์ Show
ผังงานแบ่งได้ 2 ประเภท 2.1 ผังงานระบบ (System Flowchart) ผังงานที่แสดงการทำงานของระบบซึ่งแสดงภาพรวมของระบบ
โดยมีการนำข้อมูลเข้า ประมวลผล และข้อมูลออก โดยแสดงถึงสื่อนำข้อมูลเข้า -ออก แต่ไม่ได้แสดงวิธีการประมวลผล 2.2 ผังงานโปรแกรม (Program Flowchart) ผังงานที่แสดงการทำงานย่อยหรือลำดับในโปรแกรม ซึ่งแสดงรายละเอียดขั้นตอนการทำงานและประมวลผลโปรแกรมนั้นๆทำให้รู้วิธีการคำนวณรับข้อมูลจากสื่อใด และประมวลผลอย่างไร รวมถึงการแสดงผลลัพธ์ด้วยสื่อหรือวิธีใด ตัวอย่าง 3.หลักเกณฑ์ทั่วไปของการเขียนผังงาน การเขียนผังงานอาจจะเขียนลงในกระดาษที่มีแบบฟอร์มมาตรฐานที่เรียกว่าFlowchart Worksheet ซึ่งจะช่วยให้เขียนผังงานได้สะดวก ประหยัดเนื้อที่ ง่ายต่อการติดตามจุดต่อเนื่อง และดูเรียบร้อย หรือจะใช้กระดาษธรรมดาเขียนก็ได้ การเขียนรูปหรือสัญลักษณ์ต่างๆในผังงาน จะใช้ Flowchart Template ซึ่งเป็นแผ่นพลาสติกที่มีช่องเจาะเป็นรูปสัญลักษณ์ต่างๆ ของผังงานเข้าช่วยก็ได้ ปัจจุบันมีโปรแกรมคอมพิวเตอร์ที่ใช้เขียนผังงาน ทำให้ผังงานที่ได้มีความสวยงามและเป็นมาตรฐานมากยิ่งขึ้น การเขียนผังงานจะใช้รายละเอียดจากวิธีการประมวลผลจากการวิเคราะห์งานซึ่งประกอบด้วยขั้นตอนที่สำคัญๆ คือ การรับข้อมูล (Input) การประมวลผล(Process) และการแสดงผลลัพธ์ (Output) นอกจากนี้ต้องใช้รูปหรือสัญลักษณ์ที่ตรงตามความหมาย นั่นคือ 1. การกำหนดค่าเริ่มแรก (Initialization) เป็นการกำหนดค่าเริ่มต้นให้ตัวแปรบางตัว เช่น ตัวแปรที่ใช้เป็นตัวแปรนับ ตัวแปรที่มีค่าเป็นผลการคำนวณสะสม 2. การรับข้อมูล (Input) เป็นการรับค่าของตัวแปรที่ระบุไว้ในขั้นตอนการนำข้อมูลเข้าของการวิเคราะห์งาน ซึ่งการรับข้อมูลจะต้องทำก่อนที่จะนำเอาข้อมูลไปใช้ สัญลักษณ์ที่ใช้จะมีความหมายตามแต่ละประเภทของสื่อข้อมูล เช่น เทป บัตรเจาะ เป็นต้น3. การประมวลผล (Process) เป็นการแสดงวิธีการประมวลผลหรือการคำนวณวึ่งจะต้องกระทำทีละขั้นตอนตามลำดับถ้าผลการคำนวณต้องนำมาใช้ในขันตอนถัดไปจะต้องแยกรูปให้ชัดเจน 4. การแสดงค่าของข้อมูลหรือผลลัพธ์ (Output) เป็นการแสดงผลลัพธ์หรือค่าของตัวแปรที่ระบุไว้ในหัวข้อผลลัพธ์ที่ต้องแสดง การแสดงของข้อมูลหรือผลลัพธ์ ต้องกระทำหลังการประมวลผล หรือภายหลังรับข้อมูลไว้ในหน่วยความจำแล้ว 5. การทดสอบ (Testing) เป็นการทดสอบตัวแปรกับค่าใดค่าหนึ่ง เช่น LC = 0 หรือไม่ ?4. สัญลักษณ์ผังงาน ในการเขียนผังงานจะต้องใช้รูปภาพ หรือสัญลักษณ์ มาใช้แทนขั้นตอนการทำงานของโปรแกรม ลักษณะของรูปภาพ หรือสัญลักษณ์ จะมีความหมายในตัวของมันเอง ซึ่งมีหน่วยงานที่ชื่อ American National Standard Institvte (ANSI) และInternation Standard Organization (ISO) ได้รวบรวมและกำหนดให้เป็นสัญลักษณ์มาตรฐานที่จะใช้ในการเขียนผังงาน และผังงานระบบ เพื่อให้เข้าใจตรงกันดังต่อไปนี้5.1ผังงานแบบเรียงลำดับการทำงาน การเขียนผังงานแบบเรียงลำดับการทำงาน (Sequential Structure) เป็นโครงสร้างของโปรแกรมที่ทำงานเป็นลำดับขั้นตอนเรียงกันไป โดยไม่มีการข้ามขั้นตอน หรือ ย้อนกลับ ดังภาพตัวอย่าง โจทย์ ผังงานแสดงโปรแกรมการคำนวณค่า a จากสูตร a = x + y โดยรับค่า xและ y ทางแป้นพิมพ์ และแสดงผลลัพธ์ a ออกทางจอภาพ คำตอบ จากโครงสร้างผังงานแบบเรียงลำดับ ตามรูป สามารถอธิบายขั้นตอนการทำงานได้ดังนี้ 1. เริ่มต้นการทำงาน 2. รับค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร x และตัวแปร y 3. คำนวณค่า x + y แล้วไปเก็บไว้ในตัวแปร a 4. แสดงค่าในตัวแปร a 5. สิ้นสุดการทำงาน5.2 ผังงานแบบมีทางเลือกการทำงานการเขียนผังงานแบบมีทางเลือกการทำงาน (Decision Structure) เป็นการเขียนผังงงานที่มีลักษณะการทำงานแบบมีเงื่อนไขทางตรรกะ โดยใช้ประโยชน์จากพีชคณิตบูลีน เพื่อให้เครื่องประมวลผลลักษณะตัดสินใจ เลือกทิศทางการทำงานตามคำสั่งที่กำหนดไว้ ดังภาพ (adsbygoogle = window.adsbygoogle || []).push({}); ตัวอย่าง โจทย์ ผังงานแสดงโปรแกรมการประเมินผลการเรียน โดยรับคะแนนนักศึกษาเข้ามาทางแป้นพิมพ์ ถ้าคะแนนมากว่าหรือเท่ากับ 50 ให้แสดงคำว่า “Pass” ที่หน้าจอ แต่ถ้าน้อยกว่า 50 ให้แสดงคำว่า Fail คำตอบจากตัวอย่าง งานสามารถอธิบายลำดับขั้นตอนการทำงานได้ดังนี้ 1. เริ่มต้นการทำงาน 2. รับค่าข้อมูล คะแนน( Score ) ทางแป้นพิมพ์ 3. ตรวจสอบเงื่อนไข ถ้า คะแนน( Score ) น้อยกว่า 50 แล้วทำ 3.1 เป็นจริง แสดงคำว่า “Pass” มิฉะนั้นแล้ว 3.2เป็นเท็จ แสดงคำว่า Fail 4. จบการทำงาน5.3 ผังงานแบบมีการทำงานวนซ้ำ การเขียนผังงานแบบมีการทำงานวนซ้ำ (Iteration Structure)โปรแกรมส่วนใหญ่จะมีคำสั่งสำหรับการทำงานซ้ำหรือเรียกว่า ลูป (Loop) โดยการทำซ้ำของโปรแกรมจะอยู่ภายใต้เงื่อนไข จริง หรือ เท็จ ตามที่ผู้เขียนโปรแกรมได้ออกแบบไว้ รูปแบบของการวนซ้ำมีดังนี้ตัวอย่าง โจทย์ เขียนผังงานโปรแกรมแสดงตัวเลข 1 – 5 คำตอบ (adsbygoogle = window.adsbygoogle || []).push({}); จากตัวอย่าง งานสามารถอธิบายลำดับขั้นตอนการทำงานได้ดังนี้ 1. เริ่มต้นการทำงาน 2. กำหนดค่า Num = 1 3. แสดงค่า Num 4. คำนวณค่า Num = Num + 1 5. ตรวจสอบค่า Num > 5 หรือไม่ 5.1 ถ้าไม่ใช่ ให้ทำซ้ำวนกลับไปข้อที่ 3 5.2 ถ้าใช่ ออกจากการทำงาน 6. จบการทำงาน6. ประโยชน์ของผังงาน ประโยชน์ของผังงาน 1.รู้และเข้าใจได้ง่าย 2.ง่ายและสะดวกต่อการพิจารณาถึงลำดับขั้นตอนในการทำงาน 3.ตรวจสอบความถูกต้องของลำดับขั้นตอนได้ง่าย 4.การเขียนโปรแกรมทำได้รวดเร็วและง่ายขึ้น 5.บำรุงรักษาหรือเปลี่ยนแปลงได้ง่ายขึ้น ข้อจำกัดของผังงาน 1.ใช้สื่อความหมายระหว่างบุคคลมากกว่าที่จะสื่อกับเครื่อง 2.ไม่ทราบความสำคัญของแต่ละขั้นตอน (adsbygoogle = window.adsbygoogle || []).push({}); 3.สิ้นเปลือง เพราะใช้กระดาษและอุปกรณ์มาก 4.ผังงานขนาดใหญ่ ปรับเปลี่ยนแก้ไขทำได้ยาก 5.ในผังงานจะบอกเพียงลำดับอย่างไร และปฏิบัติงานอะไร 6.ผังงานไม่สามารถแทนลักษณะคำสั่งในภาษาได้ชัดเจนตรงไปตรงมา7. ผังงานกับชีวิตประจำวัน การทำงานหลายอย่างในชีวิตประจำวันจะมีลักษณะที่เป็นลำดับขั้นตอน ซึ่งก่อนที่นักเรียนจะได้ศึกษาวิธีการเขียนผังงานโปรแกรม จะแนะนำให้นักเรียนลองฝึกเขียนผังงานที่แสดงการทำงานในชีวิตประจำวันวันก่อนเพื่อเป็นการสร้างความคุ้นเคยกับสัญลักษณ์รูปภาพต่าง ๆ ที่จะมีใช้ในผังงานโปรแกรมต่อไป ตัวอย่างที่ 1 การเขียนผังงานขั้นตอนไปโรงเรียน (แบบเรียงลำดับ) ตัวอย่างที่ 2 การเขียนผังงานขั้นตอนการส่งจดหมาย (แบบทางเลือก) ตัวอย่างที่ 3 การเขียนผังงานขั้นตอนการวิ่งรอบสนาม (แบบวนซ้ำ)การเขียนซูโดโคด (Pseudo Code) การเขียนซูโดโคด (Pseudo Code)หมายถึง การนำคำในภาษาอังกฤษ มาแสดงการทำงานของคอมพิวเตอร์ โดยเรียบเรียงเป็นประโยคให้สามารถสื่อความหมายให้ผู้อ่านเข้าใจได้ว่าแต่ละขั้นตอนของการแก้ปัญหานั้นทำได้อย่างไร ซูโดโคดที่ดีต้องมีความชัดเจน สั้น กระชับ ได้ใจความก่อนทำการเขียนอัลกอริทึม ต้องกำหนดตัวแปรก่อนที่จะใช้ก่อนเสมอวิธีการเขียนรหัสจำลอง (Pseudo Code) สามารถกำหนดการทำงานได้เป็น 6 ข้อ ดังนี้ 1. การรับข้อมูลของคอมพิวเตอร์ 2. การแสดงผลข้อมูลของคอมพิวเตอร์ 3. การคำนวณหรือการทำงานทางคณิตศาสตร์ของคอมพิวเตอร์ 4. การกำหนดค่าข้อมูลของคอมพิวเตอร์ 5. การเปรียบเทียบข้อมูล 2 อย่าง และมีการเลือกทางเดียวหรือสองทางเลือกในการท างานหรือหลายทาง 6. การท างานซ้ำของคอมพิวเตอร์ |