บทที่ 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 อยาง