SlideShare a Scribd company logo
1 of 30
หลัก
การ
แก้
ปัญหา
พื้นฐานการแก้ปัญหา
ด้วยคอมพิวเตอร์
Introduction to
Problem Solving
บทที่ 1
จุดประสงค์การเรียนรู้
1.เพื่อให้นักเรียนเข้าใจหลักการแก้ปัญหา
ด้วยคอมพิวเตอร์
2. เพื่อให้นักเรียนสามารถเขียนขั้นตอน
การแก้ปัญหา โดยใช้ผังงานได้
พื้นฐานการแก้ปัญหาด้วย
คอมพิวเตอร์
การทางานของเครื่องคอมพิวเตอร์จะทา
ตามโปรแกรมที่เขียนขึ้นมาทุกประการ ดังนั้น
การนาเครื่องคอมพิวเตอร์มาช่วยสาหรับการ
แก้ปัญหาจึงจาเป็นต้องมีโปรแกรมสาหรับการ
แก้ปัญหานั้น เพื่อสั่งให้เครื่องคอมพิวเตอร์
ทางานตามต้องการ ผู้ที่ทาการเขียนโปรแกรมจึง
ต้องทราบถึงวิธีการของการแก้ปัญหาที่ต้องการ
แก้ไขปัญหานั้นทุกขั้นตอน จากนั้นจึงนามาเรียบ
เรียงเป็นลาดับขั้นตอนวิธีการทางานตั้งแต่
ขั้นตอนแรกจนถึงขั้นตอนสุดท้าย แล้วนา
ขั้นตอนวิธีที่ได้เรียบเรียงนั้น มาเขียนเป็น
โปรแกรมคอมพิวเตอร์ต่อไป
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
ขั้นตอนของการวิเคราะห์ปัญหาสาหรับ
เตรียมการก่อนลงมือเขียน
โปรแกรมคอมพิวเตอร์ มี 5 ขั้นตอนดังนี้
 การทาความเข้าใจกับปัญหา
(State the problem clearly)
 การพิจารณาลักษณะของข้อมูลเข้าและข้อมูล
ออก
(Describe the input and output)
 การทดลองแก้ไขปัญหาด้วยตนเอง
(Work the problem by hand for a specific
set of data)
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
การเขียนขั้นตอนวิธีการแก้ปัญหา
(Develop an algorithm that is
general in nature)
 เขียนลาดับขั้นตอนวิธีการทางานทั้งหมดอย่าง
ย่อ
 เขียนลาดับขั้นตอนวิธีการทางานอย่างละเอียด
 วิธีการเขียนลาดับขั้นตอนวิธี
Pseudo code เขียนขั้นตอนวิธีด้วย
ภาษาที่ใกล้เคียงภาษาคอมพิวเตอร์
Flowcharts เขียนขั้นตอนวิธีด้วย
รูปภาพผังงาน
การทดสอบขั้นตอนวิธีการแก้ปัญหา
(Test the algorithm with a variety of
data sets)
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
ตัวอย่าง ขั้นตอนวิธีการแก้ปัญหาด้วย
คอมพิวเตอร์
จงเขียนขั้นตอนวิธีการแก้ปัญหา
สาหรับการหาปริมาตรทรงกระบอก
โดยรับข้อมูลของความสูง และรัศมีของ
วงกลมที่เป็นฐานของทรงกระบอก
จากนั้นแสดงค่าของปริมาตร
ทรงกระบอกที่คานวณได้
ปริมาตรทรงกระบอก =  x r2 x h
h
r
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
 ขั้นตอนที่ 1 ทาความเข้าใจกับปัญหา
การคานวณหาปริมาตรของรูปทรงกระบอก
 ขั้นตอนที่ 2 ลักษณะของข้อมูลเข้าและข้อมูล
ออก
ข้อมูลเข้า คือ ความสูงของทรงกระบอก และ
รัศมีของวงกลมที่เป็นฐานของ
ทรงกระบอก ชนิดของข้อมูลเข้าความสูง และรัศมี
ของวงกลมที่เป็นฐานของ
ทรงกระบอกเป็นข้อมูลชนิดตัวเลข
ข้อมูลออก คือ ค่าของปริมาตรทรงกระบอก
ชนิดของข้อมูลเป็นข้อมูลตัวเลข
เป็นตัวเลขจานวนเต็มหรือตัวเลขทศนิยมขึ้นอยู่
กับวิธีการหาคาตอบ
2.1 ขั้นตอนการนา
คอมพิวเตอร์มาใช้ในการ
แก้ปัญหา
 ขั้นตอนที่ 3 ทดลองแก้ไขปัญหาด้วยตนเอง
