งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ขั้นตอนวิธี Algorithms.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ขั้นตอนวิธี Algorithms."— ใบสำเนางานนำเสนอ:

1 ขั้นตอนวิธี Algorithms

2 สัญญลักษณ์ที่ใช้แทนขั้นตอนวิธี
ภาษาธรรมชาติ (Natural languge) เป็นภาษาที่มนุษย์ใช้พูดและเขียนในชีวิตประจำวัน ข้อเสีย ไม่ชัดเจน ตีความหมายแตกต่างกัน รหัสเทียม (Pseudocode) เป็นการเขียนคำสั่งคล้ายในภาษาโปรแกรมแต่ไม่ต้องมีไวยากรณ์ หรือวิธีการสร้างประโยคที่เข้มงวด ผู้เขียนแต่ละคนอาจมีวิธีการเขียนที่แตกต่างกัน ผังงาน (Flowchart) เป็นสัญลักษณ์ที่มีรูปแบบชัดเจน

3 เริ่มต้น ผังงาน (Flowchart) จ่าหน้าซอง พับจดหมาย พัฒนาโดย American National Standards Institute (ANSI) แสดงการแก้ปัญหาด้วยภาพ ใช้สัญลักษณ์แทนการกระทำ ใช้ลูกศรเพื่อแสดงลำดับของการกระทำ สัญลักษณ์ที่ใช้มีหลายรูปแบบเพื่อแสดงถึงการกระทำที่แตกต่างกัน นำจดหมายใส่ซอง มีแสตมป์? ยังไม่มี ซื้อแสตมป์ มีแล้ว ติดแสตมป์ นำจดหมายใส่ซอง จบ

4 รหัสเทียม (Pseudocode)
คล้ายภาษาอังกฤษ บางทีเรียกว่า ภาษาอังกฤษแบบโครงสร้าง ใช้เพื่อเขียนขั้นตอนวิธีให้เป็นระบบระเบียบดีกว่าภาษาอังกฤษที่ใช้กันทั่วไป แต่มีกฎเกณฑ์น้อยกว่าภาษาโปรแกรมคอมพิวเตอร์ ช่วยทำให้สามารถมุ่งความสนใจไปที่ตรรกของขั้นตอนวิธีได้เต็มที่ โดยไม่ต้องกังวลในกฎเกณฑ์ของภาษา สามารถแปลงเป็นภาษาโปรแกรมได้ง่าย ไม่สามารถกระทำการด้วยคอมพิวเตอร์

