The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

บทที่ 2 การแก้ปัญหา

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by namfon.yam, 2021-05-22 03:28:39

บทที่ 2 การแก้ปัญหา

บทที่ 2 การแก้ปัญหา

บทที่ 2 การออกแบบและ
การเขียนอัลกอริทึม

รหัสวิชา ว21181

ช้ันมธั ยมศึกษาปที่ 1
โดย ครูน้ําฝน ยามกระโทก

การพฒั นาแอพพลิเคชั่น รหัสวิชา ว21286

ความรเู บื้องตน เกีย่ วกับ อลั กอริทึม (Algorithm)

อลั กอริทึม หมายถึง ข้นั ตอนการแกไขปญ หาการทํางานของ
โปรแกรมที่ชดั เจน โดยจะกลาวถึงข้นั ตอนการทํางานของโปรแกรม ซึ่งจะชวย
ใหนักเขียนโปรแกรมเขาใจการเขียนโปรแกรมไดงายข้ึน โดยอัลกอริทึม
สามารถอธิบายไดหลายรูปแบบ แตที่เปนนิยมไดแก

- รหสั เทียม หรือ ซโู ดโคด (Pseudo Code)
- ผงั งาน (Flowchart)

การพฒั นาแอพพลิเคชนั่ รหัสวชิ า ว21286

หลกั การเขียนอัลกอริทึม

1.กระบวนการสาํ คญั เรม่ิ ตนท่ีจุดจดุ เดียวในการมีจุดเริ่มตน หลายท่ีจะทําใหก ระบวนการวธิ สี ับสน
จนในทสี่ ดุ อาจทําใหผลลัพธที่ไดไ มตรงกับความตองการ หรืออาจทาํ ใหอ ัลกอรทิ ึมน้ันไมสามารถทํางาน
ไดเลย

2.กําหนดการทํางานเปน ขัน้ เปนตอนอยา งชดั เจน การกาํ หนดอัลกอรทิ ึมท่ีดคี วรมขี ้นั ตอนทช่ี ัดเจน
ไมคลมุ เครือ เสร็จจากข้นั ตอนหน่ึง ไปยังขนั้ ตอนที่สองมเี งื่อนไขการทํางานอยา งไร ควรกาํ หนดใหชัดเจน

3.การทํางานแตละข้นั ตอนควรสน้ั กระชับ เพราะการกาํ หนดข้นั ตอนการทํางานใหสนั้ กระชับ
นอกจากจะทาํ ใหโ ปรแกรมทาํ งานไดร วดเรว็ แลว ยงั เปนประโยชนตอ ผูอื่นที่มาพฒั นาโปรแกรมตอ ดวย
เพราะสามารถศึกษาอลั กอรทิ มึ จากโปรแกรมทีเ่ ขียนไวไ ดงาย

การพฒั นาแอพพลเิ คชั่น รหสั วชิ า ว21286

หลักการเขียนอลั กอริทึม

4.ผลลพั ธใ นแตละขั้นตอนควรตอ เนื่องกนั การออกแบบข้ันตอนที่ดนี ั้นผลลัพธจากขัน้ ตอนแรกควร
เปน ขอมลู สาํ หรบั นําเขา ใหก บั ขอ มลู ในขัน้ ตอไป ตอเนื่องกันไปจนกระท่ังไดผลลัพธต ามทต่ี อ งการ

5.การออกแบบอลั กอริทมึ ทด่ี ี ควรออกแบบใหครอบคลุมการทาํ งานในหลายรูปแบบ เชน การ
ออกแบบโดยคิดไวล ว งหนา วาหากผใู ชโปรแกรมปอนขอมูลเขาผดิ ประเภท โปรแกรมจะมกี ารเตือนวา
ผูใชงานมกี ารใสขอมลู ท่ีผิดประเภทโดยโปรแกรมจะไมรบั ขอ มูลนนั้ เพื่อใหใสข อ มูลใหมอกี คร้งั เพื่อ
ปอ งกันการเกิดจุดบกพรอ งของโปรแกรมได

การพฒั นาแอพพลเิ คช่นั รหสั วชิ า ว21286

ผังงาน (Flowchart)

ผังงาน คือ การนํารปู ภาพ หรือสัญลกั ษณ ทีเ่ ปน มาตรฐานเดียวกนั
มาเขียนเพือ่ อธิบายข้นั ตอนและวิธีการ ต้ังแตเริ่มตนการทํางาน ข้นั ตอน
การประมวลผล จนถึงสิ้นสดุ กระบวนการทาํ งานของโปรแกรมโดยมี
ตวั อยางสญั ลกั ษณมาตรฐาน ดังนี้

การพฒั นาแอพพลเิ คชนั่ รหสั วิชา ว21286

รูปแบบของอัลกอริทึม

