การเขียนอัลกอริทึม algorithm) ·...

16
การเขียนอัลกอริทึม (Algorithm) สาระการเรียนรู 1. ความหมายของอัลกอริทึม 2. จุดประสงค์การเขียนอัลกอริทึม 3. รูปแบบการเขียนอัลกอริทึม 4. เทคนิคการเขียนอัลกอริทึม 5. ลักษณะการเขียนอัลกอริทึม จุดประสงค์การเรียนรู 1. อธิบายความหมายของอัลกอริทึมได้ 2. อธิบายขั ้นตอนการพัฒนาอัลกอริทึมได3. รู้วิธีการกาหนดขั ้นตอนการจาลองความคิดเป็นคาพูดได4. วิเคราะห์โจทย์ปัญหาเพื่อพัฒนาเป็นอัลกอริทึมได้ 5. เขียนอัลกอริทึมได้ 6. มีความสนใจใฝ่เรียนรู้ ตั ้งใจเรียน 7. มีวินัย เข้าเรียนทันเวลา ปฏิบัติตามกฎระเบียบของวิทยาลัยฯ 8. มีความรับผิดชอบงานที่ได้รับมอบหมาย 9. มีความคิดริเริ่มสร้างสรรค์ มีความเชื่อมั่นกล้าลองผิดลองถูก 10. มีความซื่อสัตย์ต่อตนเองและผู้อื่น

Upload: others

Post on 17-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

การเขยนอลกอรทม (Algorithm)

สาระการเรยนร

1. ความหมายของอลกอรทม2. จดประสงคการเขยนอลกอรทม3. รปแบบการเขยนอลกอรทม4. เทคนคการเขยนอลกอรทม5. ลกษณะการเขยนอลกอรทม

จดประสงคการเรยนร

1. อธบายความหมายของอลกอรทมได2. อธบายขนตอนการพฒนาอลกอรทมได3. รวธการก าหนดขนตอนการจ าลองความคดเปนค าพดได4. วเคราะหโจทยปญหาเพอพฒนาเปนอลกอรทมได5. เขยนอลกอรทมได6. มความสนใจใฝเรยนร ตงใจเรยน7. มวนย เขาเรยนทนเวลา ปฏบตตามกฎระเบยบของวทยาลยฯ8. มความรบผดชอบงานทไดรบมอบหมาย9. มความคดรเรมสรางสรรค มความเชอมนกลาลองผดลองถก10. มความซอสตยตอตนเองและผอน

Page 2: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

ความหมายของ Algorithm

อลกอรทม (Algorithm) หมายถง วธการหรอกระบวนการท างานใดงานหนงทสามารถแบงขนตอนออกเปนยอย ๆ ทแนนอน ซงเมอทราบขนตอนการท างานทแนนนอนแลว กจะน า Algorithm ทไดนนมาวาดเปน Flowchart จากนนจงแปลง Flowchart เปนภาษาระดบสงทคอมพวเตอรเขาใจ

ขนตอนในการพฒนาล าดบขนตอนวธการแกปญหา นบวาเปนขนตอนทส าคญอกขนตอนหนง เพราะเปนขนตอนทน าวธการแกปญหาทไดท าการทดลองหาวธการแกปญหาในสวนของการทดลองแกปญหาดวยตนเอง (Hand Example) มาท าการเรยบเรยงล าดบขนตอนการท างานของวธการแกปญหา ตงแตขนตอนแรกจนถงขนตอนสดทาย วามล าดบขนตอนการท างานอยางไรบาง เพอทจะน าไปสงการใหเครองคอมพวเตอรท าการแกไขปญหาดวยวธการน

ค าวา Algorithm ในทางคณตศาสตรจะหมายถงขนตอนหรอวธการค านวณ ส าหรบในการเขยนโปรแกรมคอมพวเตอร Algorithm จะหมายถงวธการทไดแบงออกเปนขนตอนยอยๆ ทมการท างานแนนอน หรอการอธบายล าดบขนตอนการท างานในลกษณะของขอความ ตงแตตนจนจบ วามล าดบขนตอนการท างานอยางไรบาง Algorithm มาจากชอของนกคณตศาสตรชาวเปอรเซย Abu Ja’ far Muhammad ibm al-Khwarizmi ผเขยนหนงสอเกยวกบเรองของจ านวนของชาวฮนดและอาหรบ “Aldorithmi de numero Indorum” (ภาษาลาตน) ซงแปลวา “Al-Khwarizmi on the Hindu Art of Reckoning” (ภาษาองกฤษ) เปนผเรมใชเลขศนยในระบบทศนยม

