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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter 8 : Logic Modeling & Data Modeling
Advertisements

รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
การทำงานแบบเลือกทำ (Selection)
ลักษณะโครงสร้างของผังงาน
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
Control Statement if..else switch..case for while do-while.
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนผังงาน.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
การควบคุมทิศทางการทำงาน
การแก้ปัญหาด้วยคอมพิวเตอร์
ผังงานโปรแกรม (Program Flowchart)
Algorithms.
คำสั่งแบบเลือกทำ Week 6.
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
วิชา การออกแบบและพัฒนาซอฟต์แวร์
คำสั่งเงื่อนไขและการควบคุม
บทที่ 1. พื้นฐานความรู้ทั่วไป
การจำลองความคิด
การควบคุมทิศทางการทำงานของโปรแกรม
วิธีการทำงานของผังงาน
การเขียนผังงานแบบโครงสร้าง
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
คำสั่งควบคุม (Control Statement)
การเขียนโปรแกรมแบบมีทางเลือก
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
การเขียนโปรแกรมภาษาซี
ตัวอย่างการวิเคราะห์งาน และ การเขียนผังงานและซูโดโค้ด
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ประโยคเปิดและตัวบ่งปริมาณ
การเขียนผังงาน (Flowchart)
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
Flow Chart INT1103 Computer Programming
Week 3 Flow Control in PHP
โครงสร้างข้อมูลคืออะไร ?
การแก้ปัญหาด้วยคอมพิวเตอร์
Week 5 การทำซ้ำโดย while loop และ do while loop
Week 7 การเขียนโปรแกรมเบื้องต้น
Chapter 5 การทำซ้ำโดย while loop และ do while loop
Week 5 การทำซ้ำโดย while loop และ do while loop
2.3.1 รหัสเทียม (Pseudo code)
การออกแบบโครงสร้าง (Structured Design)
การเขียนโปรแกรมเบื้องต้น
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
CHAPTER 4 Control Statements
การเขียนโปรแกรมเบื้องต้น
แผนผังความคิดรวบยอด เรื่อง ภาษาคอมพิวเตอร์ และตัวอย่างผังงาน
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
อัลกอริทึ่มทำงานวนซ้ำ
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
หลักการเขียนโปรแกรม ( )
เด็กหญิง นัฐนรี โยธาตรี เลขที่ 13 ม.3/1
การเขียน แบบวนซ้ำ , วนลูป
หลักการเขียนโปรแกรมเบื้องต้น
หน่วยการเรียนรู้ที่ 3 การเขียน Flow Chart.
การเขียนผังงาน ผังงาน (Flowchart)
Flowchart การเขียนผังงาน.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
ผังงานโปรแกรม (Program Flowchart)
ขั้นตอนวิธี Algorithms.
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

การคำนวณ (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

คำนวณราคาสินค้า กำหนดให้ราคาสินค้าต่อชิ้น 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

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

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

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

คำนวณราคาสินค้า กำหนดให้อัตราภาษี 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

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

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

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

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

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

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

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

อ่านจำนวนเต็ม 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

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

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

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

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

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

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

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

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

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

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

ให้หาพื้นที่สี่เหลี่ยมจัตุรัส และแสดงผลดังนี้ Start ให้หาพื้นที่สี่เหลี่ยมจัตุรัส และแสดงผลดังนี้ 1 1 2 4 3 9 4 16 5 25 6 36 … 100 10000 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

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