NarWhizเปิดแอป ▶

ออกแบบอัลกอริทึมด้วยตรรกะและฟังก์ชัน วิทยาศาสตร์และเทคโนโลยี ม.2

🧩 บทเรียนวิทยาศาสตร์และเทคโนโลยี มัธยมศึกษาปีที่ 2 · หน่วย: การเขียนโปรแกรม · ตัวชี้วัด ว 4.2 ม.2/1, ว 4.2 ม.2/2, ว 4.2 ม.2/3

📖 เรียนบทนี้ (มีภาพเคลื่อนไหวและเสียง)🎮 เล่นเกมแบบฝึกหัด

เนื้อหาบทเรียน: ออกแบบอัลกอริทึมด้วยตรรกะและฟังก์ชัน

เริ่มกันสูตรทำไข่เจียวก็คืออัลกอริทึม!

ตอกไข่ → ตีไข่ → ใส่น้ำปลา → ทอด

ทำตามลำดับ ได้ผลเหมือนเดิมทุกครั้ง

อัลกอริทึม

ขั้นตอนการแก้ปัญหาที่ชัดเจน เรียงลำดับ

เขียนได้ด้วย ข้อความ รหัสลำลอง หรือผังงาน

โครงสร้างหลัก: ลำดับ ทางเลือก วนซ้ำ

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

ผังงานใช้รูปร่างบอกชนิดของขั้นตอน

ลูกศรบอกทิศทางการทำงาน

ตรรกะ: จริงหรือเท็จ

เงื่อนไขให้ผลเป็น จริง (True) หรือ เท็จ (False)

ตัวเปรียบเทียบ: > < >= <= == !=

== คือ "เท่ากับไหม" ต่างจาก = ที่ใช้กำหนดค่า

ตัวดำเนินการตรรกะ

and: จริงเมื่อทั้งสองจริง

or: จริงเมื่ออย่างน้อยหนึ่งจริง

not: กลับค่าความจริง

ฟังก์ชัน

ฟังก์ชัน: กลุ่มคำสั่งที่ตั้งชื่อไว้ เรียกใช้ซ้ำได้

รับค่าเข้า (พารามิเตอร์) แล้วคืนค่า (return)

ช่วยแบ่งปัญหาใหญ่เป็นปัญหาย่อย

แบ่งปัญหาใหญ่เป็นฟังก์ชันย่อย

ปัญหา: คิดเกรดเฉลี่ยของทั้งห้อง

แบ่งเป็นฟังก์ชันย่อย แก้และทดสอบทีละส่วน

ตัวอย่างอัลกอริทึมตัดเกรดแบบง่าย

ตรวจเงื่อนไขจากคะแนนสูงไปต่ำ

เจอเงื่อนไขแรกที่จริง ให้เกรดนั้น

ตัวอย่างเงื่อนไข and

ได้ส่วนลด เมื่อ "เป็นนักเรียน and ซื้อเกิน 100 บาท"

ตัวอย่างติดตามการทำงาน (trace)

เริ่ม x = 3 ทำซ้ำ "ถ้า x < 10 ให้ x = x × 2"

จดค่า x ทุกรอบ จนเงื่อนไขเป็นเท็จ

ระวัง!ระวัง! and กับ or ให้ผลต่างกันมาก

อายุ >= 13 and อายุ <= 15 → จริงเฉพาะอายุ 13 ถึง 15

อายุ >= 13 or อายุ <= 15 → จริงทุกอายุ!

อ่านเงื่อนไขทีละส่วนให้ดี

สรุปสรุป

เคล็ดลับจำง่าย: "and-ต้องจริงหมด or-จริงสักอันก็พอ not-กลับค่า"

แบ่งปัญหาใหญ่เป็นฟังก์ชันเล็ก

แบบฝึกหัด ออกแบบอัลกอริทึมด้วยตรรกะและฟังก์ชัน พร้อมเฉลย

  1. t = 30 โปรแกรม "if t > 25 and t < 32" ได้ผลเป็น
    • ก. จริง
    • ข. เท็จ
    ดูเฉลยตอบ: จริง
  2. ฟังก์ชันนี้คืนค่าเท่าไร
    ดูเฉลยตอบ: 14
  3. โปรแกรมแสดงเลขอะไร
    ดูเฉลยตอบ: 9
  4. ค่าของ (True and False) or True คือ
    • ก. False
    • ข. True
    ดูเฉลยตอบ: True — True and False = False แล้ว False or True = True
  5. x = 7 เงื่อนไขใดเป็นจริง
    • ก. x > 10 and x < 20
    • ข. not (x == 7)
    • ค. x < 5 or x > 10
    • ง. x > 5 and x < 10
    ดูเฉลยตอบ: x > 5 and x < 10
  6. คะแนน 72 ตามอัลกอริทึมตัดเกรดแบบง่าย (>= 80 ได้ 4, >= 70 ได้ 3, >= 60 ได้ 2, >= 50 ได้ 1) ได้เกรดใด
    • ก. 2
    • ข. 1
    • ค. 3
    • ง. 4
    ดูเฉลยตอบ: 3
  7. ค่าของ not (5 > 3) คือ
    • ก. True
    • ข. False
    ดูเฉลยตอบ: False — 5 > 3 เป็น True เมื่อ not จึงกลายเป็น False
  8. จริงหรือไม่: ในภาษา Python เครื่องหมาย == ใช้เปรียบเทียบว่าเท่ากันหรือไม่
    ดูเฉลยตอบ: จริง
  9. อายุ = 16 เงื่อนไข อายุ >= 13 and อายุ <= 15 ให้ผลอย่างไร
    • ก. False
    • ข. True
    ดูเฉลยตอบ: False — 16 <= 15 เป็นเท็จ and จึงได้ False
  10. ข้อดีของการแบ่งโปรแกรมเป็นฟังก์ชันคือข้อใด
    • ก. เรียกใช้ซ้ำได้ แก้ไขและทดสอบทีละส่วนได้ง่าย
    • ข. ทำให้โปรแกรมช้าลง
    • ค. ไม่ต้องตั้งชื่ออะไรเลย
    • ง. ใช้ได้ครั้งเดียว
    ดูเฉลยตอบ: เรียกใช้ซ้ำได้ แก้ไขและทดสอบทีละส่วนได้ง่าย

อยากฝึกต่อ? เล่นเกมแบบฝึกหัดบทนี้ ได้คะแนนและดาวทันที

บทนี้อยู่ใน วิทยาศาสตร์และเทคโนโลยี ม.2 หน่วย “การเขียนโปรแกรม” · ครูและผู้ปกครองพิมพ์ใบงานได้ฟรี