Contenu connexe
Similaire à ใบความรู้ที่ 1.4 (20)
Plus de Orapan Chamnan (20)
ใบความรู้ที่ 1.4
- 1. ใบความรู้ที่ 1.4
เรื่อง การเขียนผังงาน
กลุ่มสาระการเรียนรู้ การงานอาชีพฯ รายวิชา ง 30245 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
หน่วยการเรียนรู้ที่ 1 ชื่อหน่วย โครงสร้างข้อมูลและอัลกอริธึม ชั้นมัธยมศึกษาปีที่ 6
การจาลองความคิดแบบผังงาน (Flow chart)
ผังงาน (Flow chart) คือ รูปภาพหรือสัญลักษณ์ ที่ใช้เขียนแทนคาอธิบาย ข้อความ หรือคาพูดที่
ใช้ในอัลกอริธึม เพราะการที่จะเข้าใจขั้นตอนได้ง่ายและตรงกันนั้น การใช้คาพูดหรือข้อความอาจทา
ได้ยากกว่าการใช้รูปภาพหรือสัญลักษณ์
ผังงานสามารถแบ่งได้เป็น 2 ประเภทใหญ่ ๆ คือ
1. ผังงานระบบ (System Flow chart)
2. ผังงานโปรแกรม (Program Flow chart)
ประโยชน์ของผังงาน
1. ทาให้เข้าใจและแยกแยะปัญหาต่าง ๆ ได้ง่ายขึ้น
2. ผู้เขียนโปรแกรมมองเห็นลาดับการทางาน รู้ว่าสิ่งใดควรทาก่อน สิ่งใดควรทาหลัง
3. สามารถหาข้อผิดพลาดของโปรแกรมได้ง่าย
4. ทาให้ผู้อื่นเข้าใจการทางานได้ง่ายกว่าการดูจาก source code
5. ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้อื่นสามารถเรียนรู้และเข้าใจได้ง่าย
ข้อจากัดของผังงาน
ผู้เขียนโปรแกรมบางคนไม่นิยมเขียนผังงานก่อนการเขียนโปรแกรม เพราะเห็นว่าเสียเวลา
นอกจากนี้แล้ว ยังมีข้อจากัดอื่น ๆ อีก คือ
1. ผังงานเป็นการสื่อความหมายระหว่างบุคคลกับบุคคลมากกว่าที่สื่อความหมายระหว่างบุคคล
กับเครื่อง เพราะผังงานไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ทาให้เครื่องไม่สามารถรับและ
เข้าใจได้ว่าในผังงานนั้นต้องการให้ทาอะไร
2. ในบางครั้ง เมื่อพิจารณาจากผังงาน จะไม่สามารถทราบได้ว่า ขั้นตอนการทางานใดสาคัญ
กว่ากัน เพราะทุก ๆ ขั้นตอนจะใช้รูปภาพหรือสัญลักษณ์ในลักษณะเดียวกัน
3. การเขียนผังงานเป็นการสิ้นเปลือง เพราะจะต้องใช้กระดาษและอุปกรณ์อื่น ๆ เพื่อ
ประกอบการเขียนภาพ ซึ่งไม่สามารถเขียนด้วยมืออย่างเดียวได้และในบางครั้ง การเขียนผังงานอาจจะ
ต้องใช้กระดาษมากกว่า 1 แผ่น หรือ 1 หน้า ซึ่งถ้าเป็นข้อความอธิบายอาจะใช้เพียง 2-3 บรรทัดเท่านั้น
ชื่อ.........................................................ชั้น.................เลขที่.............
- 3. 5. พยายามให้เกิดจุดตัดน้อยที่สุด หรืออาจใช้สัญลักษณ์ที่เรียกว่า "ตัวเชื่อม" (Connector) แทน เพื่อ
หลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้น
6. หากเป็นไปได้ควรเขียนผังงานให้จบภายในหน้าเดียวกัน
7 . ผังงานที่ดีควรเป็นระเบียบเรียบร้อย สะอาด ชัดเจน เข้าใจและติดตามขั้นตอนได้ง่าย
8. จุดเริ่มต้นและสิ้นสุดของงาน ควรมีเพียงจุดเดียว
ประเภทของผังงาน
เราสามารถแบ่งผังงานได้เป็น 2 ประเภทใหญ่ คือ
1. ผังงานระบบ (System Flow chart)
ผังงานระบบจะเป็นการแสดงให้เราเห็นว่า ในระบบหนึ่ง ๆ นั้นมีขั้นตอนในการทางานอย่างไร
ซึ่งจะมองเห็นในลักษณะภาพกว้าง ๆ ของระบบ แต่จะไม่เจาะลึกลงไปว่าในระบบว่าในแต่ละงานนั้นมี
การทางานอย่างไร คือ จะให้เห็นว่าจุดเริ่มต้นของงานเริ่มจากส่วนใด เป็นข้อมูลแบบใด มีการ
ประมวลผลอย่างไร และจะได้ผลลัพธ์เป็นอย่างไรและเก็บอยู่ที่ใด
2. ผังงานโปรแกรม (Program Flow chart)
ผังงานโปรแกรม หรือ เรียกสั้น ๆ ว่า ผังงาน จะเป็นผังงานที่แสดงให้เห็นถึงลาดับขั้นตอนใน
การทางานของโปรแกรม ตั้งแต่การรับข้อมูล การประมวลผล ตลอดจนผลลัพธ์ที่ได้ จะทาให้เขียน
โปรแกรมได้สะดวกขึ้น ซึ่งผังงานชนิดนี้อาจสร้างมาจากผังงานระบบ โดยดึงเอาจุดที่เกี่ยวข้องกับ
คอมพิวเตอร์มา วิเคราะห์ว่าจะใช้ทางานส่วนใดเพื่อที่จะให้ได้มาซึ่งผลลัพธ์ที่ต้องการ
รูปแบบของผังงาน
ผังงาน มีรูปแบบที่จากัดอยู่ 3 แบบด้วยกัน คือ
1. รูปแบบเรียงลาดับ (Sequence Structure)
เป็นการทางานแบบเรียงลาดับ ตั้งแต่ต้นจนจบ เป็นรูปแบบง่าย ๆ ไม่มีการเปรียบเทียบใด ๆ มี
ทิศทางการไหลของข้อมูลเพียงทางเดียว ซึ่งอาจจะเป็นแบบบนลงล่าง หรือ จากซ้ายไปขวาก็ได้เช่น
การให้คานวณหาพื้นที่ของสี่เหลี่ยมผืนผ้า จะเขียนเป็นผังงานได้ดังรูป
- 4. จากผังงาน เราสามารถเขียนโปรแกรมได้ ตาม syntax ของภาษาที่ใช้ ตัวอย่างโปรแกรมข้างล่างนี้ จะ
เป็นการเขียนโปรแกรมด้วยภาษา C
#include <stdio.h>
void main(void)
{
float a, b, c;
printf("Enter Width : ");
scanf("%f",&a);
printf("Enter Higth : ");
scanf("%f",&b);
c = a * b;
printf("Area = %.2f",c);
}
2. รูปแบบที่มีการกาหนดเงื่อนไขหรือให้เลือก (Decision Structure)
รูปแบบนี้จะยากกว่ารูปแบบแรก เพราะจะมีการสร้างเงื่อนไขเพื่อให้เลือกทางาน ถ้าหากเลือก
ทางใดก็จะไปทางานในเงื่อนไขที่เลือก ซึ่งเงื่อนไขที่กาหนดขึ้นนี้จะเขียนอยู่ในสัญลักษณ์ "การ
ตัดสินใจ" เช่น การคานวณว่าตัวเลขที่รับมานั้นเป็นจานวนคี่หรือคู่ จะเขียนเป็นผังงานได้ดังรูป
- 6. 3. โครงสร้างวนซ้า (Repetition Structure)
คือ การประมวลผลมากกว่า 1 ครั้ง ทั้งนี้ขึ้นอยู่กับเงื่อนไขบางประการ โครงสร้างแบบซ้านี้ต้อง
มีการตัดสินใจในการทางานซ้า และลักษณะการทางานของโครงสร้างแบบนี้มี 2 แบบคือ
1. แบบตรวจสอบเงื่อนไขก่อนทุกครั้ง (เงื่อนไขจริง ทาซ้าไปเรื่อยๆ หยุดเมื่อเงื่อนไขเป็น
เท็จ) เช่น while , for
2. แบบทาซ้าไปเรื่อยๆแล้วตรวจสอบเงื่อนไข (ในแต่ละครั้ง ทาคาสั่งก่อน ที่จะ
ตรวจสอบเงื่อนไข) เช่น do..while
- 7. ตัวอย่าง ลาดับขั้นตอนการนับจานวนตั้งแต่ 1 จนถึง เลขที่ต้องการ
แบบข้อความ(Pseudo code)
1.เริ่มต้น
2.กาหนดค่า x ให้มีค่าเท่ากับ 1
3.รับค่า n ( จานวนที่ต้องการรับ )
4.เปรียบเทียบค่า x น้อยกว่าหรือเท่ากับ n หรือไม่
ถ้าเป็นจริง (x น้อยกว่าหรือเท่ากับ n)
-แสดงค่า x
-กาหนดให้ค่า x เพิ่มขึ้นอีก 1
-กลับไปทางานขั้นที่ 4
ถ้าเป็นเท็จ (x ไม่น้อยกว่า n)
-ไปทางานขั้นที่ 5
5.จบ
แบบผังงาน ( Flow chart ) แบบตรวจสอบเงื่อนไขก่อนวนช้า
ตัวอย่าง ผังงาน (Flowchart) การพิมพ์ค่าตัวเลข 1 ถึง n
x=1
n
X<=n
X
x 1
- 8. ตัวอย่าง ผังงาน ( Flow chart ) การหาผลบวกตั้งแต่เลข 1 ถึง num
num
i=1
sum=sum+i
i=i+1
i<=num
num,sum
- 9. ใบงานที่ 1.4
เรื่อง การเขียนผังงาน
กลุ่มสาระการเรียนรู้ การงานอาชีพฯ รายวิชา ง 30245 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
หน่วยการเรียนรู้ที่ 1 ชื่อหน่วย โครงสร้างข้อมูลและอัลกอริธึม ชั้นมัธยมศึกษาปีที่ 6
คาชี้แจง ให้นักเรียนแสดงวิธีทาการเขียนผังงาน ดังนี้
1.ให้นักเรียนพิจารณาข้อความแสดงขั้นตอนการจาลองความคิดเป็นข้อความเป็นข้อความข้างล่างด้าน
ซ้ายมือ แล้วนามาเรียงลาดับเป็นขั้นตอนที่ถูกต้องในช่องว่างด้านขวามือ
เริ่มต้น
จบ
ซักเสื้อผ้า
ฝนตกหรือไม่
ถ้าฝนไม่ตก ออกไปดูภาพยนตร์
ถ้าฝนตก อ่านหนังสือ
2.จากขั้นตอนการแก้ปัญหาข้างต้น ถ้ากาหนดผังงานดังรูปข้างล่าง ให้นาข้อความจากข้อที่ 1 มาวาดลงใน
สัญลักษณ์ดังรูป
ชื่อ................................................................................ชั้น...........เลขที่............
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
…………………………………………….