จดประสงคการเขยน Algorithm

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

Page 3: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

รปแบบการเขยนขนตอนวธแกปญหา (Algorithm)

ในสวนของการพฒนาล าดบขนตอนวธการแกปญหา (Algorithm Development) อาจเขยนล าดบขนตอนการท างานได 2 วธ คอ การอธบายขนตอนการท างานอยางคราว ๆ และการอธบายขนตอนการท างานอยางละเอยด

การอธบายขนตอนการท างานอยางคราว ๆหรออยางหยาบ (Decomposition) คอ การเขยนขนตอนการท างานทงหมดโดยไมตองละเอยดมากนก และเขยนขนตอนการท างานเปนขอ ๆ เรมตงแตขนตอนแรกจนถงขนตอนสดทายทจะสงใหเครองคอมพวเตอรท าการแกปญหา จะตองท าล าดบขนตอนใดบาง ตวอยางเชน การค านวณหาอตราผอนช าระรายเดอนของสนคารายการหนง สามารถเรยบเรยงเปนการท างานอยางหยาบได ดงน

1. เรมตน2. รบคาของราคาสนคา3. รบคาของอตราดอกเบยรายป4. รบคาของจ านวนเดอนทตองการผอนช าระ5. ค านวณหาคาของจ านวนเงนทตองช าระรายเดอน6. แสดงคาของจ านวนเงนทผอนช าระรายเดอน7. จบการท างาน

ในการเขยนอธบายล าดบขนตอนการท างานในลกษณะของขอความนน จะเรมตนขอแรกดวยค าวา “เรมตน” หรอ “เรมตนการท างาน” ถดจากนนเปนล าดบขนตอนการท างานทใชในการแกปญหา และจบดวยขนตอนสดทาย จะใชขอความวา “จบการท างาน”

การอธบายขนตอนการท างานอยางละเอยด (Refinement) คอ การน าขนตอนการท างานอยางคราว ๆ มาพจารณาเพมเตมขอมลบางอยางทยงไมเรยบรอย แตละขนตอนทอธบายในสวนของการอธบายขนตอนการท างานอยางหยาบนน มความละเอยดพอทจะน าไปสงงานใหเครองคอมพวเตอรท างานแลวหรอยง ถายงไมละเอยดตองเขยนขยายความใหละเอยดยงขนและสมบรณมากทสด หรอแยกการท างานออกเปนขอยอยเพมเตม อยางเชน ในการค านวณหาคาขอมลใดบางอยาง จะค านวณดวยวธการใด จากตวอยางในสวนของการอธบายขนตอนการท างานอยางหยาบ (Decomposition) เรองการหาอตราการผอนช าระรายเดอนของสนคารายการหนง เมอพจารณาการท างานในแตละขอ จะเหนไดวามขนตอนการท างานอยข นตอนหนงทไมละเอยด กคอ

Page 4: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

ขนตอนท 5 การค านวณหาคาของจ านวนเงนทตองการช าระรายเดอน ยงไมไดบอกวาค านวณดวยวธการใด ดงนนจงตองท าการอธบายเพมเตมในสวนของขนตอนในการค านวณหาคาของจ านวนเงนทตองช าระรายเดอน โดยวธการค านวณนนไดท าในสวนของการทดลองแกปญหาดวยตนเอง (Hand Example) สามารถเขยนอธบายขนตอนการท างานอยางละเอยดของการแกปญหาไดดงน

1. เรมตน2. รบคาของราคาสนคา3. รบคาของอตราดอกเบยรายป4. รบคาของจ านวนเดอนทตองการผอนช าระ5. ค านวณหาดอกเบย จากสตร

ดอกเบย ราคาสนคา x อตราดอกเบย x (จ านวนเดอน/12) 6. ค านวณหาจ านวนเงนทตองช าระรายเดอน จากสตร

เงนผอนรายเดอน (ราคาสนคา + ดอกเบย)/จ านวนเดอน 7. แสดงคาของจ านวนเงนทผอนช าระรายเดอน8. จบการท างาน

จากการอธบายขนตอนการท างานในขนตอนท 5 และ 6 จะเหนวาในการค านวณ จะไมใชเครองหมายเทากบ (=) จะใชเครองหมายลกศรชทศทาง ( ) แทน สวนเครองหมายเทากบนนจะใชในกรณทท าการเปรยบเทยบคาเทานน เชนเดยวกบการค านวณคากเชนกน อยางชาน ตองการก าหนดคาให X มคาเทากบ 100 จะเขยนค าอธบายไดวา X 100

