กิจกรรมที่ 2 · web view- ผ งงานโปรแกรมอย...

17
กกกกกกกกกก 2 1. กกกกกกกกกก (Algorithm) กกกกกกกกกก กกก ขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขข ขขขขขขข ขขขข ขขขขขข (FLOW CHART) ขขข ขขขขขขขข (PSEUDOCODE) กกกกกกกกกก - กกกกกกกกกกกกกกกกกกกก(Divide-and- conquer) ขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขข ข ขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขข - กกกกกกกกกกกกกกกกกกกกกกก (Dynamic Programming) ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ขขข ขขขขขขขขขขขขขขขขขขขขขขขขขขขขขขข ข ขขข

Upload: others

Post on 12-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

กจกรรมท 21. อลกอรทม (Algorithm)

อลกอรทม คอ ขนตอนการทำางานทเปนลำาดบคอมพวเตอรทำางานทละคำาสงตามลำาดบ โปรแกรมคอมพวเตอรจะประกอบดวยคำาสงจำานวนมากทควบคมใหคอมพวเตอรทำางานไปตามขนตอนทกำาหนดไว อลกอรทมจะชวยอธบายลำาดบขนตอนทสอดคลองกบการทำางานของโปรแกรม อาจใชเครองมอตางๆ ชวยในการแสดงขนตอน เชน ผงงาน (FLOW CHART) และ ซโดโคด (PSEUDOCODE) ประกอบดวย

- อลกอรทมแบบแตกยอย(Divide-and-conquer) เปนอลกอรทมทจะมการนำาปญหาหลกทไดมาทำาการแยกออกเปนปญหายอยๆ แลวนำาคำาตอบทไดจากปญหายอยตาง ๆ มารวมกนเขาดวยกนโดยอลกอรทมนเราสามารถหาคำาตอบของปญหาไดงายขนจากการรวมคำาตอบของปญหาหลกนนเอง - อลกอรทมแบบเคลอนท (Dynamic Programming)ปญหาทเราไดรบมานนบางครงไมสามารถแบงปญหาออกเปนปญหายอยๆ ได ซงถาเราพยายามจะแบงปญหานน ๆ ออกเปนปญหายอยทเลกทสด อลกอรทมของเราอาจจะใชเวลาทำางานเปนแบบทวคณ(Exponential) ได แตเวลาทเราแกปญหาตาง ๆ เรามกจะพบวาบางครงเราตองแกปญหา

Page 2: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

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

อลกอรทมทดตองประกอบดวย– แตละขนในอลกอรทมตองชดเจนและถกตอง– ลำาดบการเขยนคำาสงตองเปนไปตามลำาดบทถกตอง

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

2. การเขยนผงงาน (Flowchart)การเขยนผงงาน (Flowchart) คอ เปนเครองมอ

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

Page 3: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

ตองการ ซงทำาใหผอานสามารถอานและทำาความเขาใจไดโดยงาย

ประเภทของผงงาน แบงเปน 2 ประเภทคอ1. ผงงานระบบ (system flowchart) เปนผง

งานทเขยนขนมาเพอทำาใหมองเหนภาพอยางกวาง ๆ จะเหนการทำางานของขอมลแตละสวนของระบบผงงาน ซงแสดงขอบเขต และลำาดบขนตอนการทำางานของระบบหนง ๆ รวมทงแสดงรปแบบของขอมลเขา (Input) และขอมลออก (Output) วาถกรบเขาหรอแสดงผลโดยผานสอประเภทใด เนองจากผงงานระบบเปนแผนภาพทแสดงถงระบบโดยรวม ดงนนกระบวนการหรอโปรแกรมหนง ๆ อาจถกแสดงเปนเพยงขนตอนหนงในผงงานระบบเทานน

2. ผงงานโปรแกรม(program flowchart) ผงงานโปรแกรมเปนการเขยนขนมาเพอทำาใหมองเหนภาพการทำางานของโปรแกรมซงเปนสวนหนงของระบบผงโปรแกรมยงแบงออกเปนสองแบบคอ

- ผงงานโปรแกรมมอดล (modular program flowchart) บางครงเรยกวา บลอกไดอะแกรม (block diagram) ในแตละบลอกจะแสดงถงการ ทำางานอยางกวาง ๆ ของแตละขนของโปรแกรม โดยจะแสดงเพยงการทำางานของระบบทงระบบแตไมสามารถแสดงรายละเอยด

- ผงงานโปรแกรมอยางละเอยด (detail program flowchart) หรอ ผงงานไมโคร (micro flowchart) จะแสดงทละขนตอนของการทำางาน การคำานวณ การทดสอบ และการเปรยบเทยบในการทำางานของปญหา ผงงานนจะแสดงใหเหนถงการทำางานอยางละเอยดของแตละขนของระบบ ผงงานชนดนสามารถนำาไปเขยนโปรแกรมซงจะชวยใหผเขยนโปรแกรมสามารถเขยนโปรแกรมไดงายขน

Page 4: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

สญลกษณทใชในการเขยนผงงาน (FLOWCHATING SYMBOLS)

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

1. สญลกษณพนฐาน (Basic Symbols)สญลกษณ ชอ คำาอธบาย

สญลกษณการประมวลผล

(PROCESS)

แทนการประมวลผล ประกอบไปดวยกลมคำาสงโปรแกรมเพอแสดงกระบวนการทำางานหรอฟงกชนการทำางานตางๆ

สญลกษณอนพต/เอาทพต

(INPUT / OUTPUT)

แทนการนำาขอมลหรอการแสดงผลลพธของขอมล โดยไมมการระบอปกรณทชดเจนลงไป

สญลกษณจดเชอมตอ

(Connect)

แทนจดเชอมโยงของแผนภาพในหนาเดยวกน

สญลกษณแทนการเชอมโยงตอเนองอกหนาหนง

(Off-page Connector)

แทนจดเชอมโยงของแผนภาพจากหนาหนง

ไปอกหนาหนง

Page 5: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

สญลกษณคำาอธบายเพมเตม(Comment)

ใชสำาหรบบรรยายคำาอธบายหรอหมายเหต

เพมเตม เพอสอใหเขาใจยงขน

สญลกษณ ชอ คำาอธบาย

สญลกษณเสนทศทาง

ใชสำาหรบกำาหนดทศทางในการดำาเนนงานของแผนภาพ

สญลกษณแสดงผลทางเครองพมพ(Document)

เปนสญลกษณเพอสงเอาทพตหรอรายงานออกทาง

เครองพมพ

2. สญลกษณระบบ (System Symbols)

สญลกษณ ชอ คำาอธบาย

สญลกษณเทปแมเหลก

(MagneticTape)

แทนสอจดเกบขอมลแบบเทปแมเหลก ซงเปนไดทงอนพตและเอาทพต

สญลกษณสอจดเกบขอมลแบบ

ออนไลน

แทนสอจดเกบขอมลทมความจสง

Page 6: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

(Online Storage)

สญลกษณสอจดเกบขอมลแบบดสก

(Magnetic Disk)

แทนดสก ซงเปนอปกรณทคอมพวเตอรสามารถเขาถงขอมลไดโดยตรง ในลกษณะอนพตและเอาทพต

สญลกษณการรวม(Merge)

แทนการรวม เชน การรวมไฟลสองไฟลเพอเกบไวอกไฟลหนง

สญลกษณ ชอ คำาอธบายสญลกษณการจด

เรยงขอมล(Sort)

แทนการจดเรยงขอมล หรอ ชดตวเลข

สญลกษณการจดเกบขอมลแบบออฟ

ไลน(Off-lineStorage)

แทนสอหรออปกรณจดเกบขอมลทไม

สามารถเขาถงขอมลไดโดยตรงจาก

คอมพวเตอร โดยไมมการระบชอ

อปกรณทชดเจนลงไป

Page 7: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

สญลกษณแสดงผลทาง

จอภาพ(Display)

ใชสำาหรบการแสดงผลขอมลทางจอภาพ

หรอเทอรมนล

สญลกษณอนพตดวยมอผานทาง

แปนพมพ(Manual

input)

แทนการรบขอมลทางแปนพมพหรอ

คยบอรด

สญลกษณประมวลผลดวยมอ(Manual

Operation)

แทนการประมวลผลดวยแรงงานมนษย

สญลกษณลงคเพอการสอสาร

แทนการตดตอสอสาร ซงทงสองฝงอยตางพนท เชน การสอสารทางไกลผานระบบโทรศพท หรอ ดาวเทยม เปนตน

3. สญลกษณการโปรแกรม (Programming Symbols)

Page 8: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

สญลกษณ ชอ คำาอธบาย

สญลกษณการตดสนใจ

(Decision)

ใชสำาหรบการสรางเงอนไขเพอตดสนใจทางเลอกทตองการ

สญลกษณการทำางานเปนรอบ

(Preparation)

แทนการทำางานเปนรอบ (loop)

สญลกษณแทนกลมขนตอนหรอ

โปรแกรมยอย(Predefined

Process)

แทนชอกระบวนการทประกอบไปดวยกลมขนตอนโปรแกรมใน

โปรแกรมยอย

สญลกษณแสดงจดเรมตนหรอสน

สด(Terminator)

แทนจดเรมตนของโปรแกรมและจดสนสดของโปรแกรม

Page 9: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

รปแบบการเขยนผงงานผงงานทวไปจะประกอบดวยโครงสรางพนฐาน 3 รป

แบบตอไปนคอ1.โครงสรางแบบเปนลำาดบ (sequence structure)2.โครงสรางแบบมการเลอก (selection structure)3.โครงสรางแบบทำาซำา (iteration structure)

1.โครงสรางแบบเปนลำาดบ (sequence structure)เปนการแสดงขนตอนการทำางานทเรยงลำาดบกนไป ไมม

การขามขนตอน หรอยอนกลบ ดงตวอยาง

Page 10: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

2.โครงสรางแบบมการเลอก (selection structure) เปนโครงสรางทมการตรวจสอบเงอนไข ใหโปรแกรม

เลอกทจะทำางาน มดงรปแบบตอไปน- ผงงานโครงสรางแบบทางเลอก แบบ If

Page 11: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

- ผงงานโครงสรางแบบทางเลอก แบบ Nested If เงอนไขทเปนจรงและเทจ โดยถาเปนจรงจะทำางานอยาง

หนง และถาเปนเทจจะทำางานอกอยางหนง

Page 12: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

- ผงงานโครงสรางแบบทางเลอก แบบ Case พจารณาเงอนไขตางๆ ทเกดขน ถาเงอนไขในทางเลอก

ใดเปนจรง กจะทำางานตามทางเลอกนน

3.โครงสรางแบบทำาซำา (iteration structure)โครงสรางการทำางานแบบทำาซำา จะทำางานแบบเดยวกน

ซำาไปเรอย ๆ ในขณะทยงเปนไปตามเงอนไขหรอเงอนไขเปนจรง จนกระทงเงอนไขเปนเทจจงทำางานอนตอไปมดงรปแบบตอไปน

- ผงงานโครงสรางแบบทำาซำา แบบ Do… While- ผงงานโครงสรางแบบทำาซำา แบบ While- ผงงานโครงสรางแบบทำาซำา แบบ For Next

Page 13: กิจกรรมที่ 2 · Web view- ผ งงานโปรแกรมอย างละเอ ยด (detail program flowchart) หร อ ผ งงานไมโคร

- ผงงานโครงสรางแบบทำาซำา แบบ Do … While

- ผงงานโครงสรางแบบทำาซำา แบบ While

- ผงงานโครงสรางแบบทำาซำา แบบ For Next