5 ขั้นตอนวิธี ประกอบด้วยการดำเนินการ 2 ชนิด
การดำเนินการลำดับ (Sequential operations) การดำเนินการควบคุม (Control Operation 2.1 การดำเนินการเงื่อนไข (Conditional operations) 2.2 การดำเนินการซ้ำ (Iterative operations)

6 Sequential Operation ขั้นตอนวิธีการโทรศัพท์ 1. ค้นหาหมายเลข
Start Sequential Operation Find phone number ขั้นตอนวิธีการโทรศัพท์ 1. ค้นหาหมายเลข 2. กดหมายเลข และปุ่มโทร 3. ฟังเสียงสัญญาณ 4. กล่าวคำทักทาย 5. สนทนา 6 กล่าวลา 7. วางหูโทรศัพท์ Enter phone number and Press the call button Algorithm 1. Find phone number 2. Enter phone number and press call button 3. Listen to phone signal 4. Say “hello” 5. Make conversation 6. Say “Good bye” 7. Hang up a call Listen to signal Say ‘hello’ Make conversation Say “good bye” Hang up a call Stop

7 การคำนวณ (Computation)
Set “variable” to “arithmetic expression” ประมวลผลนิพจน์เลขคณิต (arithmetic expression) แล้วนำผลที่ได้เก็บไว้ในตัวแปร (variable) Set a to 100 Set b to 200 Set Result to a+b 100 200 300 a b Result

8 คำนวณราคาสินค้า กำหนดให้ราคาสินค้าต่อชิ้น 27.75 บาท
กำหนดให้จำนวนสินค้ามี 15 ชิ้น ราคาสินค้า = ราคาสินค้าต่อชิ้น x จำนวนสินค้า แสดง ราคาสินค้า คำนวณราคาสินค้า Start priceperitem = 27.75 quantity = 15 Set priceperitem to 27.75 Set quantity to 15 Set price to priceperitem x quantity Print price price = priceperitem x quantity Print price Stop 27.75 15 price priceperitem quantity

9 Print priceincludetax
คำนวณราคาสินค้า Set vat to 0.07 Set priceperitem to 27.75 Set quantity to 15 Set price to priceperitem x quantity Set tax to price x vat Set priceincludetax to price + tax Print priceincludetax Start vat = 0.07 priceperitem = 27.75 quantity = 15 price = priceperitem x quantity tax = price x vat priceincludetax = price + tax 0.07 27.75 15 vat priceperitem quantity Print priceincludetax Stop price tax priceincludetax

10 รหัสเทียมสำหรับการนำเข้าและส่งออก
Input : Get “variable1”, variable2, … Get the radius of the circle Get radius Output Print “variable1”, variable2, … Print area

11 priceperitem, quantity
รับราคาสินค้าต่อชิ้นจากแป้นพิมพ์ รับจำนวนสินค้าจากแป้นพิมพ์ คำนวณราคาสินค้า = ราคาสินค้าต่อชิ้น x จำนวนสินค้า แสดง ราคาสินค้า คำนวณราคาสินค้า Start input priceperitem, quantity Get priceperitem Get quantity Set price to priceperitem x quantity Print price price = priceperitem x quantity Print price Stop priceperitem quantity price

12 คำนวณราคาสินค้า กำหนดให้อัตราภาษี 7 % รับราคาสินค้าต่อชิ้น
รับจำนวนสินค้า ราคาสินค้า = ราคาสินค้าต่อชิ้น x จำนวนสินค้า ภาษี = ราคาสินค้า x อัตราภาษี ราคาสินค้ารวมภาษี = ราคาสินค้า + ภาษี แสดงราคาสินค้ารวมภาษี Start vat = 0.07 input priceperitem, quantity Set vat to 0.07 Get priceperitem Get quantity Set price to priceperitem x quantity Set tax to price x vat Set priceincludetax to price + tax Print priceincludetax price = priceperitem x quantity tax = price x vat priceincludetax = price + tax Print priceincludetax Stop

13 อ่านจำนวนเต็ม 2 จำนวน เก็บไว้ในตัวแปร a และ b แล้วให้สลับค่ากัน

14 Control Operation เป็นการดำเนินการที่เปลี่ยนการทำงานแบบตามลำดับ ให้ไปทำงานที่จุดอื่น ประกอบด้วยการดำเนินการ 2 ชนิด Conditional Operation เป็นการดำเนินการแบบ ถามคำถาม เพื่อเลือกการดำเนินการถัดไปที่จะกระทำ Iterative Operation เป็นการดำเนินการแบบวนซ้ำ หรือ กระทำคำสั่งเดิมหลายครั้ง

15 Conditional statement
If “condition” then set of operation ประมวลผล “condition” ถ้าเป็นจริง ให้ทำ set of operation เงื่อนไข false true T1 T2

16 ค้นหาบัตรเอทีเอ็ม ถ้าพบบัตร สอดบัตร กดถอนเงิน กลับบ้าน
กดเอทีเอ็ม Start ค้นหาบัตรเอทีเอ็ม ถ้าพบบัตร สอดบัตร กดถอนเงิน กลับบ้าน ค้นหาบัตรเอทีเอ็ม พบ? false true สอดบัตร Search for the ATM card If find the ATM card insert the ATM card press withdrawal button Return home กดถอนเงิน กลับบ้าน Stop

17 Set grade to ‘U’ Get score If (score >= 50) then Set grade to ‘S’
Start Grade = ‘U’ Set grade to ‘U’ Get score If (score >= 50) then Set grade to ‘S’ Print grade get score Score >= 50 false true Grade = ‘S’ Print Grade Stop

18 Conditional statement
If “condition” is true then first set of operations Else second set of operations ประมวลผล “condition” ถ้าเป็นจริง ให้ทำ first set of operations ถ้าเป็นเท็จ ให้ทำ second set of operations ดำเนินการ operation ถัดจาก conditional statement

19 if/then/else statement
เงื่อนไข true false S1 T1 S2 T2 S3 T3 V

20 อ่านจำนวนเต็ม 3 จำนวน แล้วหาค่าที่มากที่สุด
อ่านจำนวนเต็ม 3 จำนวน แล้วหาค่าที่มากที่สุด Start read a,b,c false a > b false true b > c false a > c true true big = a big = c big = b big = c print big Stop

21 Start Get score If (score >= 50) then Set grade to ‘s’ Else
Set grade to ‘u’ Print grade get score Score >= 50 false true Grade = ‘S’ Grade = ‘U’ Print Grade Stop

22 Start score >= 80 score >= 50 grade = ‘G’ grade = ‘P’
Get score if (score >= 80) set grade to ‘G’ Else if (score >= 50) set grade to ‘P’ else set grade to ‘F’ print grade get score score >= 80 false score >= 50 false true true grade = ‘G’ grade = ‘P’ grade = ‘F’ print grade Stop

23 Start WorkHour > MaxHour Stop Get WorkHour,MaxHour, OTRate
IF WorkHour > MaxHour THEN OverHour = MaxHour - WorkHour ELSE OverHour = 0 ENDIF OverTime = OverHour * OTRate Print OverTime Start Receive WorkHour, MaxHour, OTRate WorkHour > MaxHour false true OverHour = MaxHour - WorkHour OverHour = 0 OverTime = OverHour * OTRate Print OverTime Stop

24 ค้นหาบัตรเอทีเอ็ม ค้นหาบัตรเอทีเอ็ม ถ้าพบบัตร สอดบัตรและใส่รหัส
กดเอทีเอ็ม Start ค้นหาบัตรเอทีเอ็ม ค้นหาบัตรเอทีเอ็ม ถ้าพบบัตร สอดบัตรและใส่รหัส ถ้ารหัสถูกต้อง กดถอนเงิน มิฉะนั้น กดยกเลิกการถอนเงิน กลับบ้าน พบ? false true สอดบัตรและใส่รหัส รหัสถูกต้อง? true กดถอนเงิน กดยกเลิกการถอนเงิน กลับบ้าน Stop

25 Loop the repetition of a block of instructions
ความสามารถที่แท้จริงของคอมพิวเตอร์อยู่ที่การทำงานซ้ำหลายๆครั้ง ถ้าต้องการทำงานนี้เพียงครั้งเดียว คงไม่จำเป็นต้องเขียนโปรแกรม แต่ถ้าต้องทำเป็นหมื่นครั้ง แสนครั้ง ก็คุ้มที่จะเขียนโปรแกรม ถ้าเครื่องคิดเลขใช้เวลา 5 วินาที หนึ่งล้านครั้งใช้เวลา /(60x60x24)= 58 วัน ใช้คอมพิวเตอร์ ใช้เวลาไม่ถึง 1 วินาที

26 Looping : while statement
While (‘condition’) do operation …. เมื่อเงื่อนไข(a true/false condition)เป็นจริง loop body จะถูกกระทำ แล้วกลับไปตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นเท็จจะข้ามไปกระทำการ operation ที่อยู่ถัดจาก loop

27 แบบจำลองการกระทำการ while loop
เงื่อนไข false true S1 S2 แบบจำลองการกระทำการ while loop S3 Sn

28 count = 1 Start count = 1 while count <= 100 do print count
add 1 to count count = 1 count <= 100 false true Print count Add 1 to count Stop

29 count = 1 Start count = 1 while count <= 100 do print count
add 2 to count count = 1 count <= 100 false true Print count Add 2 to count Stop

30 Start count = 1 while count <= 100 do total = 0, count = 0
add 1 to count add count to total print total total = 0, count = 0 count <= 100 false true add 1 to count add count to total Print total Stop

31 Start total = 0, count = 0, count = 0 while count <= 100 do
input amount add 1 to count add amount to total average = total/count print average false count <= 100 true input amount add 1 to count add amount to total average = total / count Print average Stop

32 Start count = 0 input amount while count <= 100 do add 1 to count
total = 0, count = 0, count = 0 input amount while count <= 100 do add 1 to count add amount to total average = total/count print average input amount false amount <= 0 true add 1 to count add amount to total input amount average = total / count Print average Stop

33 ให้หาพื้นที่สี่เหลี่ยมจัตุรัส และแสดงผลดังนี้
Start ให้หาพื้นที่สี่เหลี่ยมจัตุรัส และแสดงผลดังนี้ count = 1 count <= 100 false true square =count x count print count, square count = 1 while count <= 100 do set square to count x count print count, square add 1 to count add 1 to count Stop

34 Stop Start vat = 0.07 Input priceperitem priceperitem <> 0
Set vat to 0.07 get priceperitem while priceperitem <> 0 do get quantity set price to priceperitem x quantity set tax to price x vat set priceincludetax to price + tax print priceincludetax vat = 0.07 Input priceperitem priceperitem <> 0 false true input quantity price = priceperitem x quantity tax = price x vat priceincludetax = price + tax print priceincludetax Input priceperitem Stop


ดาวน์โหลด ppt ขั้นตอนวิธี Algorithms.

งานนำเสนอที่คล้ายกัน


Ads by Google