การคานวณหาปริมาตรทรงกระบอก หาได้
จากสูตร
ปริมาตรทรงกระบอก
=  x รัศมี ยกกาลัง 2 x ความสูง
ถ้า รัศมีของฐาน = 5 หน่วย
ความสูง = 12 หน่วย
ปริมาตรทรงกระบอก= 3.14159 x 52 x 12
= 942.48 หน่วย3
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
 ขั้นตอนที่ 4 การพัฒนาลาดับขั้นตอนวิธีการ
แก้ปัญหา
เขียนอธิบายขั้นตอนวิธีการทางานทั้งหมด
อย่างย่อ
1. เริ่มต้น
2. รับค่าความสูง และรัศมีของฐาน
ทรงกระบอก
3. คานวณค่าปริมาตรทรงกระบอก
 * รัศมีของฐาน2 * ความสูง
4. แสดงค่าของปริมาตรทรงกระบอก
5. จบการทางาน
เขียนอธิบายขั้นตอนวิธีการทางานอย่าง
ละเอียด
การคานวณหาปริมาตรของทรงกระบอก
การแก้ปัญหาไม่ได้ซับซ้อนมาก สามารถ
อธิบายแบบอย่างย่อและได้ครบทุกขั้นตอน
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
 ขั้นตอนที่ 4 การพัฒนาลาดับขั้นตอนวิธีการแก้ปัญหา
รหัสเทียม (Pseudo Code)
1. Begin
2. Read High, Radius
เครื่องคอมพิวเตอร์จะรอรับข้อมูล 2 ค่า คือ
ความสูงและรัศมีของฐาน
3. Volume  3.14159 * Radius2 * High
คานวณหาค่าปริมาตรตามสูตรและเก็บ
ผลลัพธ์ไว้
4. Write Volume
แสดงผลลัพธ์ของปริมาตรทรงกระบอกที่ได้
5. End
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
 ขั้นตอนที่ 4 การพัฒนาลาดับขั้นตอนวิธีการ
แก้ปัญหา
ผังงาน (Flowchart)
Start
End
Input High, Radius
Volume  3.14159 * Radius2 * High
Output Volume
2.1 ขั้นตอนการนาคอมพิวเตอร์
มาใช้ในการแก้ปัญหา
ขั้นตอนที่ 5 การทดสอบขั้นตอนวิธีการ
แก้ปัญหา
1. Begin เป็นส่วนของการบอกการเริ่มต้นของ
ขั้นตอน
2. Read High, Radius
เครื่องคอมพิวเตอร์จะรอรับข้อมูล 2 ค่า ป้อนค่า
ความสูง = 12 และรัศมีของฐาน = 5
3. Volume  3.14159 * Radius2 * High
คานวณหาค่าปริมาตรตามสูตร = 3.14159 * 52 *
12 = 942.48 ลูกบาศก์หน่วย
4. Write Volume
แสดงค่าของปริมาตรทรงกระบอกที่คานวณได้ คือ
942.48 ลูกบาศก์หน่วย
5. End เป็นส่วนของการบอกการสิ้นสุดของ
ขั้นตอนทั้งหมด
จากการทดสอบตามลาดับขั้นตอนวิธีการ
ทางานทางานได้อย่างถูกต้อง
2.2 ผังงาน
ผังงาน คือ การเขียนอธิบายขั้นตอนวิธีการ
ทางานในลักษณะของรูปภาพ
ประโยชน์ของผังงาน
ใช้สาหรับช่วยในการพัฒนาลาดับขั้นตอน
วิธีการแก้ปัญหา เนื่องจาก
ผังงานเป็นการอธิบายขั้นตอนวิธีการทางานใน
ลักษณะของรูปภาพ ทาให้
สามารถเห็นลาดับของขั้นตอนวิธีการทางานได้
ชัดเจนกว่าการอธิบายขั้น ตอนวิธี การทางาน
ในลักษณะของข้อความ
Start
End
Input High, Radius
Volume  3.14159 * Radius2 * High
Output Volume
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
 จุดเริ่มต้น และจุดสิ้นสุดของผังงาน
 การกาหนดค่า การคานวณ และการ
ประมวลผล
5N
22
BAX 
Start End
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
การรับข้อมูลเข้า และการนาข้อมูลออก
 การรับข้อมูลเข้าทางแป้นพิมพ์
ReadA,B WriteAns
A,B
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
 การแสดงผลข้อมูลออกทางจอภาพ
 การแสดงผลข้อมูลออกทางเครื่องพิมพ์
ANS
ANS
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
 การติดต่อกับอุปกรณ์ที่เป็นการเข้าถึงข้อมูล
แบบลาดับ
 การติดต่อกับอุปกรณ์ที่เป็นการเข้าถึงข้อมูล
แบบตรง
X>15Y N
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
การตัดสินใจ
การแสดงทิศทางการทางานของผังงาน
X A2+B2
ReadA,B
2.2 ผังงาน
สัญลักษณ์สาหรับการเขียนผังงาน
 จุดต่อภายในหน้าเดียวกัน
 จุดต่อระหว่างหน้า
1 1
1 1
2.2 ผังงาน
ลักษณะการเขียนผังงาน
 ทุกผังงานต้องมีจุดเริ่มต้นและจุดสิ้นสุด
เพียงอย่างละหนึ่งแห่งเท่านั้น
 ทุกสัญลักษณ์ของผังงานต้องมีลูกศรชี้ทิศ
ทางเข้า และลูกศรชี้ทิศทางออกอย่างละหนึ่ง
ลูกศร ยกเว้นสัญลักษณ์จุดเริ่มต้น
จุดสิ้นสุด การตัดสินใจ และ จุดต่อ
 สัญลักษณ์จุดเริ่มต้นมีเฉพาะลูกศรชี้ทิศ
ทางออก สัญลักษณ์จุดสิ้นสุดมีเฉพาะลูกศร
ชี้ทิศทางเข้า
 สัญลักษณ์การตัดสินใจมีลูกศรชี้ทิศทางเข้า
1 ทิศทาง มีลูกศรชี้ทิศทางออก 2 ทิศทาง
2.2 ผังงาน
ลักษณะการเขียนผังงาน
 ทิศทางของลาดับขั้นตอนการทางาน นิยม
เขียนจากบนลงล่างหรือจากซ้ายไปขวา
 เส้นของลูกศรที่ใช้บอกทิศทางของลาดับ
ขั้นตอนวิธีการทางาน ไม่ควรเขียนตัดกัน
หรือทับกัน
 ไม่ควรเขียนเส้นของลูกศรเพื่อทาการ
เชื่อมโยงลาดับขั้นตอนที่อยู่ห่างกันมาก
หากจาเป็นควรใช้สัญลักษณ์จุดต่อแทน
 การเขียนผังงานส่วนของการกาหนดค่า
หรือการคานวณค่า นิยมใช้เครื่อง หมาย
ลูกศร () แทนการใช้เครื่องหมายเท่ากับ
2.2 ผังงาน
ตัวอย่างผังงาน
START
Input
Celcius
Fahrenheit (Celsius*9/5) + 32
write
Fahrenheit
END
Start
ANS 0
ReadN
N>0
ANS ANS+N
N<0
WriteAns
End
N Y
N Y
2.3 ลักษณะโครงสร้างผังงาน
การเขียนผังงานใช้สาหรับช่วยใน
การเขียนลาดับของขั้นตอนวิธี การแก้
ปัญหา หลังจากเขียนผังงานที่ใช้สาหรับ
แก้ปัญหาเรียบร้อยแล้ว ขั้นตอนต่อไป
คือการเปลี่ยนจากผังงาน ให้เป็น
ขั้นตอนวิธีในลักษณะของข้อความ
จากนั้นทาการเขียนเป็นรหัสเทียม และ
โปรแกรมต่อไป
ลักษณะโครงสร้างผังงานที่สามารถ
นาไปเขียนเป็นขั้นตอนวิธีการทางาน
และรหัสเทียม สามารถเขียนได้ 3
ลักษณะดังนี้คือ
1. การทางานแบบลาดับ
2. การทางานแบบเลือกทา
3. การทางานแบบทาซ้า
2.3 ลักษณะโครงสร้างผังงาน
1. การทางานแบบลาดับ ตัวอย่างผังงานดังนี้
2. การทางานแบบเลือกทา ตัวอย่างผังงาน
ดังนี้
3. การทางานแบบทาซ้า ตัวอย่างผังงานดังนี้
Start
Reada,b
Writex
End
22
bax 
a>0Y N
Start
Reada
15*ax )15(* ax
Writex,a
End
5aa
a a+1
a<10
Y
N
Start
Writea End
a 1
a<10 YN
Start
End
1a
Writea
1aa
1 2 3
2.3 ลักษณะโครงสร้างผังงาน
 โครงสร้างผังงานการทางานแบบลาดับ
 เป็นลักษณะโครงสร้างพื้นฐานของผังงานทุก
ผังงาน
 การทางานของโครงสร้างผังงานแบบลาดับจะ
ทางานที่ละขั้นตอน
 ลาดับการทางานของผังงานจะทางานตาม
ทิศทางของลูกศร
จากรูป
ขั้นตอนการทางานของผังงาน
เริ่มจากการทางาน
ในกระบวนการที่ 1 (Process 1)
เมื่อทางานในกระบวนการที่ 1เสร็จ
ขั้นตอนต่อไปคือทางานในกระบวนการที่ 2
เมื่อทางานในกระบวนการที่ 2 เสร็จแล้ว
จึงทางานในกระบวนการที่ 3 เป็น
ขั้นตอนต่อไป
Process1
Process2
Process3
2.3 ลักษณะโครงสร้างผังงาน
ตัวอย่าง ผังงานการทางานแบบลาดับ
1. เริ่มต้นการทางาน
2. รับค่าข้อมูลเข้ามาเก็บไว้ใน
ตัวแปร a และตัวแปร b
3. คานวณค่า a2 + b2 ไปเก็บ
ไว้ในตัวแปร x
4. แสดงค่าในตัวแปร x
5. สิ้นสุดการทางาน
Start
Reada,b
Writex
End
22
bax 
2.3 ลักษณะโครงสร้างผังงาน
การอธิบายขั้นตอน
วิธีการทางาน
สัญลักษณ์ของผังงาน
เริ่มต้นการทางาน
จบการทางาน
รับค่า Data
แสดงค่าของ Data
กาหนดค่าให้ Sum มีค่า
เท่ากับ 0
คานวณค่า Answer
เท่ากับ X2+Y2
แสดงค่าของ Answer
Start
End
Readdata
Writedata
Sum 0
Answer X2+Y2
Answer
2.3 ลักษณะโครงสร้างผังงาน
การอธิบายขั้นตอนวิธีการ
ทางาน
รหัสเทียม
เริ่มต้นการทางาน Start หรือ Begin
จบการทางาน Stop หรือ End
รับค่า Data Read Data หรือ Input Data
แสดงค่าของ Data Write Data หรือ Output Data
กาหนดค่าให้ Sum มีค่า
เท่ากับ 0
Sum  0
คานวณค่า Answer เท่ากับ
X2+Y2 Answer  X2 + Y2
แสดงค่าของ Answer
Write Answer หรือ Output
Answer
นางสาวนันท์นภัส ชะฏาจิตร
โรงเรียนเสาไห้ “วิมลวิทยานุกูล”
จังหวัดสระบุรี

More Related Content

Viewers also liked

หลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมหลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมNunnaphat Chadajit
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาNunnaphat Chadajit
 
การสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comการสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comNunnaphat Chadajit
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาNunnaphat Chadajit
 
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทNunnaphat Chadajit
 

Viewers also liked (16)

Dev cusing (1)
Dev cusing (1)Dev cusing (1)
Dev cusing (1)
 
Import sound in_flash
Import sound in_flashImport sound in_flash
Import sound in_flash
 
หลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรมหลักการแก้ปัญหาและการพัฒนาโปรแกรม
หลักการแก้ปัญหาและการพัฒนาโปรแกรม
 
Work1
Work1Work1
Work1
 
C oho ipst
C oho ipstC oho ipst
C oho ipst
 
Add widget
Add widgetAdd widget
Add widget
 
Introduction toc
Introduction tocIntroduction toc
Introduction toc
 
Ch2
Ch2Ch2
Ch2
 
Mid2 2556
Mid2 2556Mid2 2556
Mid2 2556
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญา
 
Score1 57update
Score1 57updateScore1 57update
Score1 57update
 
การสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.comการสมัครใช้งานบล็อกที่ www.wordpress.com
การสมัครใช้งานบล็อกที่ www.wordpress.com
 
Grade1-57
Grade1-57Grade1-57
Grade1-57
 
Test flowchart
Test flowchartTest flowchart
Test flowchart
 
ทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญา
 
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บทตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
ตัวอย่างรูปเล่ม โครงงานคอมพิวเตอร์ 5 บท
 

Similar to Introduction to problem_solving

งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมnuknook
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมnuknook
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศPaweena Kittitongchaikul
 
บทที่ 2 การแก้ปัญหา
บทที่ 2 การแก้ปัญหาบทที่ 2 การแก้ปัญหา
บทที่ 2 การแก้ปัญหาrussana
 
แบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานแบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานAmonrat Tabklang
 
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นเสย ๆๆๆๆ
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1bpatra
 
โครงงาน
โครงงานโครงงาน
โครงงานknokrat
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 

Similar to Introduction to problem_solving (20)

งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
1
11
1
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
ใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรมใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรม
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศ
 
บทที่ 2 การแก้ปัญหา
บทที่ 2 การแก้ปัญหาบทที่ 2 การแก้ปัญหา
บทที่ 2 การแก้ปัญหา
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
แบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงานแบบทดสอบหน่วยที่ 1 ผังงาน
แบบทดสอบหน่วยที่ 1 ผังงาน
 
คอมทรงสัก1
คอมทรงสัก1คอมทรงสัก1
คอมทรงสัก1
 
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้น
 
Flow Chart
Flow ChartFlow Chart
Flow Chart
 
ใบความรู้ที่ 3.2
ใบความรู้ที่ 3.2ใบความรู้ที่ 3.2
ใบความรู้ที่ 3.2
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
โครงงาน
โครงงานโครงงาน
โครงงาน
 
Auto cad all
Auto cad allAuto cad all
Auto cad all
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 

Introduction to problem_solving