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

10

Click here to load reader

description

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

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

Page 1: ใบความรู้ที่ 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 บรรทดเทานน

ชอ.........................................................ชน.................เลขท.............

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

ตารางสญลกษณของผงงาน

หลกในการเขยนผงงาน การเขยนผงงานนน ไมมวธการทแนชดวาจะตองใชค าสงอะไรบาง ทงนขนอยกบลกษณะของงานทจะท า ซงลกษณะงานจะมอย 3 ขนตอน คอ

1. การรบขอมล (Input) 2. การประมวลผล (Process) 3. การแสดงผลลพธ (Output)

การศกษาล าดบขนตอนในการท างานของผงงาน ใหสงเกตจากลกศรทแสดงทศทางการไหลของขอมลในผงงานเปนหลกในการเขยนผงงาน จะตองค านงถงสงตาง ๆ ตอไปน 1. ใชสญลกษณทมรปแบบเปนมาตรฐาน 2. ขนาดของสญลกษณขนอยกบความเหมาะสม 3. ควรเขยนทศทางการไหลของขอมล เรมจากบนลงลาง หรอจากซายไปขวา และควรท าหวลกศรก ากบทศทางดวย 4. การเขยนค าอธบายใหเขยนภายในสญลกษณ ใชขอความทเขาใจงาย สนและชดเจน

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

5. พยายามใหเกดจดตดนอยทสด หรออาจใชสญลกษณทเรยกวา "ตวเชอม" (Connector) แทน เพอหลกเลยงขอผดพลาดทอาจเกดขน 6. หากเปนไปไดควรเขยนผงงานใหจบภายในหนาเดยวกน 7 . ผงงานทดควรเปนระเบยบเรยบรอย สะอาด ชดเจน เขาใจและตดตามขนตอนไดงาย 8. จดเรมตนและสนสดของงาน ควรมเพยงจดเดยว

ประเภทของผงงาน เราสามารถแบงผงงานไดเปน 2 ประเภทใหญ คอ 1. ผงงานระบบ (System Flow chart) ผงงานระบบจะเปนการแสดงใหเราเหนวา ในระบบหนง ๆ นนมขนตอนในการท างานอยางไร ซงจะมองเหนในลกษณะภาพกวาง ๆ ของระบบ แตจะไมเจาะลกลงไปวาในระบบวาในแตละงานนนมการท างานอยางไร คอ จะใหเหนวาจดเรมตนของงานเรมจากสวนใด เปนขอมลแบบใด มการประมวลผลอยางไร และจะไดผลลพธเปนอยางไรและเกบอยทใด 2. ผงงานโปรแกรม (Program Flow chart) ผงงานโปรแกรม หรอ เรยกสน ๆ วา ผงงาน จะเปนผงงานทแสดงใหเหนถงล าดบขนตอนในการท างานของโปรแกรม ตงแตการรบขอมล การประมวลผล ตลอดจนผลลพธทได จะท าใหเขยนโปรแกรมไดสะดวกขน ซงผงงานชนดนอาจสรางมาจากผงงานระบบ โดยดงเอาจดทเกยวของกบคอมพวเตอรมา วเคราะหวาจะใชท างานสวนใดเพอทจะใหไดมาซงผลลพธทตองการ

รปแบบของผงงาน

ผงงาน มรปแบบทจ ากดอย 3 แบบดวยกน คอ 1. รปแบบเรยงล าดบ (Sequence Structure) เปนการท างานแบบเรยงล าดบ ตงแตตนจนจบ เปนรปแบบงาย ๆ ไมมการเปรยบเทยบใด ๆ มทศทางการไหลของขอมลเพยงทางเดยว ซงอาจจะเปนแบบบนลงลาง หรอ จากซายไปขวากได เชน การใหค านวณหาพนทของสเหลยมผนผา จะเขยนเปนผงงานไดดงรป

Page 4: ใบความรู้ที่ 1.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)

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

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

และจากผงงานเราสามารถเขยนเปนโปรแกรมได โดยใชค าสงเกยวกบการตดสนใจ หรอการเปรยบเทยบ เชน 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); }

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

3. โครงสรางวนซ า (Repetition Structure) คอ การประมวลผลมากกวา 1 ครง ทงนขนอยกบเงอนไขบางประการ โครงสรางแบบซ านตองมการตดสนใจในการท างานซ า และลกษณะการท างานของโครงสรางแบบนม 2 แบบคอ

1. แบบตรวจสอบเงอนไขกอนทกครง (เงอนไขจรง ท าซ าไปเรอยๆ หยดเมอเงอนไขเปน

เทจ) เชน while , for

2. แบบท าซ าไปเรอยๆแลวตรวจสอบเงอนไข (ในแตละครง ท าค าสงกอน ทจะ

ตรวจสอบเงอนไข) เชน do..while

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

ตวอยาง ล าดบขนตอนการนบจ านวนตงแต 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

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

ตวอยาง ผงงาน ( Flow chart ) การหาผลบวกตงแตเลข 1 ถง num

num

i=1

sum=sum+i

i=i+1

i<=num

num,sum

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

ใบงานท 1.4 เรอง การเขยนผงงาน

กลมสาระการเรยนร การงานอาชพฯ รายวชา ง 30245 การเขยนโปรแกรมดวยภาษาคอมพวเตอร หนวยการเรยนรท 1 ชอหนวย โครงสรางขอมลและอลกอรธม ชนมธยมศกษาปท 6

ค าชแจง ใหนกเรยนแสดงวธท าการเขยนผงงาน ดงน 1.ใหนกเรยนพจารณาขอความแสดงขนตอนการจ าลองความคดเปนขอความเปนขอความขางลางดานซายมอ แลวน ามาเรยงล าดบเปนขนตอนทถกตองในชองวางดานขวามอ

เรมตน จบ ซกเสอผา ฝนตกหรอไม ถาฝนไมตก ออกไปดภาพยนตร ถาฝนตก อานหนงสอ 2.จากขนตอนการแกปญหาขางตน ถาก าหนดผงงานดงรปขางลาง ใหน าขอความจากขอท 1 มาวาดลงในสญลกษณดงรป

ชอ................................................................................ชน...........เลขท............

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

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

3.ใหนกเรยนพจารณาขอความแสดงขนตอนการจ าลองความคดเปนขอความเปนขอความขางลางดานซายมอ แลวน ามาเรยงล าดบเปนขนตอนทถกตองในชองวางดานขวามอ เรมตน จบ รบคาจ านวนเตมเกบทตวแปร n n หาร 2 เหลอเศษเทากบ 0 หรอไม ถา n หาร 2 เหลอเศษเทากบ 0 แสดงขอความ “even” ถา n หาร 2 เหลอเศษไมเทากบ 0 แสดงขอความ “odd” แสดงล าดบเปนขอความ ( Pseudo code ) …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 4.จากขนตอนการแกปญหาขางตน ใหน าขอความจากขอท 4 มาเขยนผงงาน ( Flow chart )โดยเลอกสญลกษณใหตรงกบขอความ