หลงจากท าการพฒนาใหเปนการอธบายขนตอนการท างานอยางละเอยด (Refinement) เสรจเรยบรอย จะเหนวาล าดบขนตอนการท างานตงแตขนตอนแรกจนถงขนตอนสดทาย ตองท าขนตอนใดบาง ละเอยดมากยงขน จ านวนขอของล าดบขนตอนการท างานไมจ าเปนตองเทากบในสวนของการอธบายล าดบขนตอนการท างานอยางหยาบ

ในการแกปญหาทไมมความซบซอนมากนก สวนของการอธบายขนตอนการท างานอยางหยาบ (Decomposition) อาจจะสามารถอธบายล าดบขนตอนการท างานไดละเอยดพออยแลว กสามารถน าในสวนของการอธบายขนตอนการท างานอยางหยาบ มาใชเปนสวนของการอธบายขนตอนการท างานอยางละเอยด

การพฒนาล าดบขนตอนการท างานจากผงงาน ใหแบงขนตอนการท างานทงหมดออกเปนขอๆตามล าดบและตามจ านวนของขนตอนการท างานทงหมด และการเขยนตองไมซบซอน เขาใจงาย และตองเขยนใหถกตองเสมอ เพราะถาเขยนไมถกตองแลวกการพฒนาไปเปนค าสงเทยม (Pseudo Code) กจะผดพลาด และการเขยนโปรแกรมกจะผดตามดวย

Page 5: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

เทคนคการเขยน Algorithm

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

คณสมบตการท างานระดบพนฐานของคอมพวเตอร มดงน

1. คณสมบตดานหนวยความจ า

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

N = 1 หมายถง ก าหนดคา 1 เกบไวในตวแปร N Ans = X2 + Y2 หมายถง เอาคา X ยกก าลง 2 บวกกบคา Y ยกก าลงสอง

แลวเกบคาผลลพธทไดไวทตวแปร Ans Total = Total + Salary หมายถง การเอาคาในตวแปร Salary ไปบวกเขากบคาในตว

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

2. คณสมบตดานการค านวณ

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

Page 6: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

สญลกษณ ความหมายในการท างาน ล าดบการท างาน + - * /

** หรอ ^ ( )

บวก ลบ คณ หาร

ยกก าลง วงเลบ

4 4 3 3 2 1

หากมวงเลบจะด าเนนการในวงเลบกอน และกรณทมล าดบความส าคญเทากน จะค านวณจากดานซายไปขวา

3. คณสมบตดานการเปรยบเทยบเชงตรรกะความสามารถทส าคญของคอมพวเตอรคอ ความสามารถในการประมวลผลเชงเปรยบเทยบ

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

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

การใชสญลกษณเขยนประโยคค าสงเงอนไขแบบ 1 ประโยค มสญลกษณ ดงน

สญลกษณ ความหมายในการท างาน = <>

<= >= <>

เทากบ นอยกวา มากกวา

นอยกวาหรอเทากบ มากกวาหรอเทากบ

ไมเทากบ

Page 7: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

ตวอยางการเขยนนพจนใชเงอนไขแบบ 1 ประโยค

การใชสญลกษณเชอมประโยคค าสงเงอนไข

การเขยนค าสงงานก าหนดเงอนไขการท างาน ในลกษณะเชอมประโยคเงอนไข 2 ประโยค ตองใชสญลกษณค าสงเพมเตม เพอใหไดขอสรปของการท างานวาเปนคาจรง (True) คอเปนคาเทจ (False) ดงน

ใหผลลพธการเปรยบเทยบในประโยคเงอนไขท 1 เปนสญลกษณ X

ใหผลลพธการเปรยบเทยบในประโยคเงอนไขท 2 เปนสญลกษณ Y เมอมการท างานหาขอสรปตงแต 2 เงอนไขประกอบกน โดยใชหลกการของพชคณต

แบบบลลน จะไดดงน

X Y X AND Y X OR Y NOT X T T F F

T F T F

T F F F

T T T F

F F T T

ตวอยางการเขยนนพจนใชเงอนไขแบบ 2 ประโยค

ถา Salary > 10000 Tax = Salary * 0.05

มฉะนนแลว Tax = Salary * 0.02

ถา ( Salary > 10000) AND (Salary <= 50000) Tax = Salary * 0.05

มฉะนนแลว Tax = Salary * 0.02

Page 8: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

4. คณสมบตดานการแสดงผลคาขอมล

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

5. คณสมบตการจดล าดบการท างานคอมพวเตอรจะท างานทละค าสง ตามล าดบจากบนลงลาง หากเปรยบเทยบใน 1 บรรทด

คอ 1 ค าสงแลว คอมพวเตอรจะท างานตามค าสงทอยบรรทดบนสดกอน แลวจงท างานตามค าสงทอยในล าดบตอมา จนถงค าสงในบรรทดสดทาย

ลกษณะการเขยน Algorithm

แนวทางการเขยนอลกอรทมเปนลกษณะการท างานขนพนฐาน มกปรากฏในระบบงานโปรแกรมคอมพวเตอรโดยทวไป มแนวทางทใชบอย ๆ ดงน

การท างานลกษณะการนบคาสะสมในหนวยความจ า การท างานลกษณะวนรอบการท างาน การท างานลกษณะหาคามากทสด และคานอยทสด

ตวอยางการใชขอความอธบายแทนสญลกษณของผงงานแบบล าดบ

สญลกษณของผงงาน (Flowchart) ใชขอความอธบายแทน (Algorithm)

เรมตน

จบการท างาน

รบคา N

แสดงคา N

Area = H x L

START

END

READ N

N

Area = H x L

Page 9: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

ตวอยางท 1 Algorithm ของการหาผลก าไรของสนคา ความตองการของผใช/ความคดของโปรแกรมเมอรคอ ตองการเขยนโปรแกรมเพอ

ค านวณหาก าไรของสนคา ขนตอนท 1 รบขอมลเลขทสนคา ขนตอนท 2 คนหาขอมลคาตวแปรตาง ๆ ทตองใชจากระบบฐานขอมล

เชน ตนทนคงทของสนคา (Fix Cost) ,ตนทนผนแปร (Variable Cost)

ยอดขาย (Revenue) ,ก าไร (Profit), จ านวนสนคาทขายได (Volume)

ขนตอนท 3 หาตนทนของสนคา จาก Cost = Fix Cost + Variable Cost

ขนตอนท 4 หายอดขายสนคาจาก Revenue = Price * Volume

ขนตอนท 5 ค านวณหาก าไรจาก Profit = Revenue – Cost

ขนตอนท 6 แสดงผลก าไรใหผใชโปรแกรมทราบ

ตวอยางท 2 จากผงงานตอไปน ใหเขยนการการอธบายขนตอนการท างานแบบขอความ

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

1. เรมตน2. รบคา BASE , Height3. AREA 0.5 x Base x Height 4. แสดงคา AREA5. จบการท างาน

Start

Read Base , Height

AREAR = 0.5 x Base x Height

Write AREA

END

Page 10: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

จฬาลกษณ ถาไชยลา หลกการเขยนโปรแกรม

ตวอยางการใชขอความอธบายแทนสญลกษณของผงงานแบบเลอกท า

การเขยนผงงานแบบเลอกท ามสญลกษณทใชในการตดสนใจ ใชค าอธบายวา “ถา” และตามดวยเงอนไข จากนนตามดวยค าอธบายวา “แลว” จากนนจะเปนล าดบขนตอนการท างานทตองท าเปนขอ ๆ ตามล าดบ เมอเขยนค าอธบายล าดบขนตอนการท างานในกรณทเงอนไชเปนจรงจนหมดแลว ขนตอนตอไปกตองเขยนอธบายขนตอนการท างานทงหมด ในกรณทเงอนไขเปนเทจ โดยจะใชค าวา “นอกจากนน” หรอ “มฉะนนแลว” แลวตามดวยล าดบขนตอนการท างานเปนขอ ๆ

รปแบบการเขยนอธบายล าดบขนตอนการท างานเปนขอความแบบเลอกท า (Selection)

1. ถา (เงอนไข) แลว1.1 ท ากรณท 1

นอกจากนน 1.2 ท ากรณท 2

ตวอยางท 3 จงเขยนอธบายล าดบขนตอนการท างาน จากผงงานใหเปนการอธบายขนตอนการท างานแบบเลอกท า

Condition

Process 1 Process 2

Y N

Satrt

Read Score

Score > 50

Write “สอบไมผาน” Write “สอบผาน”

END

Y N

Page 11: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

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

1. เรมตน2. รบคา Score3. ถา Score > 50 แลว

3.1 พมพขอความวา “สอบผาน”มฉะนนแลว3.2 พมพขอความวา “สอบไมผาน”

4. จบการท างาน

ตวอยางการใชขอความอธบายแทนสญลกษณของผงงานแบบท าซ า

การเขยนผงงานแบบวนซ า จะมอย 2 ลกษณะคอ การท าซ าแบบท าในขณะท (Do-While) และการท าซ าแบบท าจนกระทง (Do Until)

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

Satrt

Read NUM

