ผู้เขียนเจอคนที่หัดเขียนโปรแกรมมือใหม่หลายคน (รวมทั้งนักสร้างเกมมือใหม่) อ่านตัวอย่างโค้ดจากตำราหรือเรียนจากอาจารย์แล้วถามว่า "ทำไม x = x + 1", "ทำไม i = i + 1" หรือตัวแปรอื่นที่เป็นทำนองนี้ ต้องอธิบายเรื่องนี้ให้มือใหม่ฟังหลายต่อหลายครั้ง ผู้เขียนจึงเขียนบทความนี้เพื่อตอบคำถามยอดฮิตคำถามนี้ไว้ที่นี่เลย
อันดับแรกผู้อ่านต้องแยก "สมการ (equation)" ในคณิตศาสตร์กับ "นิพจน์ (expression)" ในภาษาคอมพิวเตอร์ออกจากกันก่อน ทั้งสองอย่างนี้มีวิธีการเขียนเหมือนกัน แต่ความหมายของสมการกับนิพจน์แตกต่างกัน มือใหม่หลายคนคุ้นเคยกับสมการจากวิชาคณิตศาสตร์แล้วนำสมการมาปะปนกับนิพจน์ จึงทำให้สงสัยเรื่องนี้กันเป็นจำนวนมาก
สมการ VS นิพจน์
ทั้งสมการและนิพจน์มีวิธีการเขียนเหมือนกัน จุดเด่นคือการมีเครื่องหมาย "=" เช่น y = 2m - 7 ตัวอย่างนี้เป็นได้ทั้งสมการและนิพจน์ขึ้นอยู่กับหน้าที่ในบริบทนั้น
สมการ | นิพจน์ | |
---|---|---|
ข้อแตกต่าง |
ฝั่งซ้ายและฝั่งขวาของเครื่องหมาย "="
ต้องเท่ากันทั้งสองฝั่ง | ฝั่งซ้ายเท่ากับฝั่งขวาของเครื่องหมาย "=" ไม่สนใจว่าฝั่งขวาเท่ากับฝั่งซ้ายหรือไม่ |
ตัวอย่าง | A = B หมายถึง ค่าของ A เท่ากับค่าของ B และ ค่าของ B ก็เท่ากับค่าของ A | A = B หมายถึง ค่าของ A เท่ากับค่าของ B แต่ ค่าของ B อาจไม่เท่ากับค่าของ A ก็ได้ |
การใช้งาน |
หาตัวแปรที่ไม่ทราบค่า
(อยู่ส่วนใดของสมการก็ได้)
ฝั่งซ้ายกับฝั่งขวาสามารถสลับกันได้
| นำค่าที่ทราบอยู่แล้ว จากฝั่งขวามาใส่ฝั่งซ้าย ฝั่งซ้ายกับฝั่งขวาไม่สามารถสลับกันได้ |