Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Unit 2 ขั้นตอนการทำงาน Algorithm Part2

Unit 2 ขั้นตอนการทำงาน Algorithm Part2

Published by paiboonclass, 2020-05-15 01:28:55

Description: Unit 2 ขั้นตอนการทำงาน Algorithm Part2

Search

Read the Text Version

บทที่ 2 ขั้นตอนการทางาน Algorithm (Part.2) 1

2.2 การเขยี นผังงาน(Flowchart) ผังงาน (Flowchart) คือแผนภาพซ่ึงแสดงลาดับข้ันตอนของการทางาน โดยแต่ละขั้นตอนจะถูกกาหนดโดยใช้สัญลักษณ์ และแต่ละข้ันตอนจะถูก เชื่อมโยงกันดว้ ยลูกศรเพ่ือแสดงลาดับการทางาน หนว่ ยงานทีร่ วบรวมและกาหนดมาตรฐาน  American National Standard Institute (ANSI)  International Standards Organization (ISO) 2

ประโยชน์ของผงั งาน • รู้และเขา้ ใจไดง้ ่าย • ชว่ ยในการตรวจสอบและแกไ้ ขโปรแกรมได้โดยงา่ ย • ชว่ ยให้ผูอ้ ืน่ สามารถศกึ ษาการทางานของโปรแกรมไดโ้ ดยง่าย • ง่ายและสะดวกต่อการพจิ ารณาถึงลาดบั ข้ันตอนในการทางาน • ตรวจสอบความถูกตอ้ งของลาดับขั้นตอนไดง้ า่ ย • การเขยี นโปรแกรมทาได้รวดเรว็ และงา่ ยขนึ้ • บารุงรักษาหรือเปลี่ยนแปลงไดง้ ่ายข้ึน 3

วธิ เี ขียนผังงานท่ดี ี • ใช้สญั ลักษณ์ตามท่ีกาหนด • สามารถแสดงทศิ ทางการไหลของข้อมลู จากบนลงลา่ ง ซ้ายไปขวา • คาอธิบายสนั้ กะทดั รัด เข้าใจงา่ ย • มลี ูกศรแสดงทิศทางเขา้ ออกทุกแผนภาพ • ไมค่ วรโยงเส้นไกลกันมากๆ ควรใช้สญั ลกั ษณ์เชื่อมตอ่ แทน • ควรทดสอบความถกู ตอ้ งกอ่ นนาไปเขยี นโปรแกรม 4

ประเภทของผงั งาน แบง่ ได้เปน็ 2 ประเภท คือ • ผังงานระบบ (System flowchart) เป็นผังงานซึ่งแสดงขอบเขต และลาดับขั้นตอนการทางานของ ระบบหนึ่งๆรวมท้ังแสดงรูปแบบของข้อมูล (input) และข้อมูลออก (output) วา่ ถูกรบั เขา้ หรอื แสดงผลโดยผ่านส่ือประเภทใด • ผังงานโปรแกรม (Program flowchart) เป็นผังงานซงึ่ แสดงลาดับข้นั ตอนการทางานของโปรแกรมหนง่ึ ๆ 5

สญั ลกั ษณท์ ่ใี ช้ในการเขียนผงั งาน กาหนดคา่ หรือประมวลผล เร่ิมต้น/จบการทางาน แสดงผลออกทาง แสดงผลออกทาง เอกสาร จอภาพ รับขอ้ มูลหรือแสดง รบั ข้อมูล ขอ้ มูลโดยไม่ระบุ จากคีย์บอร์ด ชนดิ สื่อขอ้ มูลที่ใช้ การตดั สินใจเลือก จุดเช่อื มต่อในหน้าเดียวกนั ลกู ศรแสดงทศิ ทาง จุดเชือ่ มต่อคนละหน้า 6

หลกั เกณฑ์ในการเขียนผังงาน • สัญลักษณ์ที่ใช้อาจมีขนาดต่างๆ กันได้ แต่จะต้องมีรูปร่าง เป็น สัดสว่ นตามมาตรฐาน • ทิศทางของลูกศรในผังงาน ควรจะมีทิศทางจากบนลงล่าง หรือจาก ซา้ ยไปขวาเสมอ • ผังงานควรมีความเรียบร้อย สะอาด พยายามหลีกเล่ียงการเขียน ลูกศรทาให้เกิดจุดตัด เพราะจะทาให้ผังงานอ่านและทาความเข้าใจ ได้ยาก • ถ้าในผังงานมีการเขียนข้อความ อธิบายใดๆ ควรทาให้สั้นกะทัดรัด และไดใ้ จความ 7

