วันพุธที่ 23 พฤศจิกายน พ.ศ. 2554

การเขียนผังงาน (Flowchart) ชั้นมัธยมศึกษาปีที่ 2

ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ
ประโยชน์ของผังงาน

           ช่วยลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน
           ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด
           ช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว
           ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น

วิธีการเขียนผังงานที่ดี

           ใช้สัญลักษณ์ตามที่กำหนดไว้
           ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
           คำอธิบายในภาพควรสั้นกะทัดรัด และเข้าใจง่าย
           ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
           ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
           ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม

ผังงานโปรแกรม ( Program Flowchart)
การเขียนผังโปรแกรมจะประกอบไปด้วยการใช้สัญลักษณ์มาตรฐานต่าง ๆ ที่เรียกว่า สัญลักษณ์ ANSI ( American National Standards Institute ) ในการสร้างผังงาน ดังตัวอย่างที่แสดงในรูปต่อไปนี้
·         จุดเริ่มต้น / สิ้นสุดของโปรแกรม 
·         ลูกศรแสดงทิศทางการทำงานของโปรแกรมและการไหลของข้อมูล
·         ใช้แสดงคำสั่งในการประมวลผล หรือการกำหนดค่าข้อมูลให้กับตัวแปร 
·         แสดงการอ่านข้อมูลจากหน่วยเก็บข้อมูลสำรองเข้าสู่หน่วยความจำหลักภายในเครื่องหรือการแสดงผลลัพธ์จากการประมวลผลออกมา
·         การตรวจสอบเงื่อนไขเพื่อตัดสินใจ โดยจะมีเส้นออกจารรูปเพื่อแสดงทิศทางการทำงานต่อไป เงื่อนไขเป็นจริงหรือเป็นเท็จ
·         แสดงผลหรือรายงานที่ถูกสร้างออกมา
·         แสดงจุดเชื่อมต่อของผังงานภายใน หรือเป็นที่บรรจบของเส้นหลายเส้นที่มาจากหลายทิศทางเพื่อจะไปสู่การทำงานอย่างใดอย่างหนึ่งที่เหมือนกัน
·         การขึ้นหน้าใหม่ ในกรณีที่ผังงานมีความยาวเกินกว่าที่จะแสดงพอในหนึ่งหน้า 
Flowchart
     อย่างแรกเลยที่เราต้องรู้จัก  คือ Algorithm (และต้องเขียนให้เป็นเพราะต้องใช้ตลอด ข้อสอบ Final ของ Intro
ก็ประมาณนี้นะมีเขียน Flowchart)
     Algorithm  คือ กระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่ง
อย่างเป็นขั้นเป็นตอนและ ชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร เช่น เวลาเราจะเดินทางไปมหาลัย(เปรียบ
เสมือนปัญหา คือต้องการไปมหาลัย) ต้องทำอย่างไรบ้าง เพื่อจะไปถึงมหาลัย(ผลลัพธ์ ที่ต้องการ)  ยกตัวอย่าง
     วิธีที่ 1
     1.นั่งรถสองแถวไปมีนบุรี
     2.นั่งรถตู้ที่มีนบุรีไป มหาลัย
     3.ถึงมหาลัย
     วิธีที่ 2
     1.เดินจากบ้านไปมีนบุรี
     2.นั่งรถเมย์ไปมหาลัย
     3.ถึงมหาลัย
     วิธีที่ 3
     1.นั่ง Taxi ไปมหาลัย
     2.ถึงมหาลัย
     จะสังเกตุได้ว่า ใน 1 ปัญหา มีวิธีแก้ไขหลายวิธี แต่ละคนอาจจะคิดวิธีแก้ไขปัญหา(Algorithm) แตกต่างกันออกไป
(จากตัวอย่างบางคนอาจจะอาศัยรถคนอื่นไปก็ได้จริงมั้ยค่ะ) เมื่อเรารู้จัก Algorithm แล้ว เราก็เอา Algorithm
ที่เราคิดได้ ไปเขียนเป็น Flowchart (ตามลำดับขั้นตอนของ Algorithm)
     สัญลักษณ์(Symbol)
การเขียน Flowchart เบื้องต้นเราจะใช้สัญลักษณ์ดังต่อไปนี้ 
               รูปแบบการเขียน Flowchart            
    การเขียนเราจะเขียนในลักษณะ Top-Down คือจากบนลงล่าง(Flow คือการไหล,Flowchart ก็คือ ผังงานการไหลของข้อมูล)
การเขียนมี 3 ลักษณะ คือ sequence(ตามลำดับ) selection(ทางเลือก/เงื่อนไข) iteration(ทำซ้ำ)
          Sqquence(ตามลำดับ)
      เป็นการเขียนแบบไล่ทำไปทีละลำดับ ไม่มีแยก (เปรียบเสมือน ขับรถไป ไม่มีทางแยกให้เลี้ยวไปไหน)        



 ที่ใช้สัญลักษณ์    สี่เหลียมผืนผ้า   เพราะมันเป็นกระบวนการ(Process) 
จะเห็นว่ามันเป็นเพียงแค่ลำดับขั้นตอน ของการแก้ไขปัญหาแค่นั้นเอง (เพียงแต่เลือกใช้สัญลักษณ์ให้ถูก)
          Selection(ทางเลือก/เงื่อนไข)
     แล้วถ้ามีเงื่อนไข หรือ ทางเลือก ละ ประมาณว่า (สมมุตินะ) ถ้านั่งรถไปมีนบุรีแล้ว รถตู้เต็ม คนต่อแถวเยอะมากเลย
ไปเรียนไม่ทันแน่ๆ ก็ให้นั่ง Taxi (เห็นมั้ยว่ามันมีทางเลือกและ หรือเงื่อนไขนั่นเอง) เรามาดูแบบมีเงื่อนไขกัน     

ถ้าเราเข้าใจ Flowchart เราก็จะเขียนโปรแกรมออกมาได้ง่ายขึ้น เพราะเราจะรู้ step การทำงานว่าจะต้องไปทางไหนต่อ
ทำอะไรต่อ 
ขอขอบคุณ http://www.cpe.mut.ac.th/board              

3 ความคิดเห็น: