หน่วย1 การออกแบบและการเขียนอัลกอริทึม.pptx

YanapathPathranawaru 4 views 49 slides Sep 08, 2025
Slide 1
Slide 1 of 49
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49

About This Presentation

การออกแบบและการเขียนอัลกอริทึม


Slide Content

ว 4.2 ม.1/1 ออกแบบอัลกอริทึมที่ใช้แนวคิดเชิงนามธรรมเพื่อแก้ปัญหาหรืออธิบายการทำงานที่พบในชีวิตจริง ว 4.2 ม.1/2 ออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อแก้ปัญหาทางคณิตศาสตร์หรือวิทยาศาสตร์

เป็นองค์ประกอบหนึ่งของ แนวคิดเชิงคำนวณ ( Computational Thinking ) เป็นแนวคิดที่ฝึกกระบวนการคิดอย่างเป็นระบบ สามารถกำหนดขั้นตอนการแก้ปัญหาได้อย่างชัดเจนผ่านกระบวนการพิจารณาส่วนที่เป็นสาระสำคัญ และแยกออกจากส่วนที่ไม่ใช่สาระสำคัญ จะทำให้ได้วิธีการแก้ปัญหาที่รวดเร็วขึ้น

จากภาพ มีรูปเรขาคณิตปะปนกันอยู่หลายรูป ถ้าต้องการคัดเลือกรูปสี่เหลี่ยมคางหมูออกจากรูปอื่น ๆ สามารถพิจารณารายละเอียดต่าง ๆ ที่เกี่ยวข้องกับปัญหาได้อย่างไร

เมื่อใช้แนวคิดเชิงนามธรรมพิจารณาภาพที่กำหนดและคุณสมบัติของรูปสี่เหลี่ยมคางหมู เพื่อหารูปสี่เหลี่ยมคางหมูที่ซ่อนอยู่ พบว่า รูปสี่เหลี่ยมคางหมูซ่อนอยู่จากรูปเรขาคณิตต่าง ๆ ทั้งทางตรงและทางอ้อม จำนวน 7 รูป

เมื่อใช้แนวคิดเชิงนามธรรมพิจารณาภาพที่กำหนดและคุณสมบัติของรูปสี่เหลี่ยมคางหมู เพื่อหารูปสี่เหลี่ยมคางหมูที่ซ่อนอยู่ พบว่า รูปสี่เหลี่ยมคางหมูซ่อนอยู่จากรูปเรขาคณิตต่าง ๆ ทั้งทางตรงและทางอ้อม จำนวน 7 รูป

เมื่อใช้แนวคิดเชิงนามธรรมพิจารณาภาพที่กำหนดและคุณสมบัติของรูปสี่เหลี่ยมคางหมู เพื่อหารูปสี่เหลี่ยมคางหมูที่ซ่อนอยู่ พบว่า รูปสี่เหลี่ยมคางหมูซ่อนอยู่จากรูปเรขาคณิตต่าง ๆ ทั้งทางตรงและทางอ้อม จำนวน 7 รูป

ให้นักเรียนเติมคำตอบที่หายไปให้ถูกต้องตามกติกาที่กำหนด

การติดต่อระหว่างคอมพิวเตอร์กับมนุษย์จำเป็นต้องใช้ภาษาเฉพาะหรือ ภาษาประดิษฐ์ ( Artificial Language ) เพื่อให้คอมพิวเตอร์สามารถเข้าใจภาษามนุษย์ และ ปฏิบัติตามคำสั่งของมนุษย์ได้ ภาษาคอมพิวเตอร์

10110000 01100001 00000000 print("Hello, World!") #include < stdio.h > int main() { printf ("Hello, World!\n"); return 0; } การใช้งานคอมพิวเตอร์จำเป็นต้องมีการกำหนดภาษาสำหรับใช้ติดต่อสั่งงานกับคอมพิวเตอร์

