17 พ.ค. 2020 เวลา 00:36 • การศึกษา
Algorithm EP.02
- Step-by-Step หัวใจสำคัญของ Algorithm
- มาเริ่มหัดเขียน Algorithm แบบเล่นๆกัน
ถ้าถามว่าหัวใจสำคัญของ Algorithm คืออะไร
คำตอบในมุมมองของมือสมัครเล่นอย่างผม ผมคิดว่าหัวใจสำคัญน่าจะเป็น
การฝึกเขียนขั้นตอนทีละขั้นๆ (Step-by-Step)
(แน่นอนว่าในมุมมองมืออาชีพคำตอบอาจจะเป็นอย่างอื่นนะครับ)
การฝึกAlgorithmในเบื้องต้น สิ่งที่ผมใช้ในการฝึกก็คือ การนำเรื่องในชีวิตประจำวันนี่ล่ะครับ มาเขียนแบ่งเป็นขั้นตอนทีละขั้นๆ ยกตัวอย่างเช่น...
ตอนนี้ผมคิดว่ากำลังจะเดินไป7-11ที่หน้าปากซอย อยากจะได้ขนมจีบ กาแฟกระป๋อง และหมากฝรั่ง นั่นแสดงว่า
output(ผลลัพธ์)ที่อยากได้ ก็คือ
ได้ขนมจีบ กาแฟ และหมากฝรั่ง หลังจากเดินออกจาก 7-11
ขั้นตอนก็อาจจะเป็นแบบนี้นะครับ
- เดินไปที่หน้าปากซอย
- เดินเข้า7-11
- ตรวจวัดอุณหภูมิและรับเจลแอลกอฮอล์มาถูมือ (อีกหน่อยถ้ามีวัคซีนโควิดแล้วอาจจะไม่ต้องมีขั้นตอนนี้)
- เดินไปสั่งขนมจีบ
- รอรับขนมจีบ
- เดินไปหยิบหมากฝรั่งที่ชั้นวาง
- เดินไปหยิบกาแฟที่ตู้แช่
- เดินไปที่เคาเตอร์คิดเงิน รอจนถึงคิวตัวเอง
- กดรหัสALL member (ถ้ามี)
- จ่ายเงิน
- รับเงินทอน
- เอาของที่ซื้อใส่ถุงผ้า
- เดินออกจาก 7-11
ซึ่งขั้นตอนตรงนี้ ในบางขั้นตอนอาจจะสลับกันได้
เช่น เดินไปหยิบหมากฝรั่งก่อนค่อยไปสั่งขนมจีบ
หรือบางขั้นตอนอาจจะข้ามไปได้เลย
เช่น ขั้นตอนรับเงินทอนไม่มี เพราะผมจ่ายพอดีหรือไม่ก็ตัดเงินจากในบัตร ฯลฯ
หรือบางคนอาจจะใช้วิธีการอื่นๆไปเลยก็ได้นะครับ เช่น กดไลน์สั่งDelivery ไปเลย ไม่ก็ฝากเพื่อนไปซื้อให้ ซึ่งถ้าเป็นอย่างนั้นขั้นตอนก็จะไม่เหมือนกัน (แต่ต้องได้ผลลัพธ์ที่เหมือนกัน)
ความสนุกอย่างหนึ่งของการเรียน Algorithm ก็คือ
มันจะฝึกให้เราให้คิดอย่างเป็นขั้นตอน เป็นระบบ และคิดในเชิงวัตถุวิสัยมากขึ้นครับ
(เรื่องวัตถุวิสัยนี้ เดี๋ยวไว้ค่อยคุยกันในวันหลังนะครับ)
และจากคำกล่าวที่ว่า "Practice makes perfect"
การฝึกฝนไปเรื่อยๆจะทำให้เราชำนาญขึ้นในที่สุด
ผมเลยอยากฝากโจทย์ให้พวกเราไปลองคิดและลองเขียนขั้นตอนย่อยตามตัวอย่างข้างต้นดูนะครับ
การบ้าน:
- ขั้นตอนต่างๆตั้งแต่ตื่นนอน จนไปถึงก้าวออกจากประตูบ้านเพื่อไปทำงาน
- ขั้นตอนที่ใช้ในการทำให้ได้งานทำ (ในกรณีสมัครงาน)
- ขั้นตอนที่ใช้ในการจีบสาวให้ติด
- ขั้นตอนในการทำเพจให้ปัง ทำให้มีผู้ติดตามเกินหนึ่งแสน
- ขั้นตอนในการออกกำลังกายให้มีกล้ามเนื้อท้องแบบ six pack
หรือจะเป็นขั้นตอนอะไรก็ได้ ตามแต่ที่เราจะคิดออกและอยากจะเขียนเลยครับ
เมื่อลองเขียนเสร็จแล้วให้ลองเก็บเอาไว้ก่อนนะครับ
แล้วเมื่อเราเรียนเรื่อง Algorithm และฝึกฝนไปเรื่อยๆสัก1-2ปี
ณ ตอนนั้นเราจะได้เอามาเปรียบเทียบดูได้ครับว่า มันต่างจากตอนที่เราเพิ่งเริ่มเขียนอย่างไร
ครั้งหน้าเราจะมาเรียนเรื่องสัญลักษณ์เบื้องต้นที่ใช้
และความแตกต่างของ Algorithm vs Flow chart กันครับ
โฆษณา