ݺߣ

ݺߣShare a Scribd company logo
บทที่ 2 ขั้นตอนวิธีกับการแก้ปัญหา
2.1 ความหมายของขั้นตอนวิธี
2.2 ขั้นตอนการทำางานของ
โปรแกรม
2.3 โครงสร้างแฟ้มข้อมูล
2.4 การแสดงขั้นตอนวิธี
2.5 โครงสร้างโปรแกรม
Copyright (c) 2006 by Sasalak Tongkaw2
COMPUTER PROGRAMMING AND ALGORITH
ความหมายของขั้นตอนวิธี
ขั้นตอนวิธี หรืออัลกอริทึ่ม (algorithm) หมายถึง
ชุดคำาสั่ง หรือ คำาบอกกล่าว ที่สามารถเข้าใจได้
และมีความยาวจำากัด ซึ่งบอกถึง ระเบียบวิธีใน
การแก้ไขปัญหาใดปัญหาหนึ่ง อย่างเป็นขั้นเป็น
ตอนและชัดเจน ว่าทำาอย่างไร เมื่อป้อนอะไร
เข้าไป จะได้ผลลัพธ์เช่นไร
ขั้นตอนวิธีจะประกอบด้วย วิธีการเป็นขั้นๆ
และมีส่วนที่ต้องทำาซำ้าเป็นวงรอบ (iterate)
มีการตัดสินใจโดยใช้ตรรกะ (logic)
และ/หรือ การเปรียบเทียบ (comparison)
Copyright (c) 2006 by Sasalak Tongkaw3
COMPUTER PROGRAMMING AND ALGORITH
อัลกอริทึ่ม
คำาว่า อัลกอริทึ่ม มีที่มาจากชื่อ
ของนักคณิตศาสตร์ชาวเปอร์เซีย
ในยุคศตวรรษที่ 9 ชื่อ
อาบู อับดุลลา บิน มูซา อัล-ควาริ
สมี (Abu Abdullah
Muhammad bin Musa al-
Khwarizmi) ซึ่งได้กลายเป็นคำา
ว่า อัลกอริซึม
หมายถึงกฎที่ใช้ในการคิด
คำานวณเลขคณิต
Copyright (c) 2006 by Sasalak Tongkaw4
COMPUTER PROGRAMMING AND ALGORITH
ขั้นตอนการทำางานของโปรแกรม
1. เข้าใจปัญหา
2. วางแผนลำาดับขั้นตอนการ
แก้ปัญหา
3. ๶ขียนโปรแกรม
4. แปลงโปรแกรมเป็นภาษา
เครื่อง
5. ทดสอบโปรแกรม
6. นำาโปรแกรมไปใช้
Copyright (c) 2006 by Sasalak Tongkaw5
COMPUTER PROGRAMMING AND ALGORITH
เข้าใจปัญหา
• ต้องการรายชื่อของพนักงานที่
ทำางานเกินกว่า 5 ปี
• รายงานการขายประจำาปี 2547
• รายงานการขายประจำาเดือน
มิถุนายน 2547
• รายงานการขายของพนักงานขาย
ชื่อ สุนีย์
• รายงานการขายวันนี้
Copyright (c) 2006 by Sasalak Tongkaw6
COMPUTER PROGRAMMING AND ALGORITH
วางแผนลำาดับขั้นตอนการแก้ปัญหา
• วางแผนลำาดับขั้นตอนของโปรแกรม
• เครื่องมือที่ใช้อาจเป็นผังงาน (flowchart)
และรหัสเทียมหรือรหัสลำาลอง
(pseudocode)
• นำาอินพุทเข้ามาเพื่อให้ได้เอาท์พุทที่ถูกต้อง
Copyright (c) 2006 by Sasalak Tongkaw7
COMPUTER PROGRAMMING AND ALGORITH
โค้ดเทียม
• กำาหนดให้ค่าเงินเดือนเท่ากับ 0
• รับค่าเงินเดือนเข้ามา
• ถ้าเงินเดือนมากกว่า 15,000
บาท ให้คิดภาษี 7%
• ถ้าเงินเดือนน้อยกว่า หรือเท่ากับ
15,000 ให้คิดภาษี 3%
• คำานวณเงินได้สุทธิโดยเอาเงิน
เดือนลบด้วยภาษี
• พิมพ์ค่าเงินเดือน ภาษี และเงิน
ได้สุทธิหลังจากหักภาษี
Copyright (c) 2006 by Sasalak Tongkaw8
COMPUTER PROGRAMMING AND ALGORITH
ผังงาน
• ผังงานหรือแผนภาพการไหลของ
โปรแกรมมีสัญลักษณ์เบื้องต้นดัง
ต่อไปนี้
การประมวลผลตัวเริ่ม/จบ การตัดสินใจ
ข้อมูลเข้า/ออกตัวเชื่อม
Copyright (c) 2006 by Sasalak Tongkaw9
COMPUTER PROGRAMMING AND ALGORITH
๶ขียนโปรแกรม
• เลือกภาษาที่เหมาะสมกับงาน
• ลงโค้ดโปรแกรม
Copyright (c) 2006 by Sasalak Tongkaw10
COMPUTER PROGRAMMING AND ALGORITH
แปลงโปรแกรมเป็นภาษาเครื่อง
• ภาษาเครื่อง (Machine Language)มี 0 และ
1 เท่านั้น
• การ Compile เป็นการเปลี่ยนจากโค้ดต้นฉบับ
(Source Code) เป็นภาษาเครื่อง
• ตัวแปลภาษามี 2 ชนิด
– Compiler
– Interpreter
Copyright (c) 2006 by Sasalak Tongkaw11
COMPUTER PROGRAMMING AND ALGORITH
ทดสอบโปรแกรม
• ทดสอบการรันโปรแกรมโดยใช้
ข้อมูลจริง
• โปรแกรมอาจมีข้อผิดพลาดได้ 2
แบบคือ
• ผิดพลาดไวยกรณ์
• ผิดพลาดทางตรรกะ
Copyright (c) 2006 by Sasalak Tongkaw12
COMPUTER PROGRAMMING AND ALGORITH
ผิดพลาดทางตรรกะ
• Get number
• Answer = number *2
• Print Answer
• Get number
• Answer = number * 20
• Print Answer
Copyright (c) 2006 by Sasalak Tongkaw13
COMPUTER PROGRAMMING AND ALGORITH
นำาโปรแกรมไปใช้งาน
• ติดตั้งโปรแกรม
• ทดสอบการใช้งาน
• อบรมการใช้งาน
• ประเมินผลการใช้งาน
Copyright (c) 2006 by Sasalak Tongkaw14
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างแฟ้มข้อมูล
จำาแนกในรูปแบบ
ตรรกะ
• ตัว
อักษร(Character)
• เขตข้อมูล (Field)
– แอททริบิวต์ของเอ็น
ทิตี
• ระเบียน (Record)
• แฟ้มหรือไฟล์ (File)
• ฐานข้อมูล
Copyright (c) 2006 by Sasalak Tongkaw15
COMPUTER PROGRAMMING AND ALGORITH
การแสดงขั้นตอนวิธี
• ผังงาน
• ภาษาขั้นตอนวิธี
• ภาษาธรรมชาติ
Copyright (c) 2006 by Sasalak Tongkaw16
COMPUTER PROGRAMMING AND ALGORITH
ผังงาน (flowchart)
• ผังงาน เป็นขั้นตอนวิธีที่เขียนโดยใช้รูป
สัญลักษณ์ มีเส้นเชื่อมและหัวลูกศรบอกขั้น
ตอนการทำางาน การเขียนขั้นตอนวิธีด้วยวิธี
นี้เป็นที่นิยมมากกว่าแบบอื่น ๆ เนื่องจากมีเส้น
ลากโยงใยทำาให้เห็นขั้นตอนการทำางานที่
ชัดเจน มีลูกศรกำากับทิศทางการทำางานช่วย
ให้เข้าใจง่ายขึ้น และสามารถตรวจสอบความ
ถูกต้องได้ง่าย
• สัญลักษณ์ของผังงานดูในหนังสือ
• ผังงานมี 2 ชนิด คือ
– ผังงานระบบ (System Flowchart)
Copyright (c) 2006 by Sasalak Tongkaw17
COMPUTER PROGRAMMING AND ALGORITH
Salary =0
Income=0
Tax=0
Salary>1
5000
Begin
Read Salary
Tax=salary*3% Tax=salary*7%
Yes
No
Income=salary-tax
Print salary
Print tax
Print income
End
Copyright (c) 2006 by Sasalak Tongkaw18
COMPUTER PROGRAMMING AND ALGORITH
ภาษาขั้นตอนวิธี
• ตัวแปร
• การกำาหนดค่า
• นิพจน์
• GOTO
• If-else
• Repeat
• comment
Copyright (c) 2006 by Sasalak Tongkaw19
COMPUTER PROGRAMMING AND ALGORITH
ตัวแปร
• ตัวแปรหมายถึงสิ่งที่ใช้สำาหรับ
การเก็บค่าต่างๆ ตัวอย่างเช่น
salary, income,tax เป็นต้น
• ส่วนมากมักจะกำาหนดค่าให้เป็น 0
ก่อนเริ่มโปรแกรมเสมอ
Salary =0
Income=0
Tax=0
Copyright (c) 2006 by Sasalak Tongkaw20
COMPUTER PROGRAMMING AND ALGORITH
การกำาหนดค่า
• มักใช้เครื่องหมาย หรือ
เครื่องหมาย = เพื่อกำาหนดค่าให้
กับตัวแปร เช่น
Salary =0
Income=0
Tax=0
Salary ← 0
Income ← 0
Tax ← 0
Copyright (c) 2006 by Sasalak Tongkaw21
COMPUTER PROGRAMMING AND ALGORITH
นิพจน์ (expression)
• ( ) (วงเล็บ)
• + (บวก)
∀ − (ลบ)
• * (คูณ)
• / (หาร)
• ^ (ยกกำาลัง)
• & (and)
• | (or)
• =
• != หรือ <>
• <
• >
Copyright (c) 2006 by Sasalak Tongkaw22
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างทางตรรกะ
• โครงสร้างทางตรรกะ(logic
structure) เชื่อมกันเป็น
โครงสร้างทางตรรกะได้ 3
ลักษณะ ได้แก่
– ลำาดับ
– ทางเลือก
– วงวน
Copyright (c) 2006 by Sasalak Tongkaw23
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างแบบลำาดับ(sequence
structure)
• เป็นรูปแบบการทำางานแบบทำาคำาสั่ง
หนึ่งต่อจากอีกคำาสั่งหนึ่ง ดังภาพ
• ตัวอย่างเช่น
– กำาหนดให้ ค่าเงินเดือน = 0
– รับค่าเงินเดือนstatementstatementstatementstatement
statementstatementstatementstatement
Copyright (c) 2006 by Sasalak Tongkaw24
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างแบบทางเลือก(selection
structure)
• เป็นรูปแบบที่มีการตัดสินใจเลือก
ข้อคำาสั่งที่จะทำาต่อไป
• เช่น if-then-else ดังภาพ
• โดยถ้าเงื่อนไขหลัง if เป็นจริง จะ
ทำาหลัง then ถ้าเงื่อนไขเป็นเท็จ
จะทำาหลัง else
IfIf
(test condition)(test condition)
ThenThen
(statement)(statement)
ThenThen
(statement)(statement)
ElseElse
(statement)(statement)
ElseElse
(statement)(statement)
Copyright (c) 2006 by Sasalak Tongkaw25
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างแบบวงวน(loop
structure)
เรียกอีกชื่อหนึ่งว่า การวน
ซ้ำ้า(iteration)
มี 2 รูปแบบคือ do until
และ do while
loop
เงื่อนไข
yes
no
loop
เงื่อนไข
yes
no
Copyright (c) 2006 by Sasalak Tongkaw26
COMPUTER PROGRAMMING AND ALGORITH
คำาอธิบาย (Comment)
• คำาอธิบาย (comment) เป็น
ข้อความที่อธิบายรายละเอียดของ
ขั้นตอนการทำางาน ซ้ึ่งบาง
ครั้งเราต้องการคำาอธิบายราย
ละเอียดเพิ่มเติมเพื่อให้เข้าใจขั้น
ตอนวิธีชัดเจนยิ่งขึ้น โดยต้อง
เขียนอยู่ภายในเครื่องหมาย
• /* comment */
• // comment
Copyright (c) 2006 by Sasalak Tongkaw27
COMPUTER PROGRAMMING AND ALGORITH
โครงสร้างโปรแกรม
Main
Compute-BillGet-Order Print-Bill
Compute-
Tax
Compute-
Discount
END OF CHEPTER 2
ANY QUESTION ?
Ad

Recommended

การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IO
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
Know Mastikate
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 function
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
Know Mastikate
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo C
Know Mastikate
Cpwk14 screen and sound
Cpwk14 screen and sound
Know Mastikate
Lesson1
Lesson1
koyjanpang
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loop
Know Mastikate
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
Know Mastikate
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 condition
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
Know Mastikate
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
Know Mastikate
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
Know Mastikate
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variable
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
Know Mastikate
C Programming
C Programming
Warawut
Structured Programming and Algorithm
Structured Programming and Algorithm
Satipattan Oband
การประกาศตัวแปรใȨาษาซี
การประกาศตัวแปรใȨาษาซี
mycomc55
การ๶ขียนโปรแกรม Dev c++
การ๶ขียนโปรแกรม Dev c++
Naowarat Jaikaroon
ตัวแปรในภาษาซี
ตัวแปรในภาษาซี
boky_peaw
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
Komkai Pawuttanon
ความหมายของเทคโนโลยีสารสȨทศ
ความหมายของเทคโนโลยีสารสȨทศ
Paweena Kittitongchaikul
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
-
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
Meaw Sukee

More Related Content

Viewers also liked (18)

การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loop
Know Mastikate
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
Know Mastikate
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 condition
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
Know Mastikate
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
Know Mastikate
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
Know Mastikate
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variable
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
Know Mastikate
C Programming
C Programming
Warawut
Structured Programming and Algorithm
Structured Programming and Algorithm
Satipattan Oband
การประกาศตัวแปรใȨาษาซี
การประกาศตัวแปรใȨาษาซี
mycomc55
การ๶ขียนโปรแกรม Dev c++
การ๶ขียนโปรแกรม Dev c++
Naowarat Jaikaroon
ตัวแปรในภาษาซี
ตัวแปรในภาษาซี
boky_peaw
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
Komkai Pawuttanon
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loop
Know Mastikate
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
Know Mastikate
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 condition
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
Know Mastikate
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
Know Mastikate
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
Know Mastikate
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variable
Know Mastikate
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
Know Mastikate
Structured Programming and Algorithm
Structured Programming and Algorithm
Satipattan Oband
การประกาศตัวแปรใȨาษาซี
การประกาศตัวแปรใȨาษาซี
mycomc55
การ๶ขียนโปรแกรม Dev c++
การ๶ขียนโปรแกรม Dev c++
Naowarat Jaikaroon
ตัวแปรในภาษาซี
ตัวแปรในภาษาซี
boky_peaw
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
Komkai Pawuttanon

Similar to 4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7 (20)

ความหมายของเทคโนโลยีสารสȨทศ
ความหมายของเทคโนโลยีสารสȨทศ
Paweena Kittitongchaikul
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
-
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
Meaw Sukee
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
nuknook
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
Passawan' Koohar
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
Kru.Mam Charoensansuay
บทที่ 2
บทที่ 2
pianojrtk
บทที่ 2
บทที่ 2
pianojrtk
Algorithm programming
Algorithm programming
Jaemjan Sriarunrasmee
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
nuknook
Programming
Programming
sa
การ๶ขียนโปรแกรมภาษา
การ๶ขียนโปรแกรมภาษา
ณัฐพล บัวพันธ์
03 โครงสร้างและผังงานโปรแกรม
03 โครงสร้างและผังงานโปรแกรม
pirapongaru
หลักการ๶ขียนโปรแกรม
หลักการ๶ขียนโปรแกรม
Phijittra Klintan
ใบความรู้๶ขียนโปรแกรม
ใบความรู้๶ขียนโปรแกรม
Phijittra Klintan
กระบวนการเทคโนโลยีสารสȨทศ
กระบวนการเทคโนโลยีสารสȨทศ
ABELE Snvip
ความหมายของเทคโนโลยีสารสȨทศ
ความหมายของเทคโนโลยีสารสȨทศ
Paweena Kittitongchaikul
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
-
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
Meaw Sukee
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
nuknook
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
Passawan' Koohar
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
การแก้ปัญหาด้วยกระบวȨาร๶ทคโนโลยีสารสȨทศ
Kru.Mam Charoensansuay
งานนำเสนอ1 คอม
งานนำเสนอ1 คอม
nuknook
Programming
Programming
sa
03 โครงสร้างและผังงานโปรแกรม
03 โครงสร้างและผังงานโปรแกรม
pirapongaru
หลักการ๶ขียนโปรแกรม
หลักการ๶ขียนโปรแกรม
Phijittra Klintan
ใบความรู้๶ขียนโปรแกรม
ใบความรู้๶ขียนโปรแกรม
Phijittra Klintan
กระบวนการเทคโนโลยีสารสȨทศ
กระบวนการเทคโนโลยีสารสȨทศ
ABELE Snvip
Ad

More from Know Mastikate (9)

MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
Know Mastikate
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointer
Know Mastikate
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematic
Know Mastikate
เอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-Digital
Know Mastikate
แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1
Know Mastikate
แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2
Know Mastikate
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
Know Mastikate
รายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.com
Know Mastikate
รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.com
Know Mastikate
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
Know Mastikate
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointer
Know Mastikate
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematic
Know Mastikate
เอกสาร Program C for Pc-Digital
เอกสาร Program C for Pc-Digital
Know Mastikate
แบบฟอร์มใบสมัครงาน แบบที่ 1
แบบฟอร์มใบสมัครงาน แบบที่ 1
Know Mastikate
แบบฟอร์มใบสมัครงาน แบบที่ 2
แบบฟอร์มใบสมัครงาน แบบที่ 2
Know Mastikate
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
ไฟล์ Presentation ประกอบรายงาน PHP - Know2Pro.co.cc
Know Mastikate
รายงาน Google Android - Know2pro.com
รายงาน Google Android - Know2pro.com
Know Mastikate
รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.com
Know Mastikate
Ad

4121103 การ๶ขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7

  • 1. บทที่ 2 ขั้นตอนวิธีกับการแก้ปัญหา 2.1 ความหมายของขั้นตอนวิธี 2.2 ขั้นตอนการทำางานของ โปรแกรม 2.3 โครงสร้างแฟ้มข้อมูล 2.4 การแสดงขั้นตอนวิธี 2.5 โครงสร้างโปรแกรม
  • 2. Copyright (c) 2006 by Sasalak Tongkaw2 COMPUTER PROGRAMMING AND ALGORITH ความหมายของขั้นตอนวิธี ขั้นตอนวิธี หรืออัลกอริทึ่ม (algorithm) หมายถึง ชุดคำาสั่ง หรือ คำาบอกกล่าว ที่สามารถเข้าใจได้ และมีความยาวจำากัด ซึ่งบอกถึง ระเบียบวิธีใน การแก้ไขปัญหาใดปัญหาหนึ่ง อย่างเป็นขั้นเป็น ตอนและชัดเจน ว่าทำาอย่างไร เมื่อป้อนอะไร เข้าไป จะได้ผลลัพธ์เช่นไร ขั้นตอนวิธีจะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำาซำ้าเป็นวงรอบ (iterate) มีการตัดสินใจโดยใช้ตรรกะ (logic) และ/หรือ การเปรียบเทียบ (comparison)
  • 3. Copyright (c) 2006 by Sasalak Tongkaw3 COMPUTER PROGRAMMING AND ALGORITH อัลกอริทึ่ม คำาว่า อัลกอริทึ่ม มีที่มาจากชื่อ ของนักคณิตศาสตร์ชาวเปอร์เซีย ในยุคศตวรรษที่ 9 ชื่อ อาบู อับดุลลา บิน มูซา อัล-ควาริ สมี (Abu Abdullah Muhammad bin Musa al- Khwarizmi) ซึ่งได้กลายเป็นคำา ว่า อัลกอริซึม หมายถึงกฎที่ใช้ในการคิด คำานวณเลขคณิต
  • 4. Copyright (c) 2006 by Sasalak Tongkaw4 COMPUTER PROGRAMMING AND ALGORITH ขั้นตอนการทำางานของโปรแกรม 1. เข้าใจปัญหา 2. วางแผนลำาดับขั้นตอนการ แก้ปัญหา 3. ๶ขียนโปรแกรม 4. แปลงโปรแกรมเป็นภาษา เครื่อง 5. ทดสอบโปรแกรม 6. นำาโปรแกรมไปใช้
  • 5. Copyright (c) 2006 by Sasalak Tongkaw5 COMPUTER PROGRAMMING AND ALGORITH เข้าใจปัญหา • ต้องการรายชื่อของพนักงานที่ ทำางานเกินกว่า 5 ปี • รายงานการขายประจำาปี 2547 • รายงานการขายประจำาเดือน มิถุนายน 2547 • รายงานการขายของพนักงานขาย ชื่อ สุนีย์ • รายงานการขายวันนี้
  • 6. Copyright (c) 2006 by Sasalak Tongkaw6 COMPUTER PROGRAMMING AND ALGORITH วางแผนลำาดับขั้นตอนการแก้ปัญหา • วางแผนลำาดับขั้นตอนของโปรแกรม • เครื่องมือที่ใช้อาจเป็นผังงาน (flowchart) และรหัสเทียมหรือรหัสลำาลอง (pseudocode) • นำาอินพุทเข้ามาเพื่อให้ได้เอาท์พุทที่ถูกต้อง
  • 7. Copyright (c) 2006 by Sasalak Tongkaw7 COMPUTER PROGRAMMING AND ALGORITH โค้ดเทียม • กำาหนดให้ค่าเงินเดือนเท่ากับ 0 • รับค่าเงินเดือนเข้ามา • ถ้าเงินเดือนมากกว่า 15,000 บาท ให้คิดภาษี 7% • ถ้าเงินเดือนน้อยกว่า หรือเท่ากับ 15,000 ให้คิดภาษี 3% • คำานวณเงินได้สุทธิโดยเอาเงิน เดือนลบด้วยภาษี • พิมพ์ค่าเงินเดือน ภาษี และเงิน ได้สุทธิหลังจากหักภาษี
  • 8. Copyright (c) 2006 by Sasalak Tongkaw8 COMPUTER PROGRAMMING AND ALGORITH ผังงาน • ผังงานหรือแผนภาพการไหลของ โปรแกรมมีสัญลักษณ์เบื้องต้นดัง ต่อไปนี้ การประมวลผลตัวเริ่ม/จบ การตัดสินใจ ข้อมูลเข้า/ออกตัวเชื่อม
  • 9. Copyright (c) 2006 by Sasalak Tongkaw9 COMPUTER PROGRAMMING AND ALGORITH ๶ขียนโปรแกรม • เลือกภาษาที่เหมาะสมกับงาน • ลงโค้ดโปรแกรม
  • 10. Copyright (c) 2006 by Sasalak Tongkaw10 COMPUTER PROGRAMMING AND ALGORITH แปลงโปรแกรมเป็นภาษาเครื่อง • ภาษาเครื่อง (Machine Language)มี 0 และ 1 เท่านั้น • การ Compile เป็นการเปลี่ยนจากโค้ดต้นฉบับ (Source Code) เป็นภาษาเครื่อง • ตัวแปลภาษามี 2 ชนิด – Compiler – Interpreter
  • 11. Copyright (c) 2006 by Sasalak Tongkaw11 COMPUTER PROGRAMMING AND ALGORITH ทดสอบโปรแกรม • ทดสอบการรันโปรแกรมโดยใช้ ข้อมูลจริง • โปรแกรมอาจมีข้อผิดพลาดได้ 2 แบบคือ • ผิดพลาดไวยกรณ์ • ผิดพลาดทางตรรกะ
  • 12. Copyright (c) 2006 by Sasalak Tongkaw12 COMPUTER PROGRAMMING AND ALGORITH ผิดพลาดทางตรรกะ • Get number • Answer = number *2 • Print Answer • Get number • Answer = number * 20 • Print Answer
  • 13. Copyright (c) 2006 by Sasalak Tongkaw13 COMPUTER PROGRAMMING AND ALGORITH นำาโปรแกรมไปใช้งาน • ติดตั้งโปรแกรม • ทดสอบการใช้งาน • อบรมการใช้งาน • ประเมินผลการใช้งาน
  • 14. Copyright (c) 2006 by Sasalak Tongkaw14 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างแฟ้มข้อมูล จำาแนกในรูปแบบ ตรรกะ • ตัว อักษร(Character) • เขตข้อมูล (Field) – แอททริบิวต์ของเอ็น ทิตี • ระเบียน (Record) • แฟ้มหรือไฟล์ (File) • ฐานข้อมูล
  • 15. Copyright (c) 2006 by Sasalak Tongkaw15 COMPUTER PROGRAMMING AND ALGORITH การแสดงขั้นตอนวิธี • ผังงาน • ภาษาขั้นตอนวิธี • ภาษาธรรมชาติ
  • 16. Copyright (c) 2006 by Sasalak Tongkaw16 COMPUTER PROGRAMMING AND ALGORITH ผังงาน (flowchart) • ผังงาน เป็นขั้นตอนวิธีที่เขียนโดยใช้รูป สัญลักษณ์ มีเส้นเชื่อมและหัวลูกศรบอกขั้น ตอนการทำางาน การเขียนขั้นตอนวิธีด้วยวิธี นี้เป็นที่นิยมมากกว่าแบบอื่น ๆ เนื่องจากมีเส้น ลากโยงใยทำาให้เห็นขั้นตอนการทำางานที่ ชัดเจน มีลูกศรกำากับทิศทางการทำางานช่วย ให้เข้าใจง่ายขึ้น และสามารถตรวจสอบความ ถูกต้องได้ง่าย • สัญลักษณ์ของผังงานดูในหนังสือ • ผังงานมี 2 ชนิด คือ – ผังงานระบบ (System Flowchart)
  • 17. Copyright (c) 2006 by Sasalak Tongkaw17 COMPUTER PROGRAMMING AND ALGORITH Salary =0 Income=0 Tax=0 Salary>1 5000 Begin Read Salary Tax=salary*3% Tax=salary*7% Yes No Income=salary-tax Print salary Print tax Print income End
  • 18. Copyright (c) 2006 by Sasalak Tongkaw18 COMPUTER PROGRAMMING AND ALGORITH ภาษาขั้นตอนวิธี • ตัวแปร • การกำาหนดค่า • นิพจน์ • GOTO • If-else • Repeat • comment
  • 19. Copyright (c) 2006 by Sasalak Tongkaw19 COMPUTER PROGRAMMING AND ALGORITH ตัวแปร • ตัวแปรหมายถึงสิ่งที่ใช้สำาหรับ การเก็บค่าต่างๆ ตัวอย่างเช่น salary, income,tax เป็นต้น • ส่วนมากมักจะกำาหนดค่าให้เป็น 0 ก่อนเริ่มโปรแกรมเสมอ Salary =0 Income=0 Tax=0
  • 20. Copyright (c) 2006 by Sasalak Tongkaw20 COMPUTER PROGRAMMING AND ALGORITH การกำาหนดค่า • มักใช้เครื่องหมาย หรือ เครื่องหมาย = เพื่อกำาหนดค่าให้ กับตัวแปร เช่น Salary =0 Income=0 Tax=0 Salary ← 0 Income ← 0 Tax ← 0
  • 21. Copyright (c) 2006 by Sasalak Tongkaw21 COMPUTER PROGRAMMING AND ALGORITH นิพจน์ (expression) • ( ) (วงเล็บ) • + (บวก) ∀ − (ลบ) • * (คูณ) • / (หาร) • ^ (ยกกำาลัง) • & (and) • | (or) • = • != หรือ <> • < • >
  • 22. Copyright (c) 2006 by Sasalak Tongkaw22 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างทางตรรกะ • โครงสร้างทางตรรกะ(logic structure) เชื่อมกันเป็น โครงสร้างทางตรรกะได้ 3 ลักษณะ ได้แก่ – ลำาดับ – ทางเลือก – วงวน
  • 23. Copyright (c) 2006 by Sasalak Tongkaw23 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างแบบลำาดับ(sequence structure) • เป็นรูปแบบการทำางานแบบทำาคำาสั่ง หนึ่งต่อจากอีกคำาสั่งหนึ่ง ดังภาพ • ตัวอย่างเช่น – กำาหนดให้ ค่าเงินเดือน = 0 – รับค่าเงินเดือนstatementstatementstatementstatement statementstatementstatementstatement
  • 24. Copyright (c) 2006 by Sasalak Tongkaw24 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างแบบทางเลือก(selection structure) • เป็นรูปแบบที่มีการตัดสินใจเลือก ข้อคำาสั่งที่จะทำาต่อไป • เช่น if-then-else ดังภาพ • โดยถ้าเงื่อนไขหลัง if เป็นจริง จะ ทำาหลัง then ถ้าเงื่อนไขเป็นเท็จ จะทำาหลัง else IfIf (test condition)(test condition) ThenThen (statement)(statement) ThenThen (statement)(statement) ElseElse (statement)(statement) ElseElse (statement)(statement)
  • 25. Copyright (c) 2006 by Sasalak Tongkaw25 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างแบบวงวน(loop structure) เรียกอีกชื่อหนึ่งว่า การวน ซ้ำ้า(iteration) มี 2 รูปแบบคือ do until และ do while loop เงื่อนไข yes no loop เงื่อนไข yes no
  • 26. Copyright (c) 2006 by Sasalak Tongkaw26 COMPUTER PROGRAMMING AND ALGORITH คำาอธิบาย (Comment) • คำาอธิบาย (comment) เป็น ข้อความที่อธิบายรายละเอียดของ ขั้นตอนการทำางาน ซ้ึ่งบาง ครั้งเราต้องการคำาอธิบายราย ละเอียดเพิ่มเติมเพื่อให้เข้าใจขั้น ตอนวิธีชัดเจนยิ่งขึ้น โดยต้อง เขียนอยู่ภายในเครื่องหมาย • /* comment */ • // comment
  • 27. Copyright (c) 2006 by Sasalak Tongkaw27 COMPUTER PROGRAMMING AND ALGORITH โครงสร้างโปรแกรม Main Compute-BillGet-Order Print-Bill Compute- Tax Compute- Discount
  • 28. END OF CHEPTER 2 ANY QUESTION ?

Editor's Notes

  • #24: &amp;lt;number&amp;gt;
  • #25: &amp;lt;number&amp;gt;
  • #26: &amp;lt;number&amp;gt;