คือ การเขียนบรรยายอัลกอริทึมเพื่อลำดับขั้นตอนการทำงานก่อนหลัง โดยใช้ภาษามนุษย์ 1 เริ่มต้นการทำงาน 2 นำเข้าข้อมูล ความกว้างของรูปสี่เหลี่ยมผืนผ้า 3 นำเข้าข้อมูล ความยาวของรูปสี่เหลี่ยมผืนผ้า 4 คำนวณ พื้นที่ของรูปสี่เหลี่ยมผืนผ้า = ความกว้าง x ความยาว 5 แสดงผล พื้นที่ของรูปสี่เหลี่ยมผืนผ้า 6 จบการทำงาน

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

หลักเกณฑ์การเขียนรหัสลำลอง

คือ การเขียนลำลองคำสั่งจริงแบบย่อตามอัลกอริทึมของโปรแกรมระบบเพื่อลำดับขั้นตอนการทำงานก่อนหลัง

สามารถแสดงอัลกอริทึมโดยใช้รหัสลำลองได้ ดังนี้ OUTPUT average COMPUTE average =   STOP INPUT high3 INPUT high1 START INPUT high2 6 5 7 4 2 1 3 ให้นักเรียนเรียงลำดับรหัสลำลองเพื่อแสดงอัลกอริทึมการคำนวณหาความสูงเฉลี่ยของคนจำนวน 3 คน

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

การเขียนผังงานจะเขียนในลักษณะของบนลงล่าง หรือ ซ้ายไปขวาโดยมี รูปแบบการเขียนผังงาน 3 ลักษณะ รูปแบบการเขียนผังงาน

การเขียนผังงานจะเขียนในลักษณะของบนลงล่าง หรือ ซ้ายไปขวาโดยมี รูปแบบการเขียนผังงาน 3 ลักษณะ รูปแบบการเขียนผังงาน

การเขียนผังงานจะเขียนในลักษณะของบนลงล่าง หรือ ซ้ายไปขวาโดยมี รูปแบบการเขียนผังงาน 3 ลักษณะ รูปแบบการเขียนผังงาน

การเขียนผังงานจะเขียนในลักษณะของบนลงล่าง หรือ ซ้ายไปขวาโดยมี รูปแบบการเขียนผังงาน 3 ลักษณะ รูปแบบการเขียนผังงาน

คือ การเขียนภาพสัญลักษณ์เพื่อแสดงลำดับขั้นตอนการทำงานของอัลกอริทึมก่อนหลัง ตาม กระบวนการทางคอมพิวเตอร์ 3 กระบวนการ การเขียนอัลกอริทึมด้วยผังงาน

ภาษาธรรมชาติ รหัสลำลอง

เนื่องจากแนวคิดเชิงนามธรรมเป็นองค์ประกอบหนึ่งของแนวคิดเชิงคำนวณ ดังนั้น จำเป็นต้องดำเนินการตามขั้นตอน ดังนี้ แยกปัญหาใหญ่ให้เป็นปัญหาย่อย โดยในกรณีศึกษานี้ สามารถแยกปัญหาออกเป็นปัญหาย่อยได้ ดังนี้ ออกแบบอัลกอริทีมโดยใช้แนวคิดเชิงนามธรรม เพื่อแก้ปัญหาการปูหญ้าในสนามรูปสี่เหลี่ยมมุมฉากตามพื้นที่ ที่กำหนด โดยหญ้าหนึ่งผืนกว้าง 0.50 เมตร ยาว 0.50 เมตร และหญ้าแต่ละผืนเป็นสี่เหลี่ยมมุมฉาก จงระบุว่าจะต้องใช้หญ้าทั้งหมดกี่ผืน กรณีศึกษาการออกแบบและเขียนอัลกอริทึม 1) ปัญหาย่อยที่ 1 หาพื้นที่ต่าง ๆ ดังนี้ - หาพื้นที่สนาม - หาพื้นที่ของหญ้า 1 ผืน 2) ปัญหาย่อยที่ 2 หาจำนวนผืนหญ้าที่ใช้ปูพื้นสนาม Decomposition

กำหนดแบบแผนจากปัญหาย่อยต่าง ๆ จากข้อ โดยในกรณีศึกษานี้ สามารถกำหนดแบบแผนเป็นขั้นตอนได้ ดังนี้ Pattern Recognition 1) คำนวณหาพื้นที่ต่าง ๆ คือ พื้นที่สนาม และพื้นที่ของหญ้า 1 ผืน โดยในที่นี้สามารถคำนวณพื้นที่ใดก่อนก็ได้ 2) คำนวณหาจำนวนผืนหญ้า ซึ่งจำเป็นต้องได้ผลลัพธ์การคำนวณหาพื้นที่ต่าง ๆ จากขั้นตอนที่ 1) ก่อน จึงจะดำเนินการในขั้นตอนนี้ได้ โดยการคำนวณหาจำนวนผืนหญ้า สามารถคำนวณได้ ดังนี้

- หญ้าแต่ละผืนเป็นรูปสี่เหลี่ยมมุมฉาก ดังนั้น คำนึงเฉพาะสาระสำคัญของการคำนวณหาพื้นที่ ของรูปสี่เหลี่ยมมุมฉาก คือ พื้นที่หญ้า 1 ผืน = ความกว้าง x ความยาว โดยปกติ ความกว้างและความยาวของสนามจะวัดเป็นเมตร ดังนั้น ขนาดของหญ้าควรเป็นเมตร เพื่อให้เป็นหน่วยเดียวกัน และแนวคิดเชิงนามธรรมของปัญหา คือ พื้นที่ต่าง ๆ = ความกว้าง x ความยาว - สนามเป็นสี่เหลี่ยมมุมฉาก ดังนั้น คำนึงเฉพาะสาระสำคัญของการคำนวณหาพื้นที่ ของรูปสี่เหลี่ยมมุมฉาก คือ พื้นที่สนาม = ความกว้าง x ความยาว หาแนวคิดเชิงนามธรรม เพื่อหาแนวคิดรวบยอดของแต่ละปัญหาย่อย 1) หาแนวคิดเชิงนามธรรมของปัญหาย่อยที่ 1 Abstraction 2) หาแนวคิดเชิงนามธรรมของปัญหาย่อยที่ 2 3

Algorithm Design ออกแบบลำดับขั้นตอนการแก้ปัญหา โดยในกรณีศึกษานี้จะออกแบบเป็นอัลกอริทึม 3 รูปแบบ

ดังนี้ 1 เริ่มต้นการทำงาน 2 นำเข้าข้อมูล ความกว้างของสนาม 3 นำเข้าข้อมูล ความยาวของสนาม 4 คำนวณ พื้นที่ของสนาม = ความกว้าง x ความยาว 5 คำนวณ พื้นที่หญ้า 1 ผืน = 0.50 x 0.50 ตร.ม. 6 คำนวณ จำนวนผืนหญ้า = พท .สนาม + พท .หญ้า 1 ผืน 7 คำนวณ เพิ่มจำนวนหญ้าเสีย 10 % 8 แสดงผล จำนวนผืนหญ้า 9 จบการทำงาน Algorithm Design ออกแบบลำดับขั้นตอนการแก้ปัญหา โดยในกรณีศึกษานี้จะออกแบบเป็นอัลกอริทึม 3 รูปแบบ

ดังนี้ 1 START 2 INPUT Nwidth 3 INPUT Nlength 4 COMPUTE Narea = Nwidth x Nlength 5 COMPUTE Ngrass = 0.50 x 0.50 6 COMPUTE Nnumbersofgrass = Narea / Ngrass 7 COMPUTE Nnumbersofgrass = Nnumbersofgrass x 1.1 8 OUTPUT Nnumbersofgrass 9 STOP Algorithm Design ออกแบบลำดับขั้นตอนการแก้ปัญหา โดยในกรณีศึกษานี้จะออกแบบเป็นอัลกอริทึม 3 รูปแบบ

ดังนี้ START Nwidth Nlength Narea = Nwidth * Nlength Ngrass = 0.5 *0.5 Nnumbersofgrass = Narea / Ngrass Nnumbersofgrass = Nnumbersofgrass *1.1 Nnumbersofgrass STOP Algorithm Design ออกแบบลำดับขั้นตอนการแก้ปัญหา โดยในกรณีศึกษานี้จะออกแบบเป็นอัลกอริทึม 3 รูปแบบ

1 การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ (Natural Language) การบรรยายขั้นตอนการทำงานของอัลกอริทึมโดยใช้ภาษามนุษย์ เพื่ออธิบายถึงลำดับขั้นตอน การทำงานของอัลกอริทึมตามลำดับการทำงานก่อนหลัง

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

อ้างอิงจากกระบวนการทางคอมพิวเตอร์ 3 กระบวนการ 3 การเขียนอัลกอริทึมด้วยผังงาน ( Flowchart)

1 . เป็นการหาแนวคิดรวบยอดเพื่อใช้ในการแก้ปัญหา 2 . เป็นการแก้ปัญหาทางด้านคณิตศาสตร์และวิทยาศาสตร์ 3 . เป็นการแก้ปัญหาที่มองไม่เห็นเป็นรูปธรรม จับต้องไม่ได้ 4. เป็นการแยกแยะส่วนสาระสำคัญออกจากส่วนที่ไม่ใช่สาระสำคัญ 1 . เป็นการหาแนวคิดรวบยอดเพื่อใช้ในการแก้ปัญหา 2 . เป็นการแก้ปัญหาทางด้านคณิตศาสตร์และวิทยาศาสตร์ 3 . เป็นการแก้ปัญหาที่มองไม่เห็นเป็นรูปธรรม จับต้องไม่ได้ 4. เป็นการแยกแยะส่วนสาระสำคัญออกจากส่วนที่ไม่ใช่สาระสำคัญ 1. ลักษณะสำคัญของการใช้แนวคิดเชิงนามธรรมในการแก้ปัญหาคือข้อใด ให้นักเรียนเลือกคำตอบที่ถูกต้องที่สุดเพียงข้อเดียว เฉลย ข้อ 4 . เป็นการแยกแยะส่วนสาระสำคัญออกจากส่วนที่ไม่ใช่สาระสำคัญ แนวคิดเชิงนามธรรมเป็นแนวคิดที่ฝึกกระบวนการคิดอย่างเป็นระบบ โดยการประเมินความสำคัญ รายละเอียดของปัญหา แยกแยะส่วนที่เป็นสาระสำคัญออกจากส่วนที่ไม่ใช่สาระสำคัญ

1 . สีของผ้า 2 . ชนิดของผ้า 3 . ชนิดของอุปกรณ์ในการรีดผ้า 4. อุณหภูมิที่เหมาะสมสำหรับเนื้อผ้า 2. ข้อมูลใดไม่ใช่สาระสำคัญของการฝึกรีดผ้า เมื่อพิจารณาโดยใช้ แนวคิดเชิงนามธรรม 4. อุณหภูมิที่เหมาะสมสำหรับเนื้อผ้า 3 . ชนิดของอุปกรณ์ในการรีดผ้า 2 . ชนิดของผ้า 1 . สีของผ้า เฉลย ข้อ 1. สีของผ้า สาระสำคัญของการฝึกรีดผ้า คือ การพิจารณาชนิดของผ้า ชนิดของอุปกรณ์ในการรีดผ้า และอุณหภูมิที่เหมาะสมสำหรับเนื้อผ้า ซึ่งข้อมูลสีของผ้าถือว่าไม่ใช่สาระสำคัญที่จำเป็นสำหรับการฝึกรีดผ้า

1 . ผังงาน 2 . ภาษาสื่อสาร 3 . ภาษาธรรมชาติ 4. ภาษาคอมพิวเตอร์ 3. คำสั่ง “คำนวณพื้นที่สี่เหลี่ยมผืนผ้า = กว้าง × ยาว” เป็นการเขียนอัลกอริทึมแสดงขั้นตอนในรูปแบบใด 4. ภาษาคอมพิวเตอร์ 1 . ผังงาน 2 . ภาษาสื่อสาร 3 . ภาษาธรรมชาติ เฉลย ข้อ 3. ภาษาธรรมชาติ คำสั่ง “คำนวณพื้นที่สี่เหลี่ยมผืนผ้า = กว้าง × ยาว” ถือว่าเป็นการเขียนอัลกอริทึมแสดงขั้นตอนในรูปแบบของภาษาธรรมชาติ

4. 2. -> 6. -> 7 . -> 3. -> 4 . -> 5. -> 8. -> 1. 3. 2. -> 6. -> 4. -> 3. -> 7. -> 5. -> 8. -> 1. 2. 2. -> 5. -> 4. -> 3. -> 7. -> 6. -> 8. -> 1. 1. 2. -> 5. -> 6. -> 4. -> 3. -> 7. -> 8. -> 1. 4. 2. -> 6. -> 7 . -> 3. -> 4 . -> 5. -> 8. -> 1. 3. 2. -> 6. -> 4. -> 3. -> 7. -> 5. -> 8. -> 1. 1. 2. -> 5. -> 6. -> 4. -> 3. -> 7. -> 8. -> 1. 4 . ข้อใดเรียงลำดับอัลกอริทึมแสดงขั้นตอน การทำงานโดยใช้ภาษาธรรมชาติได้ถูกต้อง 4. 4 ข้อความ 1. จบการทำงาน 2. เริ่มต้นการทำงาน 3. รอคุณพ่อมารับที่โรงเรียน 4. ถ้าเลิกเรียนหลังคุณพ่อเลิกงาน 5. ดูนาฬิกา 6. โทรศัพท์บอกคุณพ่อให้ทราบ 7. ถ้าเลิกเรียนก่อนคุณพ่อเลิกงาน 8. เดินทางกลับเอง ภาษาธรรมชาติ ( Natural Language) 2. 2. -> 5. -> 4. -> 3. -> 7. -> 6. -> 8. -> 1. เฉลย ข้อ 2. 2. -> 5. -> 4. -> 3. -> 7. -> 6. -> 8. -> 1. จากข้อมูลดังกล่าว สามารถเรียงลำดับอัลกอริทึมแสดงขั้นตอนการทำงานโดยใช้ภาษาธรรมชาติได้ ดังนี้ 1. เริ่มต้นการทำงาน 2. ดูนาฬิกา 3. ถ้าเลิกเรียนหลังคุณพ่อเลิกงาน 4. รอคุณพ่อมารับที่โรงเรียน 5. ถ้าเลิกเรียนก่อนคุณพ่อเลิกงาน 6. โทรศัพท์บอกคุณพ่อให้ทราบ 7. เดินทางกลับเอง 8. จบการทำงาน

4. OUTPUT, END, DISPLAY 3. GET, WRITE, OUTPUT 2. START , STOP , BEGIN 1. END , SHOW , PRINT 1. END , SHOW , PRINT 2. START , STOP , BEGIN 4. OUTPUT, END, DISPLAY 3. GET, WRITE, OUTPUT 5. รหัสลำลองในข้อใดถือว่าเป็นประเภทเดียวกันทั้งหมด เฉลย ข้อ 2. START , STOP , BEGIN START , STOP , BEGIN เป็นรหัสลำลองในกลุ่มประเภทการเริ่มต้นโปรแกรม ( Terminate)

4. COMPUTE sum = number 1 + number 2 3. COMPUTE number 1 and number 2 2. COUNT number 1 = number 2 1. COUNT = number 1 and 2 6. รหัสลำลองของการคำนวณหาผลรวมของเลข 2 จำนวน คือข้อใด 1. COUNT = number 1 and 2 2. COUNT number 1 = number 2 4. COMPUTE sum = number 1 + number 2 3. COMPUTE number 1 and number 2 เฉลย ข้อ 4. COMPUTE sum = number 1 + number 2 คำสั่ง COMPUTE sum = number 1 + number 2 คือการคำนวณหาผลรวมเมื่อนำจำนวน ที่ 1 + จำนวนที่ 2

4. การบรรยาย ( Narrative Description) 3. รหัสลำลอง ( Pseudocode) 2. ผังงาน ( Flowchart) 1. ฟังก์ชัน ( Function) 7. ข้อใดเป็นลักษณะของการใช้รูปภาพสัญลักษณ์แทนขั้นตอนการเขียนโปรแกรม 1. ฟังก์ชัน ( Function) 4. การบรรยาย ( Narrative Description) 3. รหัสลำลอง ( Pseudocode) 2. ผังงาน ( Flowchart) เฉลย ข้อ 2 . ผังงาน ( Flowchart) การเขียนผังงาน คือ การเขียนแผนภาพที่มีการใช้สัญลักษณ์ รูปภาพ และลูกศร แสดงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ

1. , 2. , 3. , 4. , 8 . อัลกอริทึมแบบผังงานควรเริ่มต้นและสิ้นสุดด้วยสัญลักษณ์ใดตามลำดับ 1. , 2. , 3. , 4. , เฉลย ข้อ 2. การแสดงอัลกอริทึมโดยใช้ผังงาน ควรใช้สัญลักษณ์ ในการแสดงคำสั่งเริ่มต้นและสิ้นสุด ,

4. การออกแบบโปรแกรม 3. การวิเคราะห์ระบบ 2. การเขียนโปรแกรม 1. การจัดทำเอกสาร 9 . การเขียนผังงานควรอยู่ในขั้นตอนใดของการพัฒนาโปรแกรม 1. การจัดทำเอกสาร 2. การเขียนโปรแกรม 4. การออกแบบโปรแกรม 3. การวิเคราะห์ระบบ เฉลย ข้อ 4. การออกแบบโปรแกรม การเขียนผังงานอยู่ในขั้นตอนการออกแบบโปรแกรม เพราะ การเขียนผังงานเป็นการใช้ภาพสัญลักษณ์แสดงขั้นตอนการทำงานตั้งแต่เริ่มต้นจนจบการทำงานเพื่อให้ได้ผลลัพธ์ตามที่ต้องการก่อนที่จะลงมือเขียนโปรแกรมจริง

4. เลือกกระทำ/เงื่อนไข ( Selection/Condition) 3. เรียงลำดับ ( Sequence) 2. โครงสร้าง ( Structure) 1. ทำซ้ำ ( Loop) 1. ทำซ้ำ ( Loop) 2. โครงสร้าง ( Structure) 4. เลือกกระทำ/เงื่อนไข ( Selection/Condition) 3. เรียงลำดับ ( Sequence) 10 . “ขั้นตอนการทำงานที่มีการเปรียบเทียบเพื่อเลือกกระทำเพียง 1 ครั้ง” จากข้อความดังกล่าว ถือว่าเป็นการเขียนผังงานในรูปแบบใด เฉลย ข้อ 4. เลือกกระทำ/เงื่อนไข ( Selection/Condition) การเขียนผังงานแบบเลือกกระทำ/เงื่อนไข เป็นการเขียนผังงานที่มีการเปรียบเทียบเพื่อเลือกกระทำเพียง 1 ครั้งตามเงื่อนไขที่ได้กำหนดไว้
Tags