1.แบบลําดับ (Sequential) มลี กั ษณะการทํางานจะเปนไปตามขน้ั ตอน กอ น-หลงั ตอ เนือ่ งกนั ไป
เปน ลาํ ดบั โดยการทาํ งานแตล ะขัน้ ตอนตอ งทาํ ใหเ สร็จกอ น แลวจึงไปทําขนั้ ตอนตอ ไป

การพฒั นาแอพพลเิ คช่นั รหสั วชิ า ว21286

โจทยปญ หา

อัลกอริทึม การทอดไขเ จียว
1.หยิบไขไก 6.เปดแกส และติดไฟ
2.ตอกไขไกใสภาชนะ 7.ใสน้ํามันพืช
3.ปรุงรส ดวยเครื่องปรุง 8.นาํ ไขที่ปรงุ รสแลวใสลงในกระทะทีร่ อน
4.ตีไขดวยชอนสอม 9.ทอดจนสุก
5.ต้งั กระทะบนเตา 10.ตักข้ันใสจานที่เตรียมไว

การพฒั นาแอพพลิเคช่นั รหสั วิชา ว21286 อัลกอริทึม การทอดไขเจียว

1.หยบิ ไขไก 8.นําไขท ีป่ รุงรสแลวใส
2.ตอกไขไ กใสภาชนะ ลงในกระทะท่ีรอ น
9.ทอดจนสุก
3.ปรุงรส ดวยเครอ่ื งปรุง
10.ตกั ขนั้ ใสจานท่ี
4.ตไี ขด วยชอนสอม เตรยี มไว
5.ตง้ั กระทะบนเตา

6.เปดแกส และติดไฟ

7.ใสน ้าํ มนั พืช

การพฒั นาแอพพลิเคช่นั รหสั วชิ า ว21286

รูปแบบของอัลกอริทึม

2.แบบทางเลือก (Decision) อัลกอริทึมรปู แบบนี้ มีเงือ่ นไขเปน
ตวั กําหนดเสนทางการทาํ งานของกระบวนการแกปญ หา โดยตวั เลือกน้ัน
อาจจะมีต้ังแต 2 ตวั ขึ้นไป เชน สอบขอเขียน คะแนนเตม็ 50 ไดคะแนน
30 สอบผาน ถาตาํ่ กวา 30 สอบไมผาน

การพฒั นาแอพพลเิ คชั่น รหัสวชิ า ว21286

รปู แบบของอัลกอรทิ มึ

การพฒั นาแอพพลเิ คชัน่ รหสั วชิ า ว21286

โจทยป ญหา

อลั กอริทึมตดั เกรดวิชาคอมพิวเตอร
1.คะแนนสอบของนกั เรียน
2.ตรวจสอบคะแนน (คะแนนที่สอบผาน 50 คะแนน)
3.ถามากกวา 50 คะแนน สอบผาน
4.ถานอยกวา 50 คะแนน สอบตก
5.ประกาศผล

การพฒั นาแอพพลเิ คชน่ั รหสั วชิ า ว21286

รูปแบบของอัลกอริทึม

3.แบบทาํ ซ้ํา (Repetition) อัลกอริทึมแบบน้ีคลายกับแบบ
ทางเลือก คือ มีการตรวจสอบเงือ่ นไข แตแตกตางกันตรงที่เมือ่ การ
ทาํ งานตรงตามเงือ่ นไขทีก่ ําหนด โปรแกรมจะกลับไปทํางานอีกคร้ังวน
การทํางานแบบนี้เรื่อยๆ จนกระทัง่ ไมตรงกบั เงื่อนไขทีก่ ําหนดไวจึงหยุด
การทาํ งานหรือทํางานในข้ันตอไป

การพฒั นาแอพพลเิ คชั่น รหัสวชิ า ว21286

รปู แบบของอัลกอรทิ มึ

การพฒั นาแอพพลิเคช่นั รหสั วิชา ว21286

โจทยปญหา

อัลกอริทึมการซือ้ มังคุด 1 กิโลกรมั
1.หยิบถงุ พลาสติก
2.หยิบมังคดุ มาเลือก โดยกดที่เปลือกทีน่ ิ่มๆ
3.ตรวจสอบเงื่อนไข (นอยกวา 1 กิโลกรัม)
4.ถาจริง เลือกมงั คดุ ตอ
5.ถาเทจ็ หยดุ เลือก
6.จายเงินใหกบั ผูที่ขาย

การพฒั นาแอพพลิเคช่นั รหัสวชิ า ว21286

แบบฝกหดั

1. นักเรียนทําแบบฝกหดั ทา ยบทที่ 2 หนา 41 ขอ 1
2. นักเรียนเขียนอัลกอลิทึมแบบลาํ ดบั เรือ่ งอะไรกไ็ ด
3. นักเรียนเลือกเขียนอัลกอลิทึมแบบทางเลือกหรือ

แบบทาํ ซาํ้ เรือ่ งอะไรกไ็ ดม า 1 อยาง


Click to View FlipBook Version