2.3 ลกั ษณะโครงสรา้ งของผังงาน ผงั งานโดยทว่ั ไปจะประกอบดว้ ยโครงสร้างพนื้ ฐาน 5 รปู แบบ คือ 1. โครงสร้างแบบเป็นลาดับ (Sequence structure) 2. โครงสรา้ งแบบมกี ารเลือก (Selection structure) 3. โครงสรา้ งแบบทาซ้าเมือ่ เง่ือนไขเป็นจรงิ 4. โครงสร้างแบบทาซ้าจนเง่อื นไขเปน็ จริง 5. โครงสร้างแบบทาซา้ ตามจานวนทีร่ ะบุ 8

1.โครงสร้างแบบเป็นลาดบั (Sequence structure) โครงสร้างการทางานแบบตามลาดับ ( Sequence ) จะแสดง ขั้นตอนการทางานท่ีเรียงลาดบั กันไป โดยไม่มกี ารย้อนกลบั ตัวอย่างเช่น เรม่ิ ตน้ อา่ นค่ารัศมี คานวณหาพืน้ ทวี่ งกลม พิมพพ์ ้ืนท่ีวงกลม จบงาน 9

ตวั อย่างการเขียนผังงาน การหาพน้ื ที่สามเหลี่ยม 1. เริ่มต้นการทางาน เร่มิ ต้น 2. ปอ้ นความยาวฐาน ป้อนความยาวฐาน 3. ป้อนความสูง 4. คานวณพื้นท่สี ามเหลี่ยม จากสูตร ป้อนความสูง พน้ื ท่ีสามเหลี่ยม = 1/2 x ความยาวฐาน x ความสงู คานวณหาพืน้ ทส่ี ามเหลย่ี ม จากสูตร = 1/2 x ฐาน x สูง 5. พิมพพ์ ้ืนที่สามเหลย่ี ม 6. จบการทางาน พมิ พพ์ ื้นท่สี ามเหล่ียม จบงาน 10

2.โครงสร้างแบบมีการเลอื ก โครงสร้างการทางานแบบมีการเลือก (Select) เป็นการทางาน ท่ตี า่ งจากแบบลาดับที่ทาทุกกระบวนงาน โครงสรา้ งแบบมกี ารเลอื กน้ี จะมกี ารตรวจสอบเงือ่ นไขกอ่ น มหี ลายชนดิ ไดแ้ ก่ • โครงสรา้ งแบบ IF • โครงสร้างแบบ IF…ELSE • โครงสร้างแบบ IF…ELSEIF • โครงสรา้ งแบบ SWITCH…CASE 11

การเลือกแบบหนง่ึ เส้นทาง :: IF เป็นโครงสร้างท่ีทดสอบเงื่อนไข หากเงื่อนไขเป็นจริงจะทาตาม ชุดคาสง่ั ทก่ี าหนดไว้ หากเปน็ เท็จจะไปทาชดุ คาสงั่ ถดั ไป เงื่อนไข ไม่ใช่ ใช่ ชุดคาสงั่ 12

การเลอื กแบบสองเส้นทาง :: IF...ELSE เป็นโครงสร้างท่ีทดสอบเงื่อนไข หากเง่ือนไขเป็นจริงจะทา ชดุ คาสง่ั หน่ึง และหากเงอื่ นไขเป็นเทจ็ จะทาอกี ชุดคาส่ัง ใช่ ไม่ใช่ เงือ่ นไข ชดุ คาสั่งท่ี 1 ชุดคาส่ังท่ี 2 13

การเลอื กแบบหลายเสน้ ทาง :: IF...ELSE IF เป็นโครงสรา้ งท่ีตรวจสอบเงือ่ นไข หากเง่อื นไขเป็นจริงจะทาชุดคาสั่งหน่ึง และหากเงื่อนไขเปน็ เท็จจะตรวจสอบเง่ือนไขถัดไปจนครบทุกเงือ่ นไข เงื่อนไข 1 ใช่ ชดุ คาส่ังที่ 1 ไมใ่ ช่ ใช่ ชดุ คาสง่ั ที่ 2 ใช่ ชุดคาส่งั ท่ี 3 เงอื่ นไข 2 ไม่ใช่ เง่ือนไข 3 ไมใ่ ช่ ชุดคาส่งั ที่ 3 14

การเลอื กแบบหลายเส้นทาง :: SWITCH...CASE เป็นโครงสร้างที่ตรวจสอบเง่ือนไข หากเงื่อนไขตรงกับทางเลือก ใด ก็จะไปทางานท่ีคาสั่งของทางเลอื กนนั้ ๆ X=1 เง่อื นไข X X=3 ชดุ คาสงั่ ที่ 1 X=4 ชดุ คาสงั่ ท่ี 3 ชดุ คาสัง่ ที่ 2 15

3.โครงสร้างแบบทาซ้าเม่ือเงอ่ื นไขเป็นจรงิ :: WHILE มีการตรวจสอบเง่ือนไข ถ้าเป็นจริงจะทางานซ้า โดยจะ ตรวจสอบเงือ่ นไขก่าอนการทางานทุกคร้งั เงื่อนไข ไม่ใช่ ใช่ ชุดคาสง่ั 16

4.โครงสร้างแบบทาซา้ จนเงอ่ื นไขเปน็ จรงิ :: DO...WHILE มีการทางานก่อนแลว้ จึงตรวจสอบเง่ือนไข และจะทางานจนกวา่ เง่ือนไขจะเปน็ จริง ชุดคาสั่ง ใช่ เงอ่ื นไข ไมใ่ ช่ 17

5. โครงสร้างแบบทาซ้าตามจานวนท่ีระบุ :: FOR มีการทางานก่อนแล้วจึงตรวจสอบเงื่อนไข โดยให้โปรแกรมทา ตามจานวนรอบท่ีกาหนดไว้ เง่ือนไข 1 to N ชุดคาส่ัง 18

ตวั อยา่ งที่ 1 เริ่มต้น รบั คะแนน x จรงิ เกรด A X > 79 จรงิ เกรด B X > 69 จริง เกรด C X > 59 จริง เกรด D X > 49 เกรด F จบ 19

ตวั อยา่ งที่ 2 เริม่ ตน้ เท็จ รบั ขอ้ มูล x เท็จ จริง X>0 X < 0 จรงิ พิมพ์เป็นคา่ บวก พิมพ์ค่าเปน็ ศูนย์ พิมพ์เปน็ ค่าลบ จบ 20

ตัวอย่างที่ 3 start count_0 = 0 count_plus = 0 num count_minus =0 yes num = 0 no count_0 = count_0+1 yes num > 0 no count_plus = count_plus+1 count_minus = count_minus+1 count_0, count_plus, count_minus stop 21

สรปุ ทา้ ยหน่วยการเรียน ผังงาน(Flowchart) การเขียนผังงานมรี ปู แบบต่างๆ ดงั น้ี • โครงสรา้ งแบบเป็นลาดบั (Sequence structure) • โครงสรา้ งแบบมกี ารเลอื ก (Selection) ‐ โครงสร้างแบบ IF ‐ โครงสรา้ งแบบ IF ELSE ‐ โครงสรา้ งแบบ IF ELSEIF ‐ โครงสร้างแบบ SWITCH…CASE • โครงสรา้ งแบบทาซ้าเม่อื เง่อื นไขเป็นจรงิ :: WHILE • โครงสรา้ งแบบทาซ้าจนเง่อื นไขเปน็ จรงิ :: DO...WHILE • โครงสรา้ งแบบทาซา้ ตามจานวนทร่ี ะบุ :: FOR 22

แบบฝึกหดั จงเขียนผงั งานเพือ่ ออกแบบขน้ั ตอนการเขียนโปรแกรมดงั น้ี 1. นบั จานวนนกั ศกึ ษา(Student) ทอ่ี าย(ุ Age) มากกวา่ หรือเทา่ กับ 18 (Adult) และจานวนนกั ศกึ ษาที่ อายุน้อยกวา่ 18 ปี (Junior) จากน้นั แสดงผลลัพธ์ 2. นับจานวนนักศึกษาชาย(Male) และหญิง(Female) โดยนับจากการระบุเพศ (Sex) และหากตรวจสอบวา่ ไมร่ ะบเุ พศ(Unknown)ให้แสดงจานวนท่ีไม่ระบุด้วย จากนนั้ แสดงผลลพั ธ์ 3. จงหาพ้นื ท่ีของวงกลม(Area of Cycle) จากนนั้ แสดงผลลพั ธ์ (รัศมี=Radius) 4. จงหาพ้ืนที่ของสามเหลี่ยม(Area of Triangle) จากนั้นแสดงผลลัพธ์ (สูง = High, ฐาน = Base) 5. จงคานวณหาแม่สูตรคูณแม่ 5 โดยการวนรอบการทางาน จากน้ันแสดง ผลลพั ธ์ 23

เฉลยแบบฝกึ หัด ข้อท่ี 1 - 5 24

เฉลย ขอ้ ที่ 1 START age = 0 adult = 0 junior =0 student, age yes age >= 18 no adult = adult + 1 junior = junior + 1 adult, junior END 25

เฉลย ข้อที่ 2 START male_count=0 student_name, sex female_count=0 unknown_count=0 yes sex=“male” male_count = male_count + 1 no sex=“female” yes female_count = female_count + 1 no unknown_count = unknown_count + 1 male_count, male_count, unknown_count END 26

เฉลย ขอ้ ที่ 3 START radius = 0 radius area = 3.14* radius* radius area END 27

เฉลย ขอ้ ที่ 4 START base = 0 high =0 base, high area = 0.5*high*base area END 28

เฉลย ขอ้ ที่ 5 START count = 0 num = 0 count <= 12 no yes num = count * 5 count x 5 = num count = count+ 1 END 29

Unit 2 (Part.2) THE END 30


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook