top of page
processing.png

2. การคิดแบบคอมพิวเตอร์ และการออกแบบขั้นตอนวิธี

1. เปรียบเทียบการทำงานของ  มนุษย์ กับ คอมพิวเตอร์

1.2.png

มนุษย์มีการทำงานผ่านสมอง ประกอบด้วย 3 ขั้นตอน คือ...

1.1.png
1.3.png

คอมพิวเตอร์จะทำงานผ่านโปรแกรมคอมพิวเตอร์  ประกอบด้วย 3 ขั้นตอน คือ...

1.4.png

เปรียบเทียบการทำงานของ  มนุษย์ กับ คอมพิวเตอร์

1.5.png

ตัวอย่างการเปรียบเทียบการทำงาน

1.6.png

2. การออกแบบขั้นตอนวิธีในการแก้ปัญหาด้วยผังงาน (Flowchart)

01

ความหมายของผังงาน

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

02

ทำไมเราควรออกแบบผังงาน

• ถูกใช้ในการออกแบบเพื่อช่วยให้เห็นภาพสิ่งที่เกิดขึ้น

• ช่วยให้เข้าใจกระบวนการทำงาน

• ช่วยให้เข้าใจในงานตรงกันระหว่างที่ผู้เกี่ยวข้อง เนื่องจากคำพูด หรือ ข้อความ อาจเกิดความเข้าใจผิดได้

• อาจช่วยหาข้อบกพร่องภายในงานอีกด้วย เช่น ปัญหาคอขวด (ปัญหาที่มีงานไปกองที่ส่วนใดส่วนหนึ่งและส่วนอื่นเกิดการรอ) เป็นต้น

03

สัญลักษณ์ผังงาน

       ในการเขียนผังงานจะต้องใช้รูปภาพ หรือสัญลักษณ์ มาใช้แทนขั้นตอนการทำงานของโปรแกรม ลักษณะของรูปภาพ หรือสัญลักษณ์ จะมีความหมายในตัวของมันเอง ซึ่งมีหน่วยงานที่ชื่อ American National Standard Institvte (ANSI)  และ Internation  Standard Organization (ISO) ได้รวบรวมและกำหนดให้เป็นสัญลักษณ์มาตรฐานที่จะใช้ในการเขียนผังงาน และผังงานระบบ เพื่อให้เข้าใจตรงกันดังต่อไปนี้

2.1.png
2.2.png
2.3.png
2.5.png
2.6.png
2.4.png
2.7.png

ผังงานในชีวิตประจำวัน   วิธีการต้มมาม่า(แบบถ้วย)

2.8.png

ผังงานของระบบรดน้ำต้นไม้อัตโนมัติ

2.9.png

04

2.10.png

การสร้างเงื่อนไขด้วยตัวดำเนินการทางตรรกะ

        เงื่อนไขบางเงื่อนไข เช่น “รถยนต์มีความเร็วที่เหมาะสม” เป็นเงื่อนไขที่ระบุด้วยประโยคที่ชัดเจน ในการออกแบบขั้นตอนวิธีเราสามารถใช้เงื่อนไขแบบนี้ได้... แต่ในบางครั้งระหว่างที่เราวิเคราะห์เงื่อนไขเหล่านี้มักพบว่า เงื่อนไขที่มักระบุด้วยประโยคประมาณนี้มักประกอบไปด้วยเงื่อนไขย่อยๆอีกที เช่น “รถยนต์มีความเร็วที่เหมาะสม” อาจหมายถึงการขับในความเร็ว มากกว่า 40 km/hr แต่ไม่เกิน 90 km/hr สังเกตได้ว่า เงื่อนไขนี้ประกอบด้วยสองเงื่อนไขย่อย และเชื่อมกันด้วยตัวดำเนินการตรรกะ “และ”(AND) 

2.11.png

ตัวดำเนินการทางตรรกะ เป็นตัวดำเนินการเกี่ยวข้องกับนิพจน์ที่สามารถบอกค่าความจริงเป็นจริง(true) หรือเท็จ (false)ได้ หรือชนิดข้อมูลตรรกะ เช่น ตัวแปรประเภท boolean ผลลัพธ์ที่ได้จากการกระทำจะได้ค่าคงที่ตรรกะเป็น true หรือ false ตัวดำเนินการทางตรรกะ ได้แก่เครื่องหมาย !, &&, &, ||, |, ^  มีตัวอย่างการใช้งานดังนี้

2.12.png
2.13.png

