บทนี้จะเปลี่ยนจาก "วิธีคิด" ในบทแรก มาเป็นการ "สั่งงานคอมพิวเตอร์" โดยใช้เหตุผลเชิงตรรกะมาควบคุมการทำงานของโปรแกรมครับ
ก่อนจะเขียนโค้ด (Coding) เราต้องวางแผนก่อนเสมอ เพื่อลดข้อผิดพลาด (Bug) โดย อจท. เน้น 2 วิธีหลัก:
คือการเขียนอธิบายขั้นตอนการทำงานด้วยภาษาที่เข้าใจง่าย (ภาษาคนผสมภาษาคอมพิวเตอร์)
ตัวอย่าง: 1. เริ่มต้น
2. รับค่าตัวเลข A และ B
3. นำ A บวก B เก็บไว้ในผลรวม
4. แสดงผลรวม
5. จบการทำงาน
คือการใช้สัญลักษณ์แสดงทิศทางของโปรแกรม ในบทนี้จะมีโครงสร้างที่ซับซ้อนขึ้น 3 แบบ:
โครงสร้างแบบลำดับ (Sequence): ทำงานจากบนลงล่างทีละขั้นตอน
โครงสร้างแบบเลือกทำ (Selection): มีจุดตัดสินใจ (สี่เหลี่ยมข้าวหลามตัด) เช่น ถ้าคะแนน > 50 ให้แสดงว่า "ผ่าน" ถ้าไม่จริงให้ "ตก"
โครงสร้างแบบทำซ้ำ (Loop): สั่งให้โปรแกรมกลับไปทำขั้นตอนเดิมจนกว่าเงื่อนไขจะเปลี่ยน เช่น วิ่งรอบสนามให้ครบ 10 รอบ
ตัวแปร คือ สิ่งที่ใช้สำหรับ "เก็บข้อมูล" ที่สามารถเปลี่ยนแปลงค่าได้ตลอดเวลาในขณะที่โปรแกรมทำงาน
ให้นึกภาพว่าตัวแปรคือ "กล่อง" ที่เราตั้งชื่อแปะไว้ข้างหน้า แล้วเอาข้อมูลใส่เข้าไป
ชื่อตัวแปร: ควรตั้งให้สื่อความหมาย เช่น score (คะแนน), age (อายุ), sum (ผลรวม)
การใช้งาน:
Set [Variable] to [0]: กำหนดค่าเริ่มต้นให้เป็น 0
Change [Variable] by [1]: เพิ่มค่าในกล่องขึ้นอีก 1
ในระดับ ป.6 นักเรียนต้องรู้จักใช้บล็อกคำสั่งที่สูงขึ้น ดังนี้:
Control (ควบคุม): * wait (1) seconds: หยุดรอเวลา
repeat (10): ทำซ้ำตามจำนวนครั้ง
forever: ทำซ้ำตลอดไป (ใช้บ่อยในเกม)
if [ ] then: ตรวจสอบเงื่อนไข
Sensing (ตรวจจับ):
touching [color]?: ตัวละครแตะสีที่กำหนดหรือไม่?
ask [ ] and wait: ถามคำถามและรับค่าจากผู้ใช้
answer: ตัวแปรที่เก็บคำตอบจากบล็อกถาม
Operators (ตัวดำเนินการ): * บล็อกบวกลบคูณหาร ($+, -, \times, \div$)
บล็อกเปรียบเทียบ ($>, <, =$)
บล็อกสุ่มตัวเลข (pick random 1 to 10)
เมื่อเขียนโปรแกรมเสร็จแล้วมันทำงาน "ไม่ตรงตามที่ต้องการ" เราต้องหาจุดผิดที่เรียกว่า "บั๊ก" (Bug) และแก้ไขให้ถูกต้อง
เทคนิคของ อจท.: ให้ลองไล่โค้ดทีละบรรทัด (Step-by-step) เหมือนเราเป็นคอมพิวเตอร์ดูว่าบรรทัดไหนที่ทำงานผิดพลาด
โปรแกรมคำนวณเกรด: รับคะแนนจากผู้ใช้ (Input) -> ตรวจสอบเงื่อนไข (Decision) -> แสดงผลเกรด (Output)
เกมวิ่งเก็บเหรียญ: ตัวละครเคลื่อนที่ตามลูกศร -> ถ้าชนเหรียญให้คะแนน (score) เพิ่มขึ้น -> ถ้าชนอุปสรรคให้ลดคะแนนหรือจบเกม
โปรแกรมสูตรคูณ: ใช้การวนซ้ำ (Loop) 12 รอบ เพื่อแสดงผลคูณของตัวเลขที่รับเข้ามา
อัลกอริทึม: ต้องออกแบบให้ดีก่อนเขียนโปรแกรม
ตัวแปร: สำคัญมากในการเก็บข้อมูล เช่น แต้มในเกมหรือผลคำนวณ
เงื่อนไข: ใช้บล็อก if-then เพื่อสร้างทางเลือกให้โปรแกรม
วนซ้ำ: ช่วยลดจำนวนโค้ดที่ต้องเขียนซ้ำๆ ให้สั้นลง