[x] ปิดหน้าต่างนี้
Powered by ATOMYMAXSITE 2.5
บทเรียนออนไลน์โดยใช้กระบวนการทางเทคโนโลยี
ยินดีต้อนรับคุณ บุคคลทั่วไป  
ค้นหา   
บทเรียนออนไลน์
 










เอกสารประกอบการสอน


แนวคิดเชิงนามธรรม
อัลกอริทึมและภาษาคอมพิวเตอร์
การออกแบบอัลกอริทึมด้วยภาษาธรรมชาติ
 การออกแบบอัลกอริทึมด้วยรหัสเทียม
การออกแบบอัลกอริทึมด้วยผังงาน

กรณีศึกษาการออกแบบอัลกอริทึม





  
ผังงาน  
 

    

Flowchart (โฟลวชาร์ต)  คือ การแสดงขั้นตอนการทำงานโดยใช้สัญลักษณ์รูปภาพเป็นตัวสื่อความหมาย  รูปภาพแต่ละรูปจะมีความหมายเฉพาะตัว  และใช้ลูกศรกำหนดทิศทางการทำงานในแต่ละขั้นตอน

หลักการเขียนอัลกอริทึมด้วยผังงานจะอ้างอิงจากกระบวนการทางคอมพิวเตอร์ 3 กระบวนการ ได้แก่


โดยการการเขียนอัลกอริทึมด้วยผังงาน จะนิยมใช้สัญลักษณ์ในการเขียนผังงาน ซึ่งแต่ละสัญลักษณ์จะมีความหมายดังนี้

จากตารางข้างบนเป็นสัญลักษณ์รูปภาพของโฟลวชาร์ตเพียงบางส่วนที่มีการใช้งานบ่อย ๆ เท่านั้น  ซึ่งสัญลักษณ์รูปภาพของโฟลวชาร์ตยังมีอีกมากมาย

 ตัวอย่างที่ 1  จงเขียนโฟลวชาร์ตแสดงขั้นตอนการหาพื้นที่ของรูปสี่เหลี่ยมคางหมู

 วิเคราะห์ปัญหา

     1.  สิ่งที่ต้องการ  คือ  ต้องการทำการคำนวณหาพื้นที่ของรูปสี่เหลี่ยมคางหมู  จากสูตร พื้นที่สี่เหลี่ยมคางหมู =1/2 x ผลบวกของด้านคู่ขนาน สูง
     2.  ตัวแปรที่ใช้ คือ
          W1   ใช้เก็บความยาวของด้านคู่ขนานด้านที่ ของรูปสี่เหลี่ยมคางหมู
          W2   ใช้เก็บความยาวของด้านคู่ขนานด้านที่ ของรูปสี่เหลี่ยมคางหมู
          H      ใช้เก็บความสูงของรูปสี่เหลี่ยมคางหมู
          Area  ใช้เก็บพื้นที่ของรูปสี่เหลี่ยมคางหมู
     3. ข้อมูลนำเข้าคือ ค่าของ W1,W2,H
     4. ผลลัพธ์คือ  คำนวณพื้นที่ของรูปสี่เหลี่ยมคางหมูจากสูตร
          Area = ½ x(W1+W2) X H

 ขั้นตอนการทำงาน

     1.  รับค่า W1,W2,H  เข้ามาในโปรแกรม
     2.  คำนวณหาพื้นที่ของรูปสี่เหลี่ยมคางหมู
          จากสูตร Area = ½ x(W1+W2) x H
     3.  แสดงผลลัพธ์ Area

ลักษณะโครงสร้างของผังงาน

 

    ผังงานทั่วไปจะประกอบด้วยโครงสร้างพื้นฐาน รูปแบบต่อไปนี้คือ
       1.
โครงสร้างแบบเป็นลำดับ (sequence structure)
       2.โครงสร้างแบบมีการเลือก (selection structure)
       3.โครงสร้างแบบทำซ้ำ (iteration structure


     1.โครงสร้างแบบเป็นลำดับ (sequence structure)
โครงสร้างลักษณะนี้เป็นโครงสร้างพื้นฐานของผังงาน และเป็นลักษณะขั้นตอนการทำงานที่พบมากที่สุด คือทำงานทีละขั้นตอนลำดับ


ตัวอย่างผังงานที่มีโครงสร้างแบบเป็นลำดับ

จากตัวอย่างผังงานการคำนวณดอกเบี้ย สามารถอธิบายเป็นขั้นตอนได้ดังนี้

 1. เริ่มต้นการทำงาน

 2. รับค่าเงินต้น และอัตราดอกเบี้ยเพื่อใช้ในการคำนวณหาดอกเบี้ย

 3. คำนวณหาดอกเบี้ยโดยใช้สมการต่อไปนี้  ดอกเบี้ย = เงินต้น * อัตราดอกเบี้ย

4. แสดงค่าของดอกเบี้ยซึ่งคำนวณได้

5. จบการทำงาน

 

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

ตัวอย่างผังงานที่มีโครงสร้างแบบมีการเลือก

  ผังงานการคำนวณดอกเบี้ยซึ่งมีอัตราดอกเบี้ย อัตรา คือถ้าเงินต้นน้อยกว่า ล้านบาท จะคิดดอกเบี้ยด้วยอัตราร้อยละ แต่ถ้ามีเงินต้นมากกว่า ล้านบาท จะคิดดอกเบี้ยด้วยอัตราร้อยละ 5

 

     จากผังงานสามารถอธิบายเป็นขั้นตอนได้ดังนี้

1. เริ่มต้นการทำงาน

2. รับค่าเงินต้น

3. พิจารณาเงินต้นที่รับค่าเข้ามามากกว่า ล้านบาทหรือไม่

ถ้าใช่ ให้คำนวณดอกเบี้ยในอัตราร้อยละ ดังนั้น ดอกเบี้ย = เงินต้น * 0.05

ถ้าไม่ใช่ ให้คำนวณดอกเบี้ยในอัตราร้อยละ ดังนั้น ดอกเบี้ย = เงินต้น * 0.04

4. แสดงค่าดอกเบี้ยที่คำนวณได้

5. จบการทำงาน

 

       3. โครงสร้างแบบทำซ้ำ (Iteration Structure)
       โครงสร้างการทำงานแบบทำซ้ำ จะทำงานแบบเดียวกันซ้ำไปเรื่อย ๆ ในขณะที่ยังเป็นไปตามเงื่อนไขหรือเงื่อนไขเป็นจริง จนกระทั้งเงื่อนไขเป็นเท็จจึงทำงานอื่นต่อไป

ตัวอย่างผังงานที่มีโครงสร้างแบบทำซ้ำ ผังงานการคำนวณยอดบัญชี ( เงินต้นทบดอกเบี้ย ) 

จากตัวอย่างผังงานสามารถอธิบายเป็นขั้นตอนได้ดังนี้

      1. เริ่มต้นการทำงาน

      2. รับค่าเงินต้น อัตราดอกเบี้ย และจำนวนปีที่ฝากเงิน ซึ่งเป็นข้อมูลที่จำเป็นในการคำนวณยอดบัญชี(เงินต้นทบดอกเบี้ยตามจำนวนปี ที่ฝากเงิน)

      3. กำหนดให้ มีค่าเท่ากับ ในผังงานนี้ คือจำนวนรอบของการคิดดอกเบี้ย       

      4. กำหนดยอดบัญชีเริ่มต้นให้เท่ากับเงินต้นที่รับค่าเข้ามา      

      5. เปรียบเทียบว่า น้อยกว่าจำนวนปีที่ฝากเงินหรือไม่    

          5.1 ถ้าใช่ให้ทำตามขั้นตอนต่อไปนี้

 - คำนวณยอดบัญชีใหม่โดยทบดอกเบี้ยเพิ่มเข้าไปจากยอดบัญชีเดิมโดยใช้สมการต่อไปนี้ยอดบัญชี = ยอดบัญชี + (ยอดบัญชี * อัตราดอกเบี้ย) เพิ่มค่า ไปอีก 1 - กลับไปเปรียบเทียบเงื่อนไขในข้อ 5

         5.2 ถ้าไม่ใช่ แสดงว่าคิดดอกเบี้ยทบต้นครบตามจำนวนปีที่ฝากเงินซึ่งรับค่าเข้ามาแล้วให้ทำตามขั้นตอนต่อไปนี้

แสดงค่ายอดบัญชีสุดท้ายที่คำนวณได้           

จบการทำงาน



บทเรียนออนไลน์ ครูวิศณุ เจริญราช Created by Wissanu Charoenrach