Flowchart กับ Algorithm
วาดขั้นตอนการทำงานเป็นภาพ ก่อนแปลงเป็นโค้ด
Algorithm คืออะไร?
Algorithm (อัลกอริทึม) ฟังดูเท่แต่จริง ๆ คือ "ชุดขั้นตอนแก้ปัญหา" เหมือนสูตรอาหารนั่นแหละ — มีขั้นตอนชัดเจน ทำตามแล้วได้ผลลัพธ์เดิม
Algorithm ที่ดีต้อง:
- ชัดเจน (unambiguous) — ไม่่คลุมเครือ
- มีลำดับ (ordered)
- สิ้นสุดได้ (finite)
- ให้ผลลัพธ์ที่ถูกต้อง
Flowchart คืออะไร?
Flowchart คือการเปลี่ยน algorithm ให้เป็น ภาพ มีสัญลักษณ์มาตรฐานให้เราสื่อสารขั้นตอนกับคนอื่นได้ง่าย
สัญลักษณ์หลัก 4 แบบ (จำให้ได้!)
| รูปทรง | ชื่อ | ใช้แทน |
|---|---|---|
| วงรี | Terminator | เริ่มต้น / สิ้นสุด |
| สี่เหลี่ยมผืนผ้า | Process | การกระทำ (คำนวณ, กำหนดค่า) |
| รูปเพชร | Decision | เงื่อนไข (ใช่/ไม่ใช่, แยกทาง) |
| สี่เหลี่ยมด้านขนาน | Input/Output | รับ/แสดงข้อมูล |
เส้นลูกศรเชื่อมแต่ละขั้นบอก ทิศทางการไหล
ตัวอย่างที่ 1: โปรแกรมทักทาย
เขียนเป็นข้อความก่อน:
- เริ่ม
- ถามชื่อ
- แสดง "สวัสดี <ชื่อ>"
- จบ
ภาพจินตภาพ flowchart:
( เริ่มต้น )
|
v
[ ถามชื่อ ]
|
v
/ แสดง "สวัสดี..." /
|
v
( จบ )
ง่ายใช่ไหม? ลองอันที่มีเงื่อนไขบ้าง
ตัวอย่างที่ 2: เช็คอายุเข้างาน
เงื่อนไข: อายุ 18 ขึ้นไป = เข้างานได้, น้อยกว่า = กลับบ้าน
( เริ่ม )
|
v
/ รับอายุ /
|
v
< อายุ >= 18 ? > --ใช่--> / แสดง "เข้างานได้" /
| |
ไม่ใช่ |
v v
/ แสดง "กลับบ้าน" / ( จบ )
|
v
( จบ )
สังเกต รูปเพชร ที่แยกทางเป็น 2 เส้น (ใช่ / ไม่ใช่) นี่คือหัวใจของ if/else
ที่คุณจะได้เขียนเป็นโค้ดในบทถัด ๆ ไป
ตัวอย่างที่ 3: การวนซ้ำ (loop)
อยากนับ 1 ถึง 3:
- ตั้ง
n = 1 - ถาม:
n <= 3ไหม?- ใช่ → แสดง
nแล้วเพิ่มnขึ้น 1 → กลับไปถามใหม่ - ไม่ใช่ → จบ
- ใช่ → แสดง
การ วนกลับไปถามซ้ำ นี่แหละคือแนวคิด while / for loop
จาก Flowchart → โค้ด
flowchart คือ พิมพ์เขียว เสร็จแล้วแปลงเป็นโค้ดแต่ละกล่องได้เลย:
| Flowchart | โค้ด (เค้าโครง) |
|---|---|
| กล่อง Process | คำสั่งปกติ |
| กล่อง Decision | if (เงื่อนไข) { ... } else { ... } |
| ลูกศรวนกลับ | while / for |
| กล่อง Input | รับค่าจากผู้ใช้ |
| กล่อง Output | แสดงผล |
ฝึกเขียนเอง
ลองวาด flowchart ของโปรแกรม "เช็คเลขคู่/คี่":
- รับตัวเลข
- หารด้วย 2 เหลือเศษ 0 ไหม?
- ถ้าใช่ → "เลขคู่" ถ้าไม่ใช่ → "เลขคี่"
(ลองวาดในกระดาษก่อนเลย แล้วเทียบกับโค้ดจริงในบทภาษาที่คุณเลือก)
สรุป
- Algorithm = ขั้นตอนแก้ปัญหาที่ชัดและจบได้
- Flowchart = ภาพของ algorithm ใช้สัญลักษณ์มาตรฐาน
- 4 สัญลักษณ์หลัก: วงรี (start/end), สี่เหลี่ยม (process), เพชร (decision), สี่เหลี่ยมด้านขนาน (input/output)
- เขียน flowchart ก่อน → แปลงเป็นโค้ดง่ายขึ้นมาก
บทหน้าเราจะลงมือ ติดตั้งเครื่องมือ จริง ๆ เพื่อเตรียมเขียนโค้ด 🛠️
อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า
แบบทดสอบ
ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ
1. รูปทรงไหนใน flowchart ใช้แทนการ ‘ตัดสินใจ/เงื่อนไข’?
2. จุดเริ่มต้นและจุดสิ้นสุดของ flowchart ใช้รูปอะไร?
3. ทำไมต้องวาด flowchart ก่อนเขียนโค้ด?
กำลังโหลด…