ใบงาน วิชา...

12
ง 30241 การเขียนโปรแกรมภาษาปาสคาล หน่วยการเรียนรู้ที3 การเขียนผังงาน ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทางานของโปรแกรม หรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ ประเภทของผังงาน โดยทั่วไปแล้วผังงานทางคอมพิวเตอร์สามารถ แบ่งออกได้เป็น 3 ประเภท ได้แก่ 1. ผังงานระบบ (System Flowchart) เป็นผังงานแสดงขั้นตอนการทางานทั้งหมดผังงานประเภทนีทาให้เข้าใจระบบงานภายในของระบบหนึ่งๆ ที่เกี่ยวข้องกับงานทั้งหมด ทั้งวัสดุเครื่องจักร โปรแกรมและ บุคลากร 2. ผังงานโปรแกรมโมดูล (Modular Programming Flowchart) เป็นผังงานที่จัดทาขึ้นเพื่อแบ่งระบบ ทั้งหมดออกเป็นส่วนๆ หรือโมดูล เพื่อให้ง่ายต่อความเข้าใจในแต่ละส่วนของระบบให้มากขึ้นกว่าผังงานระบบ ซึ่งผังงานนี้จะแสดงเพียงส่วนที่มีขั้นตอนและวิธีการทางานอย่างไร แต่จะไม่มีรายละเอียดย่อยในโมดูล นั้นๆ 3. ผังงานการเขียนโปรแกรม (Programming Flowchart) เป็นผังงานซึ่งแสดงลาดับขั้นตอนการ ทางานอย่างละเอียดในโมดูล นั้นๆ โดยจะดึงเอาแต่ละจุดจากผังงานโปรแกรมโมดูล นามาเขียนเป็นผังงาน โดย จะแสดงรายละเอียดของขั้นตอนการทางานอย่างชัดเจน ไม่ว่าจะเป็นขั้นตอนของการรับข้อมูลเข้า การคานวณ การประมวลผล และการแสดงผลลัพธ์ประโยชน์ของผังงาน ประโยชน์ของผังงาน 1. ช่วยลาดับขั้นตอนการทางานของโปรแกรม และสามารถนาไปเขียนโปรแกรมได้อย่างถูกต้อง 2. ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด 3. ช่วยให้การดัดแปลง แก้ไข ทาได้อย่างสะดวกและรวดเร็ว 4. ช่วยให้ผู้อื่นสามารถศึกษาการทางานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น

Transcript of ใบงาน วิชา...

Page 1: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

หนวยการเรยนรท 3 การเขยนผงงาน

ผงงาน คอ แผนภาพทมการใชสญลกษณรปภาพและลกศรทแสดงถงขนตอนการท างานของโปรแกรม

หรอระบบทละขนตอน รวมไปถงทศทางการไหลของขอมลตงแตแรกจนไดผลลพธตามทตองการ

ประเภทของผงงาน

โดยทวไปแลวผงงานทางคอมพวเตอรสามารถ แบงออกไดเปน 3 ประเภท ไดแก

1. ผงงานระบบ (System Flowchart) เปนผงงานแสดงขนตอนการท างานทงหมดผงงานประเภทน ท าใหเขาใจระบบงานภายในของระบบหนงๆ ทเกยวของกบงานทงหมด ทงวสดเครองจกร โปรแกรมและบคลากร

2. ผงงานโปรแกรมโมดล (Modular Programming Flowchart) เปนผงงานทจดท าขนเพอแบงระบบทงหมดออกเปนสวนๆ หรอโมดล เพอใหงายตอความเขาใจในแตละสวนของระบบใหมากขนกวาผงงานระบบ ซงผงงานนจะแสดงเพยงสวนทมขนตอนและวธการท างานอยางไร แตจะไมมรายละเอยดยอยในโมดล นนๆ

3. ผงงานการเขยนโปรแกรม (Programming Flowchart) เปนผงงานซงแสดงล าดบขนตอนการท างานอยางละเอยดในโมดล นนๆ โดยจะดงเอาแตละจดจากผงงานโปรแกรมโมดล น ามาเขยนเปนผงงาน โดยจะแสดงรายละเอยดของขนตอนการท างานอยางชดเจน ไมวาจะเปนขนตอนของการรบขอมลเขา การค านวณ การประมวลผล และการแสดงผลลพธประโยชนของผงงาน

ประโยชนของผงงาน

1. ชวยล าดบขนตอนการท างานของโปรแกรม และสามารถน าไปเขยนโปรแกรมไดอยางถกตอง

2. ชวยในการตรวจสอบ และแกไขโปรแกรมไดงาย เมอเกดขอผดพลาด

3. ชวยใหการดดแปลง แกไข ท าไดอยางสะดวกและรวดเรว

4. ชวยใหผอนสามารถศกษาการท างานของโปรแกรมไดอยางงาย และรวดเรวมากขน

Page 2: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

วธการเขยนผงงานทด • ใชสญลกษณตามทก าหนดไว • ใชลกศรแสดงทศทางการไหลของขอมลจากบนลงลาง หรอจากซายไปขวา • ค าอธบายในภาพควรสนกะทดรด และเขาใจงาย • ทกแผนภาพตองมลกศรแสดงทศทางเขา - ออก • ไมควรโยงเสนเชอมผงงานทอยไกลมาก ๆ ควรใชสญลกษณจดเชอมตอแทน • ผงงานควรมการทดสอบความถกตองของการท างานกอนน าไปเขยนโปรแกรม

ผงงานโปรแกรม ( Program Flowchart )

การเขยนผงโปรแกรมจะประกอบไปดวยการใชสญลกษณมาตรฐานตาง ๆ ทเรยกวา สญลกษณ ANSI ( American National Standards Institute ) ในการสรางผงงาน ดงตวอยางทแสดงในรปตอไปน

1. จดเรมตนและจดสนสดของผงงาน

2. การประมวลผล 3. การน าเขาขอมล การแสดงผลขอมลโดยไมระบสอ

4. การน าเขาขอมลผานทางแปนพมพ keyboard

5. การแสดงผลขอมลทางจอภาพ

6. การแสดงผลขอมลทางเครองพมพ

7. การตดสนใจเลอกท า

8. จดเชอมตอภายในหนาเดยวกน

Page 3: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

9. จดเชอมตอหนาอนๆ

10. ทศทางการท างานของผงงาน

ลกษณะโครงสรางของผงงาน Type of Flowchart โครงสรางของผงงานโดยพนฐานสามารถแบงไดออกเปน 3 รปแบบดงน

1. โครงสรางผงงานแบบล าดบ ซงจดเปนโครงสรางของผงงานทงายทสด เปนการเรยงล าดบการท างานจากบนลงลางอยางเปนล าดบขนตอน โดยจะใชสญลกษณแบบใดกได ยกเวนการตดสนใจเลอกท า

Page 4: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

2. โครงสรางผงงานแบบตดสนใจเลอกท า เปนโครงสรางของผงงานทมทางเลอกใหกระท าอยางใดอยางหนง ซงสามารถแยกไดเปน 3 รปแบบ ดงน 2.1 เงอนไขจรงหรอเทจ 2.2 เงอนไขจรงหรอเทจ 2.3 เงอนไขทมใหเลอกมากกวา 2 ทาง จงกระท าอยางใดอยางหนง ตางกตองกระท า 3. โครงสรางผงงานแบบท าซ า เปนโครงสรางของผงงานทมลกษณะการท างานเปนรอบ โดย ท างานกรอบนนยอมขนอยกบเงอนไขของแตละผงงาน

Page 5: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

ตวอยางการเขยนผงงาน

ตวอยาง 1 เขยนผงงานทแสดงขนตอนการสงจดหมาย

Page 6: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

ตวอยางท 2 เขยนผงงานแสดงวธการรบประทานยา ทแบงขนาดรบประทานตามอายของผทานดงน • อายมากกวา 10 ป รบประทานครงละ 2 ชอนชา • อายมากกวา 3 ป ถง 10 ป รบประทานครงละ 1 ชอนชา • อายมากกวา 1 ป ถง 3 ป รบประทานครงละ 1/2 ชอนชา • แรกเกดถง 1 ป หามรบประทาน

Page 7: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

โครงสรางการท างานแบบมการเลอก ( Selection ) เปนโครงสรางทใชการตรวจสอบเงอนไขเพอการท างานอยางใดอยางหนง โดยโครงสรางแบบนจะมอยดวยกน 2 รปแบบ คอ IF - THEN - ELSE และ IF - THEN

โครงสรางแบบ IF - THEN - ELSE เปนโครงสรางทจะท าการเปรยบเทยบเงอนไขทใสไวในสวนหลงค าวา IF และเมอไดผลลพธจากการเปรยบเทยบกจะเลอกวาจะท างานตอในสวนใด กลาวคอถาเงอนไขเปนจรง ( TRUE ) กจะเลอกไปท างานตอทสวนทอยหลง THEN แตถาเงอนไขเปนเทจ ( FALSE ) กจะไปท างานตอในสวนทอยหลงค าวา ELSE

Page 8: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

แตถาส าหรบโครงสรางแบบ IF - THEN เปนโครงสรางทไมมการใช ELSE ดงนน ถามการเปรยบเทยบเงอนไขทอยหลง IF มคาเปนจรง กจะไปท าสวนทอยหลง Then แตถาเงอนไขเปนเทจ กจะไปท าค าสงทอยถดจาก IF - THEN แทน

ตวอยาง 3 การเขยนผงงานอานคาขอมลเขามาเกบไวในตวแปร A และ B แลวท าการเปรยบเทยบในตวแปรท งสอง โดยมเงอนไขดงน • ถา A มากกวา B ใหค านวณหาคา A - B และเกบผลลพธไวในตวแปรชอ RESULT • ถา A นอยกวาหรอเทากบ B ใหค านวณหาคา A + B และเกบผลลพธไวในตวแปรชอ RESULT

Page 9: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

ตวอยาง 4 การเขยนผงงานเปรยบเทยบคาขอมลทเกบอยในตวแปร X โดยมเงอนไขดงน • ถา X > 0 ใหพมพค าวา " POSITIVE NUMBER " • ถา X < 0 ใหพมพค าวา " NEGATIVE NUMBER " • ถา X = 0 ใหพมพค าวา " ZERO NUMBER "

Page 10: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

โครงสรางการท างานแบบมการท างานซ า

เปนโครงสรางทมการประมวลผลกลมค าสงซ าหลายครง ตามลกษณะเงอนไขทก าหนด อาจเรยก การท างานซ าแบบนไดอกแบบวา การวนลป ( Looping ) โครงสรางแบบการท างานซ านจะมอย 2 ประเภท คอ • DO WHILE • DO UNTIL

DO WHILE เปนโครงสรางทมการทดสอบเงอนไขกอน ถาเงอนไขเปนจรงกจะเขามาท างานในกลมค าสงทตองท าซ า ซงเรยกวาการเขาลป หลงจากนนกจะยอนกลบไปตรวจสอบเงอนไขใหมอก ถาเงอนไขยงคงเปนจรงอย กยงคงตองท ากลมค าสงซ าหรอเขาลปตอไปอก จนกระทงเงอนไขเปนเทจ กจะออกจากลปไปท าค าสงถดไปทอยถดจาก DO WHILE หรออาจเปนการจบการท างาน

สรปขอ

Page 11: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

แตกตางระหวาง DO WHILE และ DO UNTIL มดงน 1. DO WHILE ในการท างานครงแรกจะตองมการตรวจสอบเงอนไขกอนทกครง กอนทจะมการเขลปการท างาน 2. DO UNTIL การท างานครงแรกจะยงไมมการตรวจสอบเงอนไข แตจะเขาไปท างานในลปกอนอยางนอย 1 ครงแลวจงจะไปตรวจสอบเงอนไข 3. DO WHILE จะมการเขาไปท างานในลปกตอเมอตรวจสอบเงอนไขแลวพบวา เงอนไขเปนจรง แตเมอพบวาเงอนไขเปนเทจ กจะออกจากลปทนท 4. DO UNTIL จะมการเขาไปท างานในลปกตอเมอตรวจสอบเงอนไขแลวพบวา เงอนไขเปนเทจ แตเมอพบวาเงอนไขเปนจรง กจะออกจากลปทนท

Page 12: ใบงาน วิชา การเขียนโปรแกรมภาษาปาสคาล โดย.. ครูสุคนธา เพชรศิริ · ง 30241

ง 30241 การเขยนโปรแกรมภาษาปาสคาล

ตวอยาง 5 จงเขยนผงงานแสดงการเพมของขอมลตวเลขทเกบอยในหนวยความจ าทแอดเดรส 1 โดยทคาเรมตนจาก 0 ใหท าการเพมคาทละ 1 เรอยไปจนกระทง J มคาขอมลมากกวา 100 จงหยดการท างาน ตวอยางน เปนตวอยางการท างานแบบท าซ า ซงจะสามารถแสดงการเขยนไดทงแบบ DO WHILE และ DO UNTIL ดงน