![Page 1: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/1.jpg)
อ.พิศิษฐ์ นาคใจคณะวิทยาศาสตร์และเทคโนโลยีมหาวิทยาลัยราชภัฎอุตรดิตถ์
บทที่ 2 ขั้นตอนการท างาน (Algorithm)
![Page 2: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/2.jpg)
รหัสเทยีม (Pseudo Code)
• เป็นค าอธิบายขั้นตอนการท างานของโปรแกรม โดยใช้ภาษาอังกฤษหรือภาษาไทย รวมกับภาษาการเขียนโปรแกรม ซึ่งช่วยให้ผู้เขียนโปรแกรมสามารถท างานได้ง่ายขึ้น รหัสเทียมที่ดีต้องมีความชัดเจน สั้นแต่ได้ใจความ
• รูปแบบAlgorithm <ชื่ออัลกอริทึ่ม>1……………2……………End
![Page 3: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/3.jpg)
หลักการเขียนซโูดโค้ด
• การรับข้อมูล Read, Input• การค านวณ Compute• การตัดสินใจ If – Then – Else – Endif
Case – Of – Endcase• การวนซ้ า For – Endfor
Repeat – UntilDo – While – Enddo
• การกระโดดข้าม Goto
![Page 4: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/4.jpg)
ตัวอย่าง
• ซูโดโค้ดหาพ้ืนที่สามเหลี่ยม
Algorithm TriangleArea
1. Input x
2. Input y
3. Compute area = (x * y) / 2
4. Print area
Endx
y
![Page 5: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/5.jpg)
ตัวอย่าง
• ซูโดโค้ดค านวณเกรดนักศึกษา โดยมีเงื่อนไขว่า คะแนนมากกว่าหรือเท่ากับ 50 ได้ A ถ้าคะแนนน้อยกว่า 50 ได้ F
Algorithm CalGrade1. Read score2. If (score >= 50) Then3. grade = A4. Else 5. Grade = F6. Endif5. Print gradeEnd
![Page 6: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/6.jpg)
ตัวอย่าง
• ซูโดโค้ดแสดงข้อความแจ้งนักศกึษาที่ได้เกรด A - FAlgorithm ShowData1. Case score Of2. A : Print “ดีมาก”3. B : Print “ดี”4. C : Print “พอใช้”5. F : Print “ควรปรับปรุง”6. EndcaseEnd
![Page 7: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/7.jpg)
ตัวอย่าง
• ซูโดโค้ดการรับค่าจากแป้นพิมพ์ จนกว่าค่าที่ป้อนเปน็ 0 แล้วหาค่าเฉลี่ยAlgorithm Average1. count =02. sum = 03. Input x
4. If (x>0) then5. count = count + 16. sum = sum + x7. Goto 38. Else Goto 99. average = sum / count10. Endif11. Print averageEnd
Input (x) Count Sum
- 0 0
10 1 10
20 2 30
30 3 60
10 4 70
20 5 90
0 5 90
![Page 8: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/8.jpg)
ผังงาน (Flowchart)
• เป็นแผนภาพที่ใช้ออกแบบและอธิบายการท างานของโปรแกรมโดยใช้รูปทรงและลูกศร
เริ่มต้น
ค านวณ
ผลลัพธ์
สิ้นสุด
ผิด
ถูก
![Page 9: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/9.jpg)
หลักการเขียนผังงานที่ดี
• เขียนตามสัญลักษณ์ที่ก าหนด
• ใช้ลูกศรแสดงทิศทางจากบนลงล่าง
• อธิบายสั้นๆ ให้เข้าใจง่าย
• ทุกแผนภาพต้องมีทิศทางเข้าออก
• ถ้าลูกศรโยงไปไกลมากใหใ้ช้สญัลักษณ์การเชื่อมต่อแทน
![Page 10: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/10.jpg)
ประโยชน์ของผังงาน
• ท าให้เข้าใจ และแยกแยะปัญหาได้ง่าย (Problem Define)
• แสดงล าดับการท างาน (Step Flowing)
• หาข้อผิดพลาดได้ง่าย (Easy to Debug)
• ท าความเข้าใจโปรแกรมได้ง่าย (Easy to Read)
• ไม่ขึ้นกับภาษาใดภาษาหนึ่ง (Flexible Language)
![Page 11: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/11.jpg)
โครงสร้างของผังงาน
• โครงสร้างการท างานแบบล าดับ (Sequence)
• โครงสร้างการท างานแบบทางเลือก (Selection)
• โครงสร้างการท างานแบบวนซ้ า (Repeat)
![Page 12: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/12.jpg)
สัญลักษณ์ที่ใช้ในการเขียนผังงาน
• การเริ่มต้น/สิ้นสุด
• ทิศทางของโปรแกรม
• การประมวลผล
• การรับข้อมูล
![Page 13: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/13.jpg)
สัญลักษณ์ที่ใช้ในการเขียนผังงาน
• การตรวจสอบเงื่อนไข
• การแสดงผลทางจอภาพ
• การแสดงผลข้อมูลหรือ แสดงทางเครื่องพิมพ์
• จุดเช่ือมต่อของผังงาน
![Page 14: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/14.jpg)
สัญลักษณ์ที่ใช้ในการเขียนผังงาน
• ที่เก็บข้อมูล
• การขึ้นหน้าใหม่
![Page 15: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/15.jpg)
ตัวอย่าง
• การเขียนผังงาน การรับข้อมูล A และ B เข้ามา แล้วแสดงผลบวกของค่าทั้งสอง
Begin
X = A+B
End
Input A
Input BPrint X
![Page 16: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/16.jpg)
ตัวอย่าง
• การเขียนผังงานค านวณเกรดนักศึกษา
โดยมีเงื่อนไขว่า คะแนนมากกว่าหรือเท่ากับ 50 ได้ A ถ้าคะแนน
น้อยกว่า 50 ได้ F
Begin
Input score
Score >=50
Print FPrint A
True False
End
![Page 17: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/17.jpg)
ตัวอย่าง
• การเขียนผังงานเพื่อแสดงขั้นตอนการเจียวไข่
![Page 18: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/18.jpg)
แบบฝึกหัด
1. เขียนรหัสเทียม เพ่ือค านวณ การแปลงหน่วยจาก1. หน่วยเซนติเมตร -> หน่วยเมตร
2. หน่วยเมตร -> กโิลเมตร
3. หน่วยองศาเซลเซียส -> ฟาเรนไฮต์ [°F] = [°C] × 9⁄5 + 32
4. ฟาเรนไฮต์ -> เคลวิน [K] = ([°F] + 459.67) × 5⁄95. หน่วยเงินบาท -> เงินดอลล่าสหรัฐ 1 USA = 30 Baht
6. หน่วยเงินดอลล่าสหรัฐ -> หน่วยเงินปอร์น 1 USA = 0.63 Pound
ให้นิสิตท าแบบฝึกลงกระดาษขนาด A4 ส่งคาบเรียนถัดไป
![Page 19: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/19.jpg)
![Page 20: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/20.jpg)
แบบฝึกหัด
1. เขียนผังงาน เพือ่ค านวณการช าระภาษีที่ตอ้งช าระ โดยมีรายละเอียดการช าระดังน้ี
ถ้าเงินรายได้นอ้ยกว่า 100,000 บาท ไมต่้องช าระภาษี
ถ้าเงินรายได้ตัง้แต ่100,000 บาทขึน้ไป ช าระภาษี 10 เปอรเ์ซ็นต์ ของรายได้
2. เขียนผังงานบอกขัน้ตอนการไปเตมิน้ ามันทีป่ั้มน้ ามัน
3. เขียนผังงานบอกขัน้ตอนการถอนเงนิจากตู้ ATM
4. เขียนผังงานแสดงวิธีการรับประทานยา ที่แบง่ขนาดรับประทานตามอายุของผู้ทานดงันี้ อายุมากกว่า 10 ปี รับประทานครั้งละ 2 ช้อนชา
อายุมากกว่า 3 ปี ถึง 10 ปี รับประทานครั้งละ 1 ช้อนชา
อายุมากกว่า 1 ปี ถึง 3 ปี รับประทานครั้งละ 1/2 ช้อนชา
แรกเกิดถึง 1 ปี ห้ามรับประทาน
ให้นิสิตท าแบบฝึกลงกระดาษขนาด A4 ส่งคาบเรียนถัดไป
![Page 21: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท](https://reader033.vdocuments.site/reader033/viewer/2022041904/5e627e5ed18ac573b8028c12/html5/thumbnails/21.jpg)
ปรับปรุงจาก
• อ.กฤษณ์ ชัยวณัณคุปต์ มหาวิทยาลัยราชภัฎอุตรดิตถ์