Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

708 views

Published on

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

  • Be the first to comment

  • Be the first to like this

ใบความรู้ที่ 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 )โดยเลือก สัญลักษณ์ให้ตรงกับข้อความ

×