อยากเขียนโปรแกรมเป็น ต้องเก่งคณิตศาสตร์ไหม?

อยากเขียนโปรแกรมเป็น ต้องเก่งคณิตศาสตร์ไหม?

วิธีบน เรานับสินค้าทีละชิ้น ทุกชิ้นที่นับไปก็ทำการบวกราคาไปเรื่อยๆ ทีละ 10 บาท ถ้าเป็นคนก็จะเหนื่อยหน่อย แต่นี่เราให้คอมพิวเตอร์นับให้

วิธีล่าง เราหักสินค้าชิ้นแรกออกไปก่อน แล้วนำจำนวนชิ้นที่เหลือไปคูณ 10 บาท จากนั้นค่อยบวกค่าขนส่งชิ้นแรกกลับเข้าไป ก็จะได้ผลลัพธ์

ถามว่าไปถึงเป้าหมายเหมือนกันไหม เหมือนกันนะ แต่ผลกระทบจะไม่เหมือนกัน

วิธีบนลองนึกภาพว่า สินค้ามีล้านชิ้น คอมพิวเตอร์ก็ต้องบวกเลขล้านรอบเช่นกัน ถ้าเป็นระบบใหญ่ที่มีคนใช้จำนวนมากระบบจะกิน resource มากขึ้นเป็นเงาตามจำนวนชิ้น

แต่วิธีล่าง เราใช้ตรรกศาสตร์และคุณสมบัติของคณิตศาสตร์เข้ามาช่วยเหลือ การคำนวณเกิดขึ้นเพียงครั้งเดียว ถ้าจำนวนมีเป็นล้านชิ้นก็จะกิน resource น้อยกว่าวิธีบนแบบมหาศาล โค้ดก็สั้นกว่า ปัญหามีอย่างเดียวคือ ดูหนแรกเลย ยากที่จะเข้าใจ ไม่เหมือนวิธีบนที่ดูแล้วเข้าใจทันที

ถ้าแก้ปัญหาเฉพาะหน้าก็ไม่เป็นไร วิธีไหนก็ได้ทำๆไปเถอะ ให้งานมันเสร็จ แต่ถ้าอยากไปได้ไกลกว่าปัญหาที่เห็นอยู่ตรงหน้า ทฤษฎีก็เป็นอะไรที่สำคัญมาก

ที่มาของภาพและแรงบันดาลใจให้อยากเขียน: https://www.facebook.com/KunKode/photos/a.108315604420683/146906180561625

27 12 2020    1556

Share this article:

  lineLogo 

Facebook comment: