🌱
⏱️ ~9 นาที

Flowchart กับ Algorithm

วาดขั้นตอนการทำงานเป็นภาพ ก่อนแปลงเป็นโค้ด

Algorithm คืออะไร?

Algorithm (อัลกอริทึม) ฟังดูเท่แต่จริง ๆ คือ "ชุดขั้นตอนแก้ปัญหา" เหมือนสูตรอาหารนั่นแหละ — มีขั้นตอนชัดเจน ทำตามแล้วได้ผลลัพธ์เดิม

Algorithm ที่ดีต้อง:

  • ชัดเจน (unambiguous) — ไม่่คลุมเครือ
  • มีลำดับ (ordered)
  • สิ้นสุดได้ (finite)
  • ให้ผลลัพธ์ที่ถูกต้อง

Flowchart คืออะไร?

Flowchart คือการเปลี่ยน algorithm ให้เป็น ภาพ มีสัญลักษณ์มาตรฐานให้เราสื่อสารขั้นตอนกับคนอื่นได้ง่าย

สัญลักษณ์หลัก 4 แบบ (จำให้ได้!)

รูปทรงชื่อใช้แทน
วงรีTerminatorเริ่มต้น / สิ้นสุด
สี่เหลี่ยมผืนผ้าProcessการกระทำ (คำนวณ, กำหนดค่า)
รูปเพชรDecisionเงื่อนไข (ใช่/ไม่ใช่, แยกทาง)
สี่เหลี่ยมด้านขนานInput/Outputรับ/แสดงข้อมูล

เส้นลูกศรเชื่อมแต่ละขั้นบอก ทิศทางการไหล

ตัวอย่างที่ 1: โปรแกรมทักทาย

เขียนเป็นข้อความก่อน:

  1. เริ่ม
  2. ถามชื่อ
  3. แสดง "สวัสดี <ชื่อ>"
  4. จบ

ภาพจินตภาพ flowchart:

   ( เริ่มต้น )
        |
        v
  [ ถามชื่อ ]
        |
        v
  / แสดง "สวัสดี..." /
        |
        v
   (  จบ  )

ง่ายใช่ไหม? ลองอันที่มีเงื่อนไขบ้าง

ตัวอย่างที่ 2: เช็คอายุเข้างาน

เงื่อนไข: อายุ 18 ขึ้นไป = เข้างานได้, น้อยกว่า = กลับบ้าน

   ( เริ่ม )
       |
       v
  / รับอายุ /
       |
       v
   < อายุ >= 18 ? >  --ใช่-->  / แสดง "เข้างานได้" /
       |                              |
      ไม่ใช่                           |
       v                              v
  / แสดง "กลับบ้าน" /           (  จบ  )
       |
       v
   (  จบ  )

สังเกต รูปเพชร ที่แยกทางเป็น 2 เส้น (ใช่ / ไม่ใช่) นี่คือหัวใจของ if/else ที่คุณจะได้เขียนเป็นโค้ดในบทถัด ๆ ไป

ตัวอย่างที่ 3: การวนซ้ำ (loop)

อยากนับ 1 ถึง 3:

  1. ตั้ง n = 1
  2. ถาม: n <= 3 ไหม?
    • ใช่ → แสดง n แล้วเพิ่ม n ขึ้น 1 → กลับไปถามใหม่
    • ไม่ใช่ → จบ

การ วนกลับไปถามซ้ำ นี่แหละคือแนวคิด while / for loop

จาก Flowchart → โค้ด

flowchart คือ พิมพ์เขียว เสร็จแล้วแปลงเป็นโค้ดแต่ละกล่องได้เลย:

Flowchartโค้ด (เค้าโครง)
กล่อง Processคำสั่งปกติ
กล่อง Decisionif (เงื่อนไข) { ... } else { ... }
ลูกศรวนกลับwhile / for
กล่อง Inputรับค่าจากผู้ใช้
กล่อง Outputแสดงผล

ฝึกเขียนเอง

ลองวาด flowchart ของโปรแกรม "เช็คเลขคู่/คี่":

  1. รับตัวเลข
  2. หารด้วย 2 เหลือเศษ 0 ไหม?
  3. ถ้าใช่ → "เลขคู่" ถ้าไม่ใช่ → "เลขคี่"

(ลองวาดในกระดาษก่อนเลย แล้วเทียบกับโค้ดจริงในบทภาษาที่คุณเลือก)

สรุป

  • Algorithm = ขั้นตอนแก้ปัญหาที่ชัดและจบได้
  • Flowchart = ภาพของ algorithm ใช้สัญลักษณ์มาตรฐาน
  • 4 สัญลักษณ์หลัก: วงรี (start/end), สี่เหลี่ยม (process), เพชร (decision), สี่เหลี่ยมด้านขนาน (input/output)
  • เขียน flowchart ก่อน → แปลงเป็นโค้ดง่ายขึ้นมาก

บทหน้าเราจะลงมือ ติดตั้งเครื่องมือ จริง ๆ เพื่อเตรียมเขียนโค้ด 🛠️

อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า

🧠

แบบทดสอบ

ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ

  1. 1. รูปทรงไหนใน flowchart ใช้แทนการ ‘ตัดสินใจ/เงื่อนไข’?

  2. 2. จุดเริ่มต้นและจุดสิ้นสุดของ flowchart ใช้รูปอะไร?

  3. 3. ทำไมต้องวาด flowchart ก่อนเขียนโค้ด?

กำลังโหลด…