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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ขั้นตอนวิธี Algorithms.
Advertisements

System Requirement Collection (2)
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
PHPPHP การเขียนโปรแกรมคอมพิวเตอร์ 1 สาขาวิชาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ.
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
การเขียนโปรแกรมคอมพิวเตอร์ Computer programming
BC322 : Computer Programing (ครั้งที่ 1)
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
การเขียนโปรแกรม ภาษาซีเบื้องต้น โดย คุณครูปวีณา แนววงศ์
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
บทที่ 4 คำสั่งควบคุม โปรแกรม. คำสั่งควบคุมโปรแกรมออกได้เป็น 2 ประเภท คือ คำสั่งแบบกำหนดเงื่อนไข (Conditional Statement) คำสั่งแบบทำงานซ้ำ (Repetitive.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
การเขียนผังงานเบื้องต้น (Flow chart)
การใช้งาน Microsoft Excel
หลักการโปรแกรม 1 Lecture 8: การทำซ้ำ (while, do-while)
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
INTRODUCE SUBJECT สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
คำสั่งควบคุมการทำงาน
ผังงาน..(Flow Chart) หมายถึง...
การเขียนผังงานเบื้องต้น
เกม คณิตคิดเร็ว.
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
บทที่ 5 การใช้คำสั่ง Select Case , For Next และ Do While
บทที่ 4 การเขียนรหัสเทียม (Pseudo Code)
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
แนวข้อสอบ Final (จดด่วน)
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
BC320 Introduction to Computer Programming
การบัญชีต้นทุนช่วง (Process Costing).
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การออกแบบผังงานแบบมีเงื่อนไขร่วมกับการทำงานแบบวนซ้ำ.
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
บทที่ 8 เงื่อนไขตัดสินใจ
สาระการเรียนรู้ ความหมายของอัลกอริทึม วิธีการเขียนผังงานที่ดี
การทำใบจัดซื้อ/จ้าง.
ใน Word 5 วิธีใหม่ๆ ในการทำงาน ทำงานร่วมกับผู้อื่นได้จากทุกที่
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
BC320 Introduction to Computer Programming
การทำงานแบบมีเงื่อนไข (if, if-else, if-else-if, Nested-if)
บทที่ 9 การทำซ้ำ (Loop).
บทที่ 3 Programming By Wathinee duangonnam
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
คำสั่งวนรอบ (Loop).
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
บรรยายครั้งที่ 8 - กราฟฟิกวิศวกรรม 1
การเขียนโปรแกรม ด้วยภาษาคอมพิวเตอร์
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
OPERATOR ภาษาปาสคาล (Pascal)
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
2 โครงสร้างข้อมูลแบบสแตก (STACK).
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบวนซ้ำ
Chapter 3 : Array.
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
บทที่ 7 การบัญชีภาษีมูลค่าเพิ่ม
ใบสำเนางานนำเสนอ:

ขั้นตอนวิธี 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

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

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 = 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

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

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

ให้หาพื้นที่สี่เหลี่ยมจัตุรัส และแสดงผลดังนี้ 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