ใบความรู้ที่ 1.4

576 views
497 views

Published on

ใบความรู้ที่ 1.4

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
576
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ใบความรู้ที่ 1.4

  1. 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 บรรทัดเท่านั้น ชื่อ.........................................................ชั้น.................เลขที่.............
  2. 2. ตารางสัญลักษณ์ของผังงาน หลักในการเขียนผังงาน การเขียนผังงานนั้น ไม่มีวิธีการที่แน่ชัดว่าจะต้องใช้คาสั่งอะไรบ้าง ทั้งนี้ขึ้นอยู่กับลักษณะของ งานที่จะทา ซึ่งลักษณะงานจะมีอยู่ 3 ขั้นตอน คือ 1. การรับข้อมูล (Input) 2. การประมวลผล (Process) 3. การแสดงผลลัพธ์ (Output) การศึกษาลาดับขั้นตอนในการทางานของผังงาน ให้สังเกตจากลูกศรที่แสดงทิศทางการไหลของ ข้อมูลในผังงานเป็นหลักในการเขียนผังงาน จะต้องคานึงถึงสิ่งต่าง ๆ ต่อไปนี้ 1. ใช้สัญลักษณ์ที่มีรูปแบบเป็นมาตรฐาน 2. ขนาดของสัญลักษณ์ขึ้นอยู่กับความเหมาะสม 3. ควรเขียนทิศทางการไหลของข้อมูล เริ่มจากบนลงล่าง หรือจากซ้ายไปขวา และควรทาหัวลูกศร กากับทิศทางด้วย 4. การเขียนคาอธิบายให้เขียนภายในสัญลักษณ์ ใช้ข้อความที่เข้าใจง่าย สั้นและชัดเจน
  3. 3. 5. พยายามให้เกิดจุดตัดน้อยที่สุด หรืออาจใช้สัญลักษณ์ที่เรียกว่า "ตัวเชื่อม" (Connector) แทน เพื่อ หลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้น 6. หากเป็นไปได้ควรเขียนผังงานให้จบภายในหน้าเดียวกัน 7 . ผังงานที่ดีควรเป็นระเบียบเรียบร้อย สะอาด ชัดเจน เข้าใจและติดตามขั้นตอนได้ง่าย 8. จุดเริ่มต้นและสิ้นสุดของงาน ควรมีเพียงจุดเดียว ประเภทของผังงาน เราสามารถแบ่งผังงานได้เป็น 2 ประเภทใหญ่ คือ 1. ผังงานระบบ (System Flow chart) ผังงานระบบจะเป็นการแสดงให้เราเห็นว่า ในระบบหนึ่ง ๆ นั้นมีขั้นตอนในการทางานอย่างไร ซึ่งจะมองเห็นในลักษณะภาพกว้าง ๆ ของระบบ แต่จะไม่เจาะลึกลงไปว่าในระบบว่าในแต่ละงานนั้นมี การทางานอย่างไร คือ จะให้เห็นว่าจุดเริ่มต้นของงานเริ่มจากส่วนใด เป็นข้อมูลแบบใด มีการ ประมวลผลอย่างไร และจะได้ผลลัพธ์เป็นอย่างไรและเก็บอยู่ที่ใด 2. ผังงานโปรแกรม (Program Flow chart) ผังงานโปรแกรม หรือ เรียกสั้น ๆ ว่า ผังงาน จะเป็นผังงานที่แสดงให้เห็นถึงลาดับขั้นตอนใน การทางานของโปรแกรม ตั้งแต่การรับข้อมูล การประมวลผล ตลอดจนผลลัพธ์ที่ได้ จะทาให้เขียน โปรแกรมได้สะดวกขึ้น ซึ่งผังงานชนิดนี้อาจสร้างมาจากผังงานระบบ โดยดึงเอาจุดที่เกี่ยวข้องกับ คอมพิวเตอร์มา วิเคราะห์ว่าจะใช้ทางานส่วนใดเพื่อที่จะให้ได้มาซึ่งผลลัพธ์ที่ต้องการ รูปแบบของผังงาน ผังงาน มีรูปแบบที่จากัดอยู่ 3 แบบด้วยกัน คือ 1. รูปแบบเรียงลาดับ (Sequence Structure) เป็นการทางานแบบเรียงลาดับ ตั้งแต่ต้นจนจบ เป็นรูปแบบง่าย ๆ ไม่มีการเปรียบเทียบใด ๆ มี ทิศทางการไหลของข้อมูลเพียงทางเดียว ซึ่งอาจจะเป็นแบบบนลงล่าง หรือ จากซ้ายไปขวาก็ได้เช่น การให้คานวณหาพื้นที่ของสี่เหลี่ยมผืนผ้า จะเขียนเป็นผังงานได้ดังรูป
  4. 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) รูปแบบนี้จะยากกว่ารูปแบบแรก เพราะจะมีการสร้างเงื่อนไขเพื่อให้เลือกทางาน ถ้าหากเลือก ทางใดก็จะไปทางานในเงื่อนไขที่เลือก ซึ่งเงื่อนไขที่กาหนดขึ้นนี้จะเขียนอยู่ในสัญลักษณ์ "การ ตัดสินใจ" เช่น การคานวณว่าตัวเลขที่รับมานั้นเป็นจานวนคี่หรือคู่ จะเขียนเป็นผังงานได้ดังรูป
  5. 5. และจากผังงานเราสามารถเขียนเป็นโปรแกรมได้ โดยใช้คาสั่งเกี่ยวกับการตัดสินใจ หรือการ เปรียบเทียบ เช่น if - else , switch ตามภาษาที่ท่านใช้เขียนโปรแกรม ในที่นี้เป็นตัวอย่างการใช้ if - else ของภาษา C #include <stdio.h> void main(void) { int a, b; printf ("Enter Numeric (1 - N) : "); scanf ("%d",&a); if ((a%2) == 1) printf("%d is Odd",a); else printf("%d is Even",a); }
  6. 6. 3. โครงสร้างวนซ้า (Repetition Structure) คือ การประมวลผลมากกว่า 1 ครั้ง ทั้งนี้ขึ้นอยู่กับเงื่อนไขบางประการ โครงสร้างแบบซ้านี้ต้อง มีการตัดสินใจในการทางานซ้า และลักษณะการทางานของโครงสร้างแบบนี้มี 2 แบบคือ 1. แบบตรวจสอบเงื่อนไขก่อนทุกครั้ง (เงื่อนไขจริง ทาซ้าไปเรื่อยๆ หยุดเมื่อเงื่อนไขเป็น เท็จ) เช่น while , for 2. แบบทาซ้าไปเรื่อยๆแล้วตรวจสอบเงื่อนไข (ในแต่ละครั้ง ทาคาสั่งก่อน ที่จะ ตรวจสอบเงื่อนไข) เช่น do..while
  7. 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. 8. ตัวอย่าง ผังงาน ( Flow chart ) การหาผลบวกตั้งแต่เลข 1 ถึง num num i=1 sum=sum+i i=i+1 i<=num num,sum
  9. 9. ใบงานที่ 1.4 เรื่อง การเขียนผังงาน กลุ่มสาระการเรียนรู้ การงานอาชีพฯ รายวิชา ง 30245 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ หน่วยการเรียนรู้ที่ 1 ชื่อหน่วย โครงสร้างข้อมูลและอัลกอริธึม ชั้นมัธยมศึกษาปีที่ 6 คาชี้แจง ให้นักเรียนแสดงวิธีทาการเขียนผังงาน ดังนี้ 1.ให้นักเรียนพิจารณาข้อความแสดงขั้นตอนการจาลองความคิดเป็นข้อความเป็นข้อความข้างล่างด้าน ซ้ายมือ แล้วนามาเรียงลาดับเป็นขั้นตอนที่ถูกต้องในช่องว่างด้านขวามือ เริ่มต้น จบ ซักเสื้อผ้า ฝนตกหรือไม่ ถ้าฝนไม่ตก ออกไปดูภาพยนตร์ ถ้าฝนตก อ่านหนังสือ 2.จากขั้นตอนการแก้ปัญหาข้างต้น ถ้ากาหนดผังงานดังรูปข้างล่าง ให้นาข้อความจากข้อที่ 1 มาวาดลงใน สัญลักษณ์ดังรูป ชื่อ................................................................................ชั้น...........เลขที่............ …………………………………………… …………………………………………… …………………………………………… …………………………………………… …………………………………………… …………………………………………….
  10. 10. 3.ให้นักเรียนพิจารณาข้อความแสดงขั้นตอนการจาลองความคิดเป็นข้อความเป็นข้อความข้างล่างด้าน ซ้ายมือ แล้วนามาเรียงลาดับเป็นขั้นตอนที่ถูกต้องในช่องว่างด้านขวามือ เริ่มต้น จบ รับค่าจานวนเต็มเก็บที่ตัวแปร n n หาร 2 เหลือเศษเท่ากับ 0 หรือไม่ ถ้า n หาร 2 เหลือเศษเท่ากับ 0 แสดงข้อความ “even” ถ้า n หาร 2 เหลือเศษไม่เท่ากับ 0 แสดงข้อความ “odd” แสดงลาดับเป็นข้อความ ( Pseudo code ) ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… …………………………………………………………………………………………………………….. 4.จากขั้นตอนการแก้ปัญหาข้างต้น ให้นาข้อความจากข้อที่ 4 มาเขียนผังงาน ( Flow chart )โดยเลือก สัญลักษณ์ให้ตรงกับข้อความ

×