ตัวอย่าง การสร้างผังงานเงื่อนไขด้วยตัวดำเนินการทางตรรกะ ของระบบตรวจสอบความเร็วที่เหมาะสมของรถยนต์

2.14.png

05

การทำซ้ำ

       การทำงานแบบวนซ้ำ (Loop)เป็นการนำคำสั่งมาทำงานซ้ำหลายๆ รอบ จะทำงานกี่รอบขึ้นอยู่กับเงื่อนไขที่กำหนดไว้ ซึ่งอาจจะเป็นการกำหนดจำนวนรอบที่แน่นอน เช่น

ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ

คือรู้แน่นอนว่าจะทำงานกี่รอบ

2.15.jpg

ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ

2.16.jpg

        สิ่งที่สำคัญสำหรับการทำงานแบบวนซ้ำในการเขียนโปรแกรมคือ เงื่อนไข ซึ่งเงื่อนไขในที่นี้จะมีลักษณะคล้ายกันกับเงื่อนไขแบบทางเลือกนั่นเอง โดยเงื่อนไขจะเป็นตัวกำหนดว่าจะมีการเข้าไปทำงานหรือไม่ ถ้าเงื่อนไขเป็นจริงก็จะเข้าไปทำงาน เมื่อทำงานเสร็จแล้วก็จะมาตรวจสอบเงื่อนไขอีกครั้ง และก็จะทำงานไปเรื่อยๆ ถ้าเงื่อนไขเป็นจริงอยู่เสมอ โปรแกรมจะหยุดทำงานก็ต่อเมื่อผลการตรวจสอบเงื่อนไขในรอบใดรอบหนึ่งเป็นเท็จ

        จากแผนภาพ คำสั่งที่จะถูกทำซ้ำหลายๆ ครั้งคือคำสั่ง A ซึ่งเป็นคำสั่งที่อยู่ในลูป (Loop) คือในทุกๆ รอบที่ทำการตรวจสอบเงื่อนไข ถ้าเป็นจริงคำสั่ง A ก็จะถูกกระทำไปเรื่อยๆ แต่ถ้ารอบใดที่ตรวจสอบแล้วเงื่อนไขเป็นเท็จ ก็จะหลุดออกจากการทำซ้ำมาทำตามคำสั่ง B ที่อยู่นอกลูปของการวนซ้ำ

          อย่างที่กล่าวไว้แล้วตั้งแต่ตอนต้นว่าการทำซ้ำมี 2 ลักษณะคือ การทำซ้ำที่มีจำนวนรอบแน่นอน และที่มีจำนวนรอบไม่แน่นอน เพื่อให้เห็นภาพที่ชัดเจนขึ้น นักเรียนลองดูแผนภาพ ดังต่อไปนี้

2.17.png

การทำซ้ำจำนวนรอบแน่นอน

ตั้งใจว่าจะวิ่งรอบสนาม 3 รอบ คือรู้แน่นอนว่าจะทำงานกี่รอบ

2.18.png

การทำซ้ำจำนวนรอบไม่แน่นอน

ตั้งใจว่าจะวิ่งรอบสนามไปเรื่อยๆ เหนื่อยเมื่อไหร่จึงจะหยุดวิ่ง คือไม่แน่ชัดว่าจะทำงานกี่รอบ

2.19.png

ตัวอย่าง ระบบรดน้ำต้นไม้ อัตโนมัติ ที่สามารถประมวลผลค่าได้ไม่จำกัดรอบ จากการตรวจค่าความชื้นใหม่ๆ ทุกๆ 3 วินาที

แผนการจัดการเรียนรู้

เอกสารประกอบการเรียนรู้

เอกสารอ้างอิง

        • นายยุทธนันท์   กามอ้อย. 2557 “การทำงานพื้นฐานของคอมพิวเตอร์” Available: สืบค้นเมื่อ 17 มิถุนายน 2562. จาก https://sites.google.com/site/programmingm42/kar-kae-payha

        • นางพรลภัส  พิบูลโภคาสมบัติ. “ผังงาน (Flowchart)” Available: สืบค้นเมื่อ 17 มิถุนายน 2562. จาก https://sites.google.com/a/kjwit.ac.th/ponlapass/programc/c-lesson2

        • สุธีรัชต์. 2012 “การทำงานแบบวนซ้ำ” Available: สืบค้นเมื่อ 17 มิถุนายน 2562. จาก http://computer.bps.in.th/suteerat/loop

2.20.png
bottom of page