สรุปเนื้อหาทบทวนก่อนสอบกลางภาค หน่วยที่ 1 และ 2
หน่วยที่ 1 การออกแบบและการเขียนอัลกอริทึม
1. แนวคิดเชิงนามธรรม (Abstraction)
- ความหมาย คือกระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดปลีกย่อยในปัญหา หรือพูดง่ายๆ คือ การมองข้ามรายละเอียดที่ไม่จำเป็น และโฟกัสเฉพาะสาระสำคัญที่ใช้แก้ปัญหา
- ตัวอย่างการใช้งาน
- การวาดแผนที่การเดินทาง โดยวาดแค่เส้นทางหลักและจุดหมาย ไม่ต้องวาดต้นไม้หรือตึกทุกตึกริมทาง
- การเก็บข้อมูลนักเรียนเพื่อคำนวณเกรด สนใจแค่คะแนนสอบ ไม่จำเป็นต้องรู้สีผมหรือยี่ห้อรองเท้าของนักเรียน
2. อัลกอริทึม (Algorithm)
- ความหมาย กระบวนการแก้ปัญหาที่มีลำดับขั้นตอนที่ชัดเจนว่าต้องทำอะไรก่อนหรือหลัง เพื่อให้ได้ผลลัพธ์ที่ต้องการ
- การเขียนอัลกอริทึมทำได้ 3 รูปแบบหลัก ดังนี้
- รูปแบบที่ 1 ภาษาธรรมชาติ (Natural Language)
- การอธิบายขั้นตอนการทำงานโดยใช้ภาษาที่มนุษย์ใช้สื่อสารกันทั่วไป เช่น ภาษาไทย ภาษาอังกฤษ
- ข้อดี เข้าใจง่าย แต่อาจตีความได้หลายแบบหากเขียนไม่รัดกุม
- รูปแบบที่ 2 รหัสลำลอง (Pseudocode)
- การเขียนคำสั่งที่คล้ายคลึงกับภาษาคอมพิวเตอร์ แต่ใช้คำศัพท์ที่อ่านเข้าใจง่าย
- หลักเกณฑ์การเขียนที่ดี เขียนจากบนลงล่าง ใช้คำสั่งที่กะทัดรัดชัดเจน และสามารถใช้ภาษาอังกฤษหรือภาษาไทยก็ได้ ไม่จำเป็นต้องอิงไวยากรณ์ภาษาโปรแกรมเป๊ะๆ
- รูปแบบที่ 3 ผังงาน (Flowchart)
- การอธิบายขั้นตอนด้วย สัญลักษณ์รูปภาพ
- ข้อดี ทำให้เห็นภาพรวม ทิศทางการทำงาน และเงื่อนไขต่างๆ ได้ชัดเจนกว่าการเขียนเป็นข้อความ
- สัญลักษณ์ที่มักออกสอบ รูปสี่เหลี่ยมข้าวหลามตัด (Diamond) หมายถึง การตัดสินใจ หรือ ตรวจสอบเงื่อนไข
- ข้อควรระวัง หากมีการทำงานแบบวนซ้ำ จะต้องมีโครงสร้างแบบ การตรวจสอบเงื่อนไข ผสมอยู่ด้วยเสมอ เพื่อให้โปรแกรมมีจุดสิ้นสุดหรือหาทางออกได้
- รูปแบบที่ 1 ภาษาธรรมชาติ (Natural Language)
หน่วยที่ 2 การออกแบบและการเขียนโปรแกรมเบื้องต้น
1. ขั้นตอนการแก้ปัญหาด้วยคอมพิวเตอร์
- ลำดับที่ถูกต้องและสำคัญที่สุดคือ วิเคราะห์ปัญหา -> ออกแบบอัลกอริทึม -> เขียนโปรแกรม -> ทดสอบ
- จุดเน้น ก่อนที่จะลงมือพิมพ์โค้ดนักเรียนจะต้อง ออกแบบอัลกอริทึมและตรรกะการทำงานให้เสร็จสมบูรณ์เสียก่อน
2. ภาษาคอมพิวเตอร์ (Computer Languages)
- ภาษาโปรแกรมแต่ละภาษามีความเหมาะสมกับงานที่แตกต่างกัน นักพัฒนาจึงควรเรียนรู้ไว้หลายๆ ภาษา ตัวอย่างภาษาที่สำคัญ ได้แก่
- Scratch (สแครช) เป็นภาษาแบบต่อบล็อกคำสั่ง (Block-based) เหมาะกับผู้เริ่มต้น นำไปสร้างเกมหรือแอนิเมชันโต้ตอบแบบง่ายๆ ได้ดี
- Python (ไพทอน) โดดเด่นเรื่องไวยากรณ์ที่อ่านง่าย คล้ายภาษาอังกฤษ และได้รับความนิยมสูงสุดในงานด้านวิทยาการข้อมูล (Data Science)
- Java (จาวา) มีจุดเด่นคือ เขียนโปรแกรมเพียงครั้งเดียว นำไปรันได้บนหลายแพลตฟอร์ม เช่น เขียนบน Windows ไปรันบน Mac ก็ได้
- C (ภาษาซี) จัดอยู่ในกลุ่ม ภาษาระดับสูง (High-level language) ที่เป็นพื้นฐานสำคัญของหลายๆ โปรแกรม
3. เครื่องมือและซอฟต์แวร์สำหรับการเขียนโปรแกรม
- IDE (Integrated Development Environment) คือโปรแกรมที่รวบรวมเครื่องมืออำนวยความสะดวกในการเขียนโค้ด ตรวจสอบไวยากรณ์ และแปลภาษาไว้อย่างครบวงจร
- ตัวแปลภาษา (Translator) คอมพิวเตอร์ไม่เข้าใจภาษาที่เราเขียน จึงต้องมีตัวแปลให้เป็นภาษาเครื่อง มี 2 ประเภทหลักคือ
- Compiler (คอมไพเลอร์) แปลผลโค้ดทั้งโปรแกรมรวดเดียวจบ
- Interpreter (อินเทอร์พรีเตอร์) แปลผลและทำงานทีละบรรทัด
4. เกร็ดความรู้เพิ่มเติม
- Bug (บั๊ก) หมายถึง ข้อผิดพลาดที่เกิดขึ้นในโปรแกรม ทำให้ผลลัพธ์ไม่เป็นไปตามที่เราออกแบบหรือต้องการ เมื่อเจอบั๊ก เราจึงต้องทำกระบวนการ Debugging เพื่อแก้ไข
💡 คำแนะนำในการอ่านทบทวน ให้นักเรียนลองจินตนาการถึงสถานการณ์จริง เช่น ลองคิดว่าจะออกแบบอัลกอริทึมการทอดไข่เจียวด้วยรหัสลำลองอย่างไร หรือเวลาเห็นสัญลักษณ์ในผังงาน ให้บอกความหมายให้ได้ทันที จะช่วยให้จำเนื้อหาได้อย่างแม่นยำขึ้น
การเขียนผังงานที่มีการทำงานแบบลำดับ
ให้นักเรียนวาดผผังงานตามตัวอย่างที่กำหนดให้ลงในโปรแกรม Microsoft Word


แบบทดสอบกลางภาค
ใบกิจกรรม ความฉลาดรู้ดิจิทัล 1








แบบทดสอบเก็บคะแนนท้ายบทเรียน
หน่วยที่ 1 การออกแบบและการเขียนอัลกอริทึม
https://g.co/gemini/share/5705d2d4bb60
หน่วยที่ 2 การออกแบบและการเขียนโปรแกรมเบื้องต้น
https://g.co/gemini/share/d41dda57ed60
หน่วยที่ 3 การจัดการข้อมูลสารสนเทศ
https://g.co/gemini/share/ea63f5e72012