NUM >= 0

END

N

Y

Write NUM

NUM NUM - 1

Page 12: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

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

1. เรมตน2. รบคา NUM3. ในขณะท NUM มากกวาหรอเทากบ 0 แลวท า

3.1 แสดงคา NUM3.2 NUM NUM – 1 (ลดคา NUM ลง 1)

4. จบการท างาน

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

Start

SUM 1

Read NUM

SUM SUM x NUM

NUM NUM - 1

NUM < 1

Write SUM

END

Y N

Page 13: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

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

1. เรมตน2. ก าหนดให SUM 1 3. รบคา NUM4. ท าจนกระทง NUM มคานอยกวา 1

4.1 SUM SUM x NUM 4.2 NUM NUM – 1

5. แสดงคา SUM6. จบการท างาน

Page 14: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

แบบฝกหดทายบท

ขอ 1. จากสญลกษณตอไปน จงเขยนอธบายเปนขนตอนการท างานในลกษณะของขอความ

สญลกษณ ขนตอนการท างานในลกษณะของขอความ (Algorithm) 1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Read B , C

A B + C

START

TEST

TOTAL

VAT Sale * 0.07

Write Year

SUM

END

COUNT < 10

Page 15: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

ขอ 2. จงเขยนอลกอรทม ค านวณหาปรมาตรทรงกระบอก จากสตร ¶ x รศม2 x สง

ขอ 3. จงเขยนอลกอรทม ค านวณหารายไดของพนกงานโดยรายไดของพนกงานไดจากเงนเดอนและรายไดพเศษ ซงรายไดพเศษหาไดจาก 25 % ของยอดขายสนคา

ขอ 4. จงเขยนอลกอรทม ค านวณหารายไดของโปรแกรมเมอร โดยบรษทจะใหเงนเดอนและคาเขยนโปรแกรม ๆ ละ 700 บาท ทกเดอนตองเสยภาษ 3%

ขอ 5. จงเขยนอลกอรทม ค านวณหารายไดของโปรแกรมเมอร โดยบรษทจะใหเงนเดอนและคาเขยนโปรแกรม ตามอตราดงน

จ านวน 1 – 10 โปรแกรมๆ ละ 500 บาท

จ านวน 11 – 20 โปรแกรมๆ ละ 1000 บาท จ านวนมากกวา 20 โปรแกรมๆ ละ 1500 บาท

ขอ 6. จงเขยนอลกอรทม เพอจ านวนนกเรยนทสอบผานและสอบไมผาน เกณฑการสอบผานจะตองไดคะแนนรวมตงแต 60 คะแนนขนไป จากคะแนนสอบ 3 ครงประกอบดวย คะแนนสอบยอย(20) , คะแนนสอบกลางภาค (30),คะแนนสอบปลายภาค(50) จ านวนนกเรยนทงหมด 30 คน

***************************

Page 16: การเขียนอัลกอริทึม Algorithm) · การเขียนอัลกอริทึม (Algorithm) สาระการเรียนร้

เอกสารอางอง

ณชตพงศ อทอง. หนงสอเรยน หลกการเขยนโปรแกรม. กรงเทพฯ:เอมพนธ,2546. ดารณย พฒศรเรอง และคณะ. หนงสอเรยน การเขยนโปรแกรมคอมพวเตอร. กรงเทพฯ:บรษท

ศนยหนงสอเมองไทย จ ากด , 2548. รงทวา เสารสงห. การเขยนโปรแกรมคอมพวเตอรเบองตน. กรงเทพฯ : บรษท ซเอดยเคชน

จ ากด (มหาชน) ,2548. วฒชย เกษพานช. หนงสอเรยน หลกการเขยนโปรแกรม. พมพครงท 2. กรงเทพฯ:เอดดเทกซ

,2546. เอกชย เจรญนตย. หลกการออกแบบและพฒนาโปรแกรม. กรงเทพฯ:พฒนาวชาการ

(2535),2547. เอกพนธ ค าปญญโญ. หลกการออกแบบและพฒนาโปรแกรม. กรงเทพฯ : บรษท ซคเซส มเดย จ ากด , 2549.

แหลงคนควาเพมเตม

เวบไซต http://cs.udru.ac.th/maliwan/algorithm/ เวบไซต http://elec.chandra.ac.th/learn/course/ เวบไซต http://www.nsru.ac.th/e-learning/algorithm/ เวบไซต http://PixiArt.com/links/computer/ เวบไซต http://rmutl.ac.th/jk/program

เวบไซต http://202.28.94.51/users/sumonta/

จฬาลกษณ ถาไชยลา