ใบความรู้ที่ 1.4
Click here to load reader
-
Upload
orapan-chamnan -
Category
Documents
-
view
395 -
download
1
description
Transcript of ใบความรู้ที่ 1.4
ใบความรท 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 ขนตอน คอ
1. การรบขอมล (Input) 2. การประมวลผล (Process) 3. การแสดงผลลพธ (Output)
การศกษาล าดบขนตอนในการท างานของผงงาน ใหสงเกตจากลกศรทแสดงทศทางการไหลของขอมลในผงงานเปนหลกในการเขยนผงงาน จะตองค านงถงสงตาง ๆ ตอไปน 1. ใชสญลกษณทมรปแบบเปนมาตรฐาน 2. ขนาดของสญลกษณขนอยกบความเหมาะสม 3. ควรเขยนทศทางการไหลของขอมล เรมจากบนลงลาง หรอจากซายไปขวา และควรท าหวลกศรก ากบทศทางดวย 4. การเขยนค าอธบายใหเขยนภายในสญลกษณ ใชขอความทเขาใจงาย สนและชดเจน
5. พยายามใหเกดจดตดนอยทสด หรออาจใชสญลกษณทเรยกวา "ตวเชอม" (Connector) แทน เพอหลกเลยงขอผดพลาดทอาจเกดขน 6. หากเปนไปไดควรเขยนผงงานใหจบภายในหนาเดยวกน 7 . ผงงานทดควรเปนระเบยบเรยบรอย สะอาด ชดเจน เขาใจและตดตามขนตอนไดงาย 8. จดเรมตนและสนสดของงาน ควรมเพยงจดเดยว
ประเภทของผงงาน เราสามารถแบงผงงานไดเปน 2 ประเภทใหญ คอ 1. ผงงานระบบ (System Flow chart) ผงงานระบบจะเปนการแสดงใหเราเหนวา ในระบบหนง ๆ นนมขนตอนในการท างานอยางไร ซงจะมองเหนในลกษณะภาพกวาง ๆ ของระบบ แตจะไมเจาะลกลงไปวาในระบบวาในแตละงานนนมการท างานอยางไร คอ จะใหเหนวาจดเรมตนของงานเรมจากสวนใด เปนขอมลแบบใด มการประมวลผลอยางไร และจะไดผลลพธเปนอยางไรและเกบอยทใด 2. ผงงานโปรแกรม (Program Flow chart) ผงงานโปรแกรม หรอ เรยกสน ๆ วา ผงงาน จะเปนผงงานทแสดงใหเหนถงล าดบขนตอนในการท างานของโปรแกรม ตงแตการรบขอมล การประมวลผล ตลอดจนผลลพธทได จะท าใหเขยนโปรแกรมไดสะดวกขน ซงผงงานชนดนอาจสรางมาจากผงงานระบบ โดยดงเอาจดทเกยวของกบคอมพวเตอรมา วเคราะหวาจะใชท างานสวนใดเพอทจะใหไดมาซงผลลพธทตองการ
รปแบบของผงงาน
ผงงาน มรปแบบทจ ากดอย 3 แบบดวยกน คอ 1. รปแบบเรยงล าดบ (Sequence Structure) เปนการท างานแบบเรยงล าดบ ตงแตตนจนจบ เปนรปแบบงาย ๆ ไมมการเปรยบเทยบใด ๆ มทศทางการไหลของขอมลเพยงทางเดยว ซงอาจจะเปนแบบบนลงลาง หรอ จากซายไปขวากได เชน การใหค านวณหาพนทของสเหลยมผนผา จะเขยนเปนผงงานไดดงรป
จากผงงาน เราสามารถเขยนโปรแกรมได ตาม 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)
รปแบบนจะยากกวารปแบบแรก เพราะจะมการสรางเงอนไขเพอใหเลอกท างาน ถาหากเลอกทางใดกจะไปท างานในเงอนไขทเลอก ซงเงอนไขทก าหนดขนนจะเขยนอยในสญลกษณ "การตดสนใจ" เชน การค านวณวาตวเลขทรบมานนเปนจ านวนคหรอค จะเขยนเปนผงงานไดดงรป
และจากผงงานเราสามารถเขยนเปนโปรแกรมได โดยใชค าสงเกยวกบการตดสนใจ หรอการเปรยบเทยบ เชน 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); }
3. โครงสรางวนซ า (Repetition Structure) คอ การประมวลผลมากกวา 1 ครง ทงนขนอยกบเงอนไขบางประการ โครงสรางแบบซ านตองมการตดสนใจในการท างานซ า และลกษณะการท างานของโครงสรางแบบนม 2 แบบคอ
1. แบบตรวจสอบเงอนไขกอนทกครง (เงอนไขจรง ท าซ าไปเรอยๆ หยดเมอเงอนไขเปน
เทจ) เชน while , for
2. แบบท าซ าไปเรอยๆแลวตรวจสอบเงอนไข (ในแตละครง ท าค าสงกอน ทจะ
ตรวจสอบเงอนไข) เชน do..while
ตวอยาง ล าดบขนตอนการนบจ านวนตงแต 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
ตวอยาง ผงงาน ( Flow chart ) การหาผลบวกตงแตเลข 1 ถง num
num
i=1
sum=sum+i
i=i+1
i<=num
num,sum
ใบงานท 1.4 เรอง การเขยนผงงาน
กลมสาระการเรยนร การงานอาชพฯ รายวชา ง 30245 การเขยนโปรแกรมดวยภาษาคอมพวเตอร หนวยการเรยนรท 1 ชอหนวย โครงสรางขอมลและอลกอรธม ชนมธยมศกษาปท 6
ค าชแจง ใหนกเรยนแสดงวธท าการเขยนผงงาน ดงน 1.ใหนกเรยนพจารณาขอความแสดงขนตอนการจ าลองความคดเปนขอความเปนขอความขางลางดานซายมอ แลวน ามาเรยงล าดบเปนขนตอนทถกตองในชองวางดานขวามอ
เรมตน จบ ซกเสอผา ฝนตกหรอไม ถาฝนไมตก ออกไปดภาพยนตร ถาฝนตก อานหนงสอ 2.จากขนตอนการแกปญหาขางตน ถาก าหนดผงงานดงรปขางลาง ใหน าขอความจากขอท 1 มาวาดลงในสญลกษณดงรป
ชอ................................................................................ชน...........เลขท............
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
3.ใหนกเรยนพจารณาขอความแสดงขนตอนการจ าลองความคดเปนขอความเปนขอความขางลางดานซายมอ แลวน ามาเรยงล าดบเปนขนตอนทถกตองในชองวางดานขวามอ เรมตน จบ รบคาจ านวนเตมเกบทตวแปร n n หาร 2 เหลอเศษเทากบ 0 หรอไม ถา n หาร 2 เหลอเศษเทากบ 0 แสดงขอความ “even” ถา n หาร 2 เหลอเศษไมเทากบ 0 แสดงขอความ “odd” แสดงล าดบเปนขอความ ( Pseudo code ) …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 4.จากขนตอนการแกปญหาขางตน ใหน าขอความจากขอท 4 มาเขยนผงงาน ( Flow chart )โดยเลอกสญลกษณใหตรงกบขอความ