Module 1 — ทบทวน (Review)

Course Orientation & Introduction to Programming — แบบฝึกทบทวน

ทบทวน Module 1 📝

  • Multiple Choice — เลือกคำตอบที่ถูก แล้วกดถัดไปเพื่อดูเฉลย
  • ทำนายผล — ทายผลลัพธ์ก่อนดูเฉลย
  • หา Bug — โค้ดผิดตรงไหน
  • เติมคำในช่องว่าง — ลองพิมพ์ใน Live Code แล้วรัน

. . .

Note

ครอบคลุม: ภาษาระดับสูง/ต่ำ · เครื่องมือ & IDE · .py vs .ipynb · print · input · int · split ทบทวนเนื้อหาเต็มได้ที่ Module 1 👈

Multiple Choice 🔘

เลือกคำตอบที่ถูกต้อง — เฉลยจะปรากฏเมื่อกดถัดไป

คำถาม #1

ภาษาระดับสูง (เช่น Python) ต้องทำอะไรก่อนคอมพิวเตอร์จึงจะทำงานได้?

A. รันได้เลยทันที
B. ต้องแปล (compile/interpret) เป็นภาษาเครื่องก่อน
C. ต้องต่ออินเทอร์เน็ต

Tip

ตอบ: B — ภาษาระดับสูงใกล้ภาษามนุษย์ ต้องแปลเป็น Machine Code ที่ CPU เข้าใจก่อน

คำถาม #2

ข้อใดเป็น ภาษาระดับล่าง (Low Level)?

A. Python
B. Java
C. Assembly
D. JavaScript

Tip

ตอบ: CAssembly และ Machine Code เป็นภาษาระดับล่าง ผูกกับ CPU แต่ละชนิด

คำถาม #3

เครื่องมือที่รวม Editor + Compiler/Interpreter + Debugger ไว้ในโปรแกรมเดียวเรียกว่าอะไร?

A. REPL
B. IDE
C. CPU
D. Block coding

Tip

ตอบ: BIDE (Integrated Development Environment) เช่น VS Code, PyCharm, Spyder

คำถาม #4

เครื่องมือใดใช้สำหรับ รันทีละคำสั่งเพื่อหาบั๊ก?

A. Bugger
B. Compiler
C. Debugger
D. Decompiler

Tip

ตอบ: CDebugger รันทีละขั้น ดูค่าตัวแปรแต่ละจุด เพื่อหาข้อผิดพลาด

คำถาม #5: ชวนคิด

ค่าที่ได้จาก input() เป็นชนิดข้อมูลใดเสมอ?

A. int
B. float
C. str (ข้อความ)
D. ขึ้นกับสิ่งที่พิมพ์

Important

ตอบ: Cinput() คืนค่าเป็น ข้อความ (str) เสมอ แม้ผู้ใช้จะพิมพ์ตัวเลข → ต้อง int()/float() ก่อนคำนวณ

คำถาม #6

ไฟล์ .ipynb (Notebook) ต่างจาก .py อย่างไร?

A. เขียนคนละภาษา
B. .ipynb แบ่งเป็น เซลล์ รันทีละเซลล์และแสดงผลใต้เซลล์ได้
C. .py รันบนเว็บไม่ได้

Tip

ตอบ: B — โค้ด Python เหมือนกัน ต่างที่ .ipynb แบ่งเป็นเซลล์ ผสมโค้ด+ข้อความ+ผลลัพธ์ เหมาะกับการทดลอง

คำถาม #7

Scratch เป็นตัวอย่างของการเขียนโปรแกรมแบบใด?

A. Text-based coding
B. Block coding
C. Machine code
D. Python coding

Tip

ตอบ: BBlock coding ลากวางบล็อก ไม่ต้องพิมพ์ syntax แต่วิชานี้ใช้ text-based ด้วย Python

คำถาม #8: ชวนคิด

.split() ใน input().split() ทำหน้าที่อะไร?

A. ทำให้ข้อความอินพุตเป็นตัวเลข ไม่อย่างนั้นจะนำมาคำนวณไม่ได้
B. ตัดข้อความตามช่องว่างออกเป็นหลายชิ้น
C. รวมข้อความอินพุต
D. รับข้อความอินพุต

Tip

ตอบ: B.split() ตัดข้อความตามช่องว่างเป็นหลายค่า เช่น "3 4".split()['3', '4']

ทำนายผล 🔮

โค้ดจะพิมพ์อะไร? — ทายก่อน แล้วกดถัดไปดูเฉลย

ทำนายผล #9

n = input()      # ผู้ใช้พิมพ์:  5
print(n * 2)

พิมพ์อะไร?

Important

ผลลัพธ์: 55n เป็น str ('5') → '5' * 2 คือการทำซ้ำข้อความ ได้ '55' ไม่ใช่ 10

ทำนายผล #10

n = input()          # ผู้ใช้พิมพ์:  5
print(int(n) * 2)

พิมพ์อะไร?

Tip

ผลลัพธ์: 10int(n) แปลง '5'5 ก่อน แล้วจึงคูณ 2

ทำนายผล #11: ชวนคิด

a, b = input().split()   # ผู้ใช้พิมพ์:  3 4
print(int(a) + int(b))

พิมพ์อะไร?

Important

ผลลัพธ์: 7split() ได้ a='3', b='4' → แปลงเป็น int แล้วบวก = 7 (ถ้าลืม int() จะได้ '34')

หา Bug 🐞

โค้ดผิดตรงไหน — ทำไม

หา Bug #12

print(Hello World)

ผิดตรงไหน?

Important

ผิด: ข้อความไม่ได้อยู่ในเครื่องหมายคำพูด → Python ไม่รู้ว่าเป็นข้อความ (error) แก้เป็น: print('Hello World')

หา Bug #13: ชวนคิด

n = input()
result = n * 2      # อยากได้ผลคูณของตัวเลข
print(result)

ผู้ใช้พิมพ์ 5 แต่ได้ 55 — ผิดตรงไหน?

Important

ผิด: n เป็น str ยังไม่ได้แปลงชนิด → * กลายเป็นการทำซ้ำข้อความ แก้เป็น: result = int(n) * 2 → ได้ 10

เติมคำในช่องว่าง ✏️

เติมโค้ดในช่อง ____ แล้วกด Run

เติมคำ #14

เติมโค้ดให้พิมพ์ข้อความ Python สนุกมาก!

print('Python สนุกมาก!')
Python สนุกมาก!

เติมคำ #15

n มาจาก input() (เป็น str) — เติมโค้ดแปลงเป็น จำนวนเต็ม แล้วคูณ 2

n = '5'
result = int(n) * 2
print(result)
10

เติมคำ #16: ชวนคิด

เติมโค้ดให้แยกข้อความ "3 4" เป็น 2 ค่า แล้วหาผลคูณ

data = "3 4"
a, b = data.split()
print(int(a) * int(b))
12

Engineering Application 🔧

ใช้ Python คำนวณโจทย์วิศวกรรม — ด้วยเครื่องมือพื้นฐานที่เพิ่งเรียน

Engineering #17: กำลังไฟฟ้า

V = 12        # แรงดัน (V) — สมมติจาก input()
I = 3         # กระแส (A)
print('Power =', V * I, 'W')

พิมพ์อะไร?

Tip

ผลลัพธ์: Power = 36 W — กำลังไฟฟ้า \(P = V \times I = 12 \times 3 = 36\) W

Engineering #18

ค่าจาก input() เป็น str — เติมโค้ดแปลงเป็นเลขก่อนคำนวณพลังงาน \(E = P \times t\)

P = '60'
t = '5'
E = int(P) * int(t)
print('Energy =', E, 'J')
Energy = 300 J

Engineering #19: ค่าเฉลี่ยเซนเซอร์

r1 = 20       # เซนเซอร์ตัวที่ 1
r2 = 30       # เซนเซอร์ตัวที่ 2
print('Avg =', (r1 + r2) / 2)

Tip

ผลลัพธ์: Avg = 25.0 — ค่าเฉลี่ยของ 2 เซนเซอร์ · / ให้ผลเป็น float เสมอ

จบการทบทวน 🎉

ทบทวนเนื้อหาเต็มได้ที่ Module 1 · ไปต่อ Module 2