ผมเองก็เป็นโปรแกรมเมอร์ได้ไม่ค่อยนานเท่าไหร่ แต่ก็มีหลายคนมาถามผม หรือให้ผมช่วยสอนเขียนโปรแกรมให้ ผมเลยได้เจอว่าหลายคนก็เจออุปสรรคแบบเดียวกันเลย จึงอยากรวบรวมมาในบทความนี้ครับ
Syntax
อันนี้คือโค้ดตัวอย่างของการใช้ while
นะครับ
count = 0
while count < 30:
print(count)
count += 1
บางคนอาจจะเคยเจอแบบนี้ในการเขียนโปรแกรมหลายครั้ง จนเข้าใจว่าการนับกับ while
ต้องมาด้วยกัน
ซึ่งผมเข้าใจได้ครับ ถ้าไม่เคยเจอรูปแบบอื่น ๆ ที่ไม่ใช่การนับเช่น ลูปจนกว่าค่าจะเป็น 1
วิธีที่จะเข้าใจได้ก็คือไปลองทำโจทย์ อ่านหนังสือดี ๆ ถ้าให้ดี แนะนำไปอ่าน documentation ของภาษาจะดีที่สุดครับ
การตั้งชื่อตัวแปร
max_score = float(input("Enter max score: "))
min_score = float(input("Enter min score: "))
score_range = max_score - min_score
print(f"Range of the score is {score_range}")
อันนี้คื่อตัวอย่างโปรแกรมที่ใช้คำนวณค่าพิสัยของคะแนนที่ได้ ซึ่งสามารถเขียนแบบนี้ได้เหมือนกัน
a = float(input("Enter max score: "))
b = float(input("Enter min score: "))
c = a - b
print(f"Range of the score is {c}")
จริงอยู่ที่เราสามารถตั้งชื่อตัวแปรเป็น a
, b
, c
ได้ แต่มันทำให้ไม่รู้ว่าอะไรคืออะไร แล้วถ้าติดนิสัยการตั้งชื่อมั่ว ๆ ไปเรื่อย ๆ จะมีปัญหาถ้าโปรแกรมเริ่มใหญ่ขึ้นเรื่อย ๆ
ตัวแปรถูกสร้างขึ้นมาเพราะเราต้องการใช้มันครับ ไม่ว่าจะเป็น max_score
หรือmin_score
ล้วนมีความหมายในตัวทั้งสิ้น ปกติจะไม่ใช้ตัวแปรที่ชื่อสั้น ๆ เช่น a
, b
ถ้าไม่ได้มีบริบทในการใช้ เช่น x
แทนค่าพิกัดในแกน x ครับ
การไล่ flow ของโปรแกรม
a = 0
b = 2
while a < 50:
b *= 12
a += b
ถึงโค้ดด้านบนจะเป็นโค้ดที่ไร้ประโยชน์โดยสิ้นเชิง แต่มันเป็นตัวอย่างที่ดีสำหรับการฝึกไล่ flow ของ โปรแกรม อันนี้เป็นทักษะสำคัญมาก ๆ ในการเขียนโปรแกรมตั้งเบื้องต้นจนถึงขั้นสูง เวลาเกิดบัค ก็เจอเกิดจาก flow ของเรามีข้อผิดพลาดส่วนใหญ่ เช่น ลืมเช็คค่าบางอย่าง ใส่เครื่องหมายผิด
วิธีที่จะช่วยได้คือการฝึก แนะนำให้ฝึกทุกวันเลย ถ้าเป็นไปได้ สำหรับข้อสอบให้ลองทดค่าตัวแปร ถ้าทำได้นะครับ
ผมหวังว่าบทความนี้จะช่วยคนที่กำลังฝึกเขียนโปรแกรมอยู่ไม่มากก็น้อยนะครับ