21
อ.พิศิษฐ์ นาคใจ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฎอุตรดิตถ์ บทที2 ขั้นตอนการทางาน (Algorithm)

บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

อ.พิศิษฐ์ นาคใจคณะวิทยาศาสตร์และเทคโนโลยีมหาวิทยาลัยราชภัฎอุตรดิตถ์

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

Page 2: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

รหัสเทยีม (Pseudo Code)

• เป็นค าอธิบายขั้นตอนการท างานของโปรแกรม โดยใช้ภาษาอังกฤษหรือภาษาไทย รวมกับภาษาการเขียนโปรแกรม ซึ่งช่วยให้ผู้เขียนโปรแกรมสามารถท างานได้ง่ายขึ้น รหัสเทียมที่ดีต้องมีความชัดเจน สั้นแต่ได้ใจความ

• รูปแบบAlgorithm <ชื่ออัลกอริทึ่ม>1……………2……………End

Page 3: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

หลักการเขียนซโูดโค้ด

• การรับข้อมูล 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 ขั้นตอนการท

ตัวอย่าง

• ซูโดโค้ดหาพ้ืนที่สามเหลี่ยม

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 ขั้นตอนการท

ตัวอย่าง

• ซูโดโค้ดค านวณเกรดนักศึกษา โดยมีเงื่อนไขว่า คะแนนมากกว่าหรือเท่ากับ 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 ขั้นตอนการท

ตัวอย่าง

• ซูโดโค้ดแสดงข้อความแจ้งนักศกึษาที่ได้เกรด 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 ขั้นตอนการท

ตัวอย่าง

• ซูโดโค้ดการรับค่าจากแป้นพิมพ์ จนกว่าค่าที่ป้อนเปน็ 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 ขั้นตอนการท

ผังงาน (Flowchart)

• เป็นแผนภาพที่ใช้ออกแบบและอธิบายการท างานของโปรแกรมโดยใช้รูปทรงและลูกศร

เริ่มต้น

ค านวณ

ผลลัพธ์

สิ้นสุด

ผิด

ถูก

Page 9: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

หลักการเขียนผังงานที่ดี

• เขียนตามสัญลักษณ์ที่ก าหนด

• ใช้ลูกศรแสดงทิศทางจากบนลงล่าง

• อธิบายสั้นๆ ให้เข้าใจง่าย

• ทุกแผนภาพต้องมีทิศทางเข้าออก

• ถ้าลูกศรโยงไปไกลมากใหใ้ช้สญัลักษณ์การเชื่อมต่อแทน

Page 10: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

ประโยชน์ของผังงาน

• ท าให้เข้าใจ และแยกแยะปัญหาได้ง่าย (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 ขั้นตอนการท

โครงสร้างของผังงาน

• โครงสร้างการท างานแบบล าดับ (Sequence)

• โครงสร้างการท างานแบบทางเลือก (Selection)

• โครงสร้างการท างานแบบวนซ้ า (Repeat)

Page 12: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

สัญลักษณ์ที่ใช้ในการเขียนผังงาน

• การเริ่มต้น/สิ้นสุด

• ทิศทางของโปรแกรม

• การประมวลผล

• การรับข้อมูล

Page 13: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

สัญลักษณ์ที่ใช้ในการเขียนผังงาน

• การตรวจสอบเงื่อนไข

• การแสดงผลทางจอภาพ

• การแสดงผลข้อมูลหรือ แสดงทางเครื่องพิมพ์

• จุดเช่ือมต่อของผังงาน

Page 14: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

สัญลักษณ์ที่ใช้ในการเขียนผังงาน

• ที่เก็บข้อมูล

• การขึ้นหน้าใหม่

Page 15: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

ตัวอย่าง

• การเขียนผังงาน การรับข้อมูล 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 ขั้นตอนการท

ตัวอย่าง

• การเขียนผังงานค านวณเกรดนักศึกษา

โดยมีเงื่อนไขว่า คะแนนมากกว่าหรือเท่ากับ 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 ขั้นตอนการท

ตัวอย่าง

• การเขียนผังงานเพื่อแสดงขั้นตอนการเจียวไข่

Page 18: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

แบบฝึกหัด

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 ขั้นตอนการท
Page 20: บทที่ 2 ขั้นตอนการท างานmathcom.uru.ac.th/~beebrain/Slide/4121305A/%ba%b7%b7%d5%e8%202.pdf · บทที่ 2 ขั้นตอนการท

แบบฝึกหัด

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 ขั้นตอนการท

ปรับปรุงจาก

• อ.กฤษณ์ ชัยวณัณคุปต์ มหาวิทยาลัยราชภัฎอุตรดิตถ์