ใบงาน วิชา...
Transcript of ใบงาน วิชา...
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
หนวยการเรยนรท 3 การเขยนผงงาน
ผงงาน คอ แผนภาพทมการใชสญลกษณรปภาพและลกศรทแสดงถงขนตอนการท างานของโปรแกรม
หรอระบบทละขนตอน รวมไปถงทศทางการไหลของขอมลตงแตแรกจนไดผลลพธตามทตองการ
ประเภทของผงงาน
โดยทวไปแลวผงงานทางคอมพวเตอรสามารถ แบงออกไดเปน 3 ประเภท ไดแก
1. ผงงานระบบ (System Flowchart) เปนผงงานแสดงขนตอนการท างานทงหมดผงงานประเภทน ท าใหเขาใจระบบงานภายในของระบบหนงๆ ทเกยวของกบงานทงหมด ทงวสดเครองจกร โปรแกรมและบคลากร
2. ผงงานโปรแกรมโมดล (Modular Programming Flowchart) เปนผงงานทจดท าขนเพอแบงระบบทงหมดออกเปนสวนๆ หรอโมดล เพอใหงายตอความเขาใจในแตละสวนของระบบใหมากขนกวาผงงานระบบ ซงผงงานนจะแสดงเพยงสวนทมขนตอนและวธการท างานอยางไร แตจะไมมรายละเอยดยอยในโมดล นนๆ
3. ผงงานการเขยนโปรแกรม (Programming Flowchart) เปนผงงานซงแสดงล าดบขนตอนการท างานอยางละเอยดในโมดล นนๆ โดยจะดงเอาแตละจดจากผงงานโปรแกรมโมดล น ามาเขยนเปนผงงาน โดยจะแสดงรายละเอยดของขนตอนการท างานอยางชดเจน ไมวาจะเปนขนตอนของการรบขอมลเขา การค านวณ การประมวลผล และการแสดงผลลพธประโยชนของผงงาน
ประโยชนของผงงาน
1. ชวยล าดบขนตอนการท างานของโปรแกรม และสามารถน าไปเขยนโปรแกรมไดอยางถกตอง
2. ชวยในการตรวจสอบ และแกไขโปรแกรมไดงาย เมอเกดขอผดพลาด
3. ชวยใหการดดแปลง แกไข ท าไดอยางสะดวกและรวดเรว
4. ชวยใหผอนสามารถศกษาการท างานของโปรแกรมไดอยางงาย และรวดเรวมากขน
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
วธการเขยนผงงานทด • ใชสญลกษณตามทก าหนดไว • ใชลกศรแสดงทศทางการไหลของขอมลจากบนลงลาง หรอจากซายไปขวา • ค าอธบายในภาพควรสนกะทดรด และเขาใจงาย • ทกแผนภาพตองมลกศรแสดงทศทางเขา - ออก • ไมควรโยงเสนเชอมผงงานทอยไกลมาก ๆ ควรใชสญลกษณจดเชอมตอแทน • ผงงานควรมการทดสอบความถกตองของการท างานกอนน าไปเขยนโปรแกรม
ผงงานโปรแกรม ( Program Flowchart )
การเขยนผงโปรแกรมจะประกอบไปดวยการใชสญลกษณมาตรฐานตาง ๆ ทเรยกวา สญลกษณ ANSI ( American National Standards Institute ) ในการสรางผงงาน ดงตวอยางทแสดงในรปตอไปน
1. จดเรมตนและจดสนสดของผงงาน
2. การประมวลผล 3. การน าเขาขอมล การแสดงผลขอมลโดยไมระบสอ
4. การน าเขาขอมลผานทางแปนพมพ keyboard
5. การแสดงผลขอมลทางจอภาพ
6. การแสดงผลขอมลทางเครองพมพ
7. การตดสนใจเลอกท า
8. จดเชอมตอภายในหนาเดยวกน
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
9. จดเชอมตอหนาอนๆ
10. ทศทางการท างานของผงงาน
ลกษณะโครงสรางของผงงาน Type of Flowchart โครงสรางของผงงานโดยพนฐานสามารถแบงไดออกเปน 3 รปแบบดงน
1. โครงสรางผงงานแบบล าดบ ซงจดเปนโครงสรางของผงงานทงายทสด เปนการเรยงล าดบการท างานจากบนลงลางอยางเปนล าดบขนตอน โดยจะใชสญลกษณแบบใดกได ยกเวนการตดสนใจเลอกท า
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
2. โครงสรางผงงานแบบตดสนใจเลอกท า เปนโครงสรางของผงงานทมทางเลอกใหกระท าอยางใดอยางหนง ซงสามารถแยกไดเปน 3 รปแบบ ดงน 2.1 เงอนไขจรงหรอเทจ 2.2 เงอนไขจรงหรอเทจ 2.3 เงอนไขทมใหเลอกมากกวา 2 ทาง จงกระท าอยางใดอยางหนง ตางกตองกระท า 3. โครงสรางผงงานแบบท าซ า เปนโครงสรางของผงงานทมลกษณะการท างานเปนรอบ โดย ท างานกรอบนนยอมขนอยกบเงอนไขของแตละผงงาน
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
ตวอยางการเขยนผงงาน
ตวอยาง 1 เขยนผงงานทแสดงขนตอนการสงจดหมาย
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
ตวอยางท 2 เขยนผงงานแสดงวธการรบประทานยา ทแบงขนาดรบประทานตามอายของผทานดงน • อายมากกวา 10 ป รบประทานครงละ 2 ชอนชา • อายมากกวา 3 ป ถง 10 ป รบประทานครงละ 1 ชอนชา • อายมากกวา 1 ป ถง 3 ป รบประทานครงละ 1/2 ชอนชา • แรกเกดถง 1 ป หามรบประทาน
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
โครงสรางการท างานแบบมการเลอก ( Selection ) เปนโครงสรางทใชการตรวจสอบเงอนไขเพอการท างานอยางใดอยางหนง โดยโครงสรางแบบนจะมอยดวยกน 2 รปแบบ คอ IF - THEN - ELSE และ IF - THEN
โครงสรางแบบ IF - THEN - ELSE เปนโครงสรางทจะท าการเปรยบเทยบเงอนไขทใสไวในสวนหลงค าวา IF และเมอไดผลลพธจากการเปรยบเทยบกจะเลอกวาจะท างานตอในสวนใด กลาวคอถาเงอนไขเปนจรง ( TRUE ) กจะเลอกไปท างานตอทสวนทอยหลง THEN แตถาเงอนไขเปนเทจ ( FALSE ) กจะไปท างานตอในสวนทอยหลงค าวา ELSE
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
แตถาส าหรบโครงสรางแบบ IF - THEN เปนโครงสรางทไมมการใช ELSE ดงนน ถามการเปรยบเทยบเงอนไขทอยหลง IF มคาเปนจรง กจะไปท าสวนทอยหลง Then แตถาเงอนไขเปนเทจ กจะไปท าค าสงทอยถดจาก IF - THEN แทน
ตวอยาง 3 การเขยนผงงานอานคาขอมลเขามาเกบไวในตวแปร A และ B แลวท าการเปรยบเทยบในตวแปรท งสอง โดยมเงอนไขดงน • ถา A มากกวา B ใหค านวณหาคา A - B และเกบผลลพธไวในตวแปรชอ RESULT • ถา A นอยกวาหรอเทากบ B ใหค านวณหาคา A + B และเกบผลลพธไวในตวแปรชอ RESULT
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
ตวอยาง 4 การเขยนผงงานเปรยบเทยบคาขอมลทเกบอยในตวแปร X โดยมเงอนไขดงน • ถา X > 0 ใหพมพค าวา " POSITIVE NUMBER " • ถา X < 0 ใหพมพค าวา " NEGATIVE NUMBER " • ถา X = 0 ใหพมพค าวา " ZERO NUMBER "
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
โครงสรางการท างานแบบมการท างานซ า
เปนโครงสรางทมการประมวลผลกลมค าสงซ าหลายครง ตามลกษณะเงอนไขทก าหนด อาจเรยก การท างานซ าแบบนไดอกแบบวา การวนลป ( Looping ) โครงสรางแบบการท างานซ านจะมอย 2 ประเภท คอ • DO WHILE • DO UNTIL
DO WHILE เปนโครงสรางทมการทดสอบเงอนไขกอน ถาเงอนไขเปนจรงกจะเขามาท างานในกลมค าสงทตองท าซ า ซงเรยกวาการเขาลป หลงจากนนกจะยอนกลบไปตรวจสอบเงอนไขใหมอก ถาเงอนไขยงคงเปนจรงอย กยงคงตองท ากลมค าสงซ าหรอเขาลปตอไปอก จนกระทงเงอนไขเปนเทจ กจะออกจากลปไปท าค าสงถดไปทอยถดจาก DO WHILE หรออาจเปนการจบการท างาน
สรปขอ
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
แตกตางระหวาง DO WHILE และ DO UNTIL มดงน 1. DO WHILE ในการท างานครงแรกจะตองมการตรวจสอบเงอนไขกอนทกครง กอนทจะมการเขลปการท างาน 2. DO UNTIL การท างานครงแรกจะยงไมมการตรวจสอบเงอนไข แตจะเขาไปท างานในลปกอนอยางนอย 1 ครงแลวจงจะไปตรวจสอบเงอนไข 3. DO WHILE จะมการเขาไปท างานในลปกตอเมอตรวจสอบเงอนไขแลวพบวา เงอนไขเปนจรง แตเมอพบวาเงอนไขเปนเทจ กจะออกจากลปทนท 4. DO UNTIL จะมการเขาไปท างานในลปกตอเมอตรวจสอบเงอนไขแลวพบวา เงอนไขเปนเทจ แตเมอพบวาเงอนไขเปนจรง กจะออกจากลปทนท
ง 30241 การเขยนโปรแกรมภาษาปาสคาล
ตวอยาง 5 จงเขยนผงงานแสดงการเพมของขอมลตวเลขทเกบอยในหนวยความจ าทแอดเดรส 1 โดยทคาเรมตนจาก 0 ใหท าการเพมคาทละ 1 เรอยไปจนกระทง J มคาขอมลมากกวา 100 จงหยดการท างาน ตวอยางน เปนตวอยางการท างานแบบท าซ า ซงจะสามารถแสดงการเขยนไดทงแบบ DO WHILE และ DO UNTIL ดงน