การเขียนผังงาน (Flowchart)
เป็นเทคนิคหรือวิธีการอย่างหนึ่งส าหรับใช้เขียนแสดงอัลกอริทึม การเขียนผังงานจะใช้รูปภาพที่เป็นสัญลักษณ์มาตรฐานสากลน าไปเขียนแทนกิจกรรมต่างๆ ในแต่ละขั้นตอนของอัลกอริทึม
ซึ่งกิจกรรมที่แตกต่างกันก็จะใช้สัญลักษณ์รูปภาพที่แตกต่างกัน โดยสัญลักษณ์ภาพนี้ก าหนดตามมาตรฐานของ
ANSI (American National Standards Institute) และ ISO (International Standard Organization)
การเขียนแสดงอัลกอริทึมด้วยผังงานสามารถออกแบบได้ง่าย ผู้อื่นสามารถเข้าใจผังงานได้ง่ายเพราะเป็น
มาตรฐานสากลและเมื่อน าผังงานไปเขียนโปรแกรมก็จะท าได้สะดวกรวดเร็ว
ผังงานทางคอมพิวเตอร์มี 2 ประเภทคือ ผังงานระบบ (System Flowchart) และผังงานโปรแกรม
ผังงานระบบ (System Flowchart)
ผังงานระบบจะเป็นการแสดงให้เราเห็นว่าในระบบหนึ่งๆ นั้นมีขั้นตอนในการท างานอย่างไร ซึ่งจะ
มองเห็นในลักษณะภาพกว้าง ๆ ของระบบ แต่จะไม่เจาะลึกลงไปว่าในระบบว่าในแต่ละงานนั้นมีการท างานอย่างไร
คือจะให้เห็นว่าจุดเริ่มต้นของงานเริ่มจากส่วนใด เป็นข้อมูลแบบใด มีการประมวลผลอย่างไร และจะได้ผลลัพธ์เป็น
อย่างไรและเก็บอยู่ที่ใด ดังรูป
ผังงานโปรแกรม (Program Flowchart)
ผังงานโปรแกรมหรือเรียกสั้นๆ ว่า ผังงาน จะเป็นผังงานที่แสดงให้เห็นถึงล าดับขั้นตอนในการท างานของ
โปรแกรม ตั้งแต่การรับข้อมูล การประมวลผล ตลอดจนผลลัพธ์ที่ได้จะท าให้เขียนโปรแกรมได้สะดวกขึ้น ซึ่งผัง
งานชนิดนี้อาจสร้างมาจากผังงานระบบ โดยดึงเอาจุดที่เกี่ยวข้องกับคอมพิวเตอร์มาวิเคราะห์ว่าจะใช้ท างานส่วนใด
เพื่อที่จะให้ได้มาซึ่งผลลัพธ์ที่ต้องการ ดังรูป
ประโยชน์ของผังงาน
1. ท าให้มองเห็นรูปแบบของงานได้ทั้งหมด โดยใช้เวลาไม่มาก
2. การเขียนผังงานเป็นสากลสามารถน าไปเขียนโปรแกรมได้ทุกภาษา
3. สามารถตรวจสอบข้อผิดพลาดของโปรแกรมได้อย่างรวดเร็ว
4. หากมีการพัฒนาระบบงานในล าดับต่อไป สามารถท าได้อย่างรวดเร็ว โดยศึกษาจากผังงานจะสามารถ
ศึกษาได้อย่างรวดเร็วและเข้าใจง่ายกว่าการศึกษาจากโปรแกรม
หลักการเขียนผังงานที่ดี
1. มีทางเข้าหรือจุดเริ่มต้น และทางออกหรือจุดสิ้นสุดเพียงทางเดียวเท่านั้น
2. ล าดับขั้นตอนการท างานควรจะเริ่มจากบนลงล่าง หรือจากซ้ายไปขวา
3. ในสัญลักษณ์ใด ๆ มีทางออกเพียงทางเดียว ยกเว้นสัญลักษณ์แสดงการตัดสินใจหรือทางเลือกสามารถ
มีทางออกได้อย่างน้อยสองทาง
4. เส้นทางเดินในผังงานควรชัดเจน เป็นระเบียบ
5. ข้อความหรือค าสั่งใดๆ ที่อยู่ในสัญลักษณ์ควรสั้น กระชับ ได้ใจความและสามารถเข้าใจได้ง่าย
6. ใช้สัญลักษณ์ที่มีขนาดเหมาะสมกับค าสั่ง
7. การก าหนดทิศทางการท างานด้วยลูกศร ควรจะมีทิศทางจากบนลงล่างหรือขวาไปซ้ายเท่านั้น
8. ในกระบวนการท างานที่ต้องการเพิ่มค าอธิบายเข้าไปเพื่อให้เกิดความเข้าใจ ก็สามารถท าได้โดยการใช้
สัญลักษณ์หมายเหตุประกอบ
สัญลักษณ์ส าหรับการเขียนผังงาน
สัญลักษณ์ที่ใช้ในการเขียนผังงานเพื่อสื่อความหมายเพื่อให้เข้าใจตรงกันจากสถาบันแห่งชาติอเมริกัน
(The American National Standard Institute: ANSI) ได้ก าหนดสัญลักษณ์ไว้เป็นมาตรฐาน ซึ่งมีรูปแบบ
สัญลักษณ์และความหมายที่จ าเป็นต้องใช้ ดังนี้
จุดเริ่มต้นและสิ้นสุดของผังงาน ใช้รูปสี่เหลี่ยมมุมมน ภายในสัญลักษณ์มีค าอธิบาย โดยใช้ค าว่า
START หรือ BEGIN ส าหรับจุดเริ่มต้น และค าว่า STOP หรือ END ส าหรับจุดสิ้นสุดของผังงาน
• สัญลักษณ์จุดเริ่มต้น สามารถมีได้เพียงสัญลักษณ์ละ 1 แห่งเท่านั้นในแต่ละผังงาน แต่สัญลักษณ์สิ้นสุดของผังงาน อาจมีได้มากกว่า 1 แห่ง
• สัญลักษณ์จุดเริ่มต้นของผังงานจะมีเพียงทิศทางออก ไม่มีทิศทางเข้า
• สัญลักษณ์จุดสิ้นสุดของผังงาน จะมีเพียงทิศทางเข้า ไม่มีทิศทางออก
การก าหนดค่า การค านวณและการประมวลผล ใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้า โดยมีค าอธิบาย
ลักษณะการท างานอยู่ภายในรูปสี่เหลี่ยมผืนผ้า สัญลักษณ์นี้มีทั้งทิศทางเข้าและทิศทางออก โดยมีเพียง 1 ทิศทางเท่านั้น
• การเขียนผังงานนิยมใช้เครื่องหมายลูกศร ( <-- ) แทนเครื่องหมาย เท่ากับ ( = )
• ส าหรับเครื่องหมายเท่ากับ ใช้ส าหรับการเปรียบเทียบความเท่ากันระหว่างค่า 2 ค่า
การรับข้อมูลเข้าและการน าข้อมูลออก กรณีไม่ก าหนดอุปกรณ์ส าหรับการน าข้อมูลเข้าและออก
สัญลักษณ์ที่ใช้คือสี่เหลี่ยมด้านขนาน
ภายในสัญลักษณ์ใช้ค าอธิบาย Read Input หรือรับค่า ส าหรับการรับข้อมูลเข้าและใช้ค าอธิบาย Write
Output หรือแสดงค่าส าหรับการน าข้อมูลออก สัญลักษณ์นี้มีทิศทางเข้าและออก อย่างละ 1 ทิศทาง
การรับข้อมูลเข้าทางแป้นพิมพ์ สัญลักษณ์ของผังงานที่ใช้ส าหรับการรับข้อมูลเข้าทางแป้นพิมพ์
ภายในสัญลักษณ์คือตัวแปรที่ใช้ส าหรับรับค่าข้อมูลที่รับเข้ามาทางแป้นพิมพ์
สัญลักษณ์ส าหรับการรับข้อมูลเข้าจากแป้นพิมพ์มีทิศทางเข้าและทิศทางออก อย่างละ 1 ทิศทาง
การแสดงผลข้อมูลออกทางจอภาพ สัญลักษณ์ส าหรับการแสดงผลข้อมูลออกทางจอภาพของ ผัง
งาน โดยข้อมูลที่ต้องการให้แสดงผลออกทางจอภาพ จะอยู่ภายในสัญลักษณ์นี้
สัญลักษณ์ส าหรับการแสดงผลข้อมูลออกทางจอภาพมีทิศทางเข้าและทิศทางออก อย่างละ 1 ทิศทาง
การแสดงผลข้อมูลออกทางเครื่องพิมพ์สัญลักษณ์ส าหรับการแสดงผลข้อมูลออกทาง
เครื่องพิมพ์ของผังงาน โดยข้อมูลที่ต้องการให้แสดงผลออกทางเครื่องพิมพ์จะอยู่ภายในสัญลักษณ์นี้
• สัญลักษณ์ส าหรับการแสดงผลข้อมูลออกทางเครื่องพิมพ์มีทิศทางเข้าและทิศทางออก อย่างละ 1
ทิศทาง
การตัดสินใจ สัญลักษณ์การตัดสินใจใช้ส าหรับการตรวจสอบเงื่อนไข เพื่อตัดสินใจเลือกกระท า
ขั้นตอนการท างานที่ต้องท าเป็นล าดับถัดไป สัญลักษณ์ของผังงานที่ใช้ส าหรับการตัดสินใจใช้รูปสี่เหลี่ยมขนมเปียก
ปูน โดยมีเงื่อนไขอยู่ภายในสัญลักษณ์สัญลักษณ์การตัดสินใจมีการใช้งานในผังงานที่มีการท างานแบบเลือกท าและ
การท างานแบบท าซ้ า
สัญลักษณ์ที่ใช้ส าหรับการตัดสินใจ มีทิศทางเข้า 1 ทิศทาง ผลที่ได้จากการตรวจสอบเงื่อนไขที่อยู่ใน
สัญลักษณ์การตัดสินใจจะมีอยู่ 2 กรณี คือกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริงและกรณีที่ผลการตรวจสอบ
เงื่อนไขเป็นเท็จ ดังนั้นทิศทางที่ออกจากสัญลักษณ์การตัดสินใจจะมี 2 ทิศทาง โดยใช้ค าอธิบาย Yes, Y หรือ True
ก ากับทิศทางในกรณีที่ผลการตรวจสอบเงื่อนไขเป็นจริง ใช้ค าอธิบาย No, N หรือ False ก ากับทิศทางในกรณีที่ผล
การตรวจสอบเงื่อนไขเป็นเท็จ
การแสดงทิศทางการท างานของผังงาน การแสดงทิศทางของขั้นตอนการท างานของผังงานใช้ลูกศร
ส าหรับการบอกทิศทางของขั้นตอนการท างาน การใช้ลูกศรแสดงทิศทางของขั้นตอนการท างานนิยมเขียนจาก
ด้านบนลงด้านล่าง หรือจากด้านซ้ายไปด้านขวา
การเขียนเส้นของลูกศรแสดงทิศทางการไหลของผังงาน ไม่นิยมเขียนเส้นตัดกัน ถ้ามีขั้นตอนการ
ท างานที่ต้องเขียนเส้นตัดกัน ต้องพยายามเลี่ยงโดยการปรับรูปของโครงสร้างผังงานใหม่หรือใช้เครื่องหมายจุดต่อ
ช่วยในการเขียนผังงาน
จุดต่อภายในหน้าเดียวกัน สัญลักษณ์จุดต่อภายในหน้าเดียวกัน ใช้ส าหรับการเชื่อมการท างานของ
ผังงานที่อยู่ในหน้าเดียวกัน สัญลักษณ์จุดต่อภายในหน้าเดียวกันใช้สัญลักษณของวงกลม ภายในวงกลมระบุ
หมายเลขของจุดที่ต้องการต่อเชื่อมถึงกัน
การใช้สัญลักษณ์จุดต่อภายในหน้าเดียวกัน ใช้ในกรณีที่เส้นส าหรับแสดงทิศทางการท างานของ ผังงาน
มีความยาวมากหรือมีจุดตัดของเส้นที่ใช้แสดงทิศทางการท างานเกิดขึ้น เพื่อลดความซับซ้อนของเส้นที่ใช้แสดง
ขั้นตอนการท างานของผังงาน ท าให้สามารถเห็นล าดับขั้นตอนการท างานได้อย่างไม่สับสน
จุดต่อระหว่างหน้า สัญลักษณ์จุดต่อระหว่างหน้าของผังงานใช้สัญลักษณ์รูปห้าเหลี่ยม สัญลักษณ์จุด
ต่อระหว่างหน้าใช้ส าหรับเชื่อมการท างานของผังงานที่อยู่ต่างหน้ากัน ภายในสัญลักษณ์ระบุหมายเลขของจุดที่
ต้องการต่อเชื่อมถึงกัน จุดต่อแต่ละจุดต้องมีคู่ที่ต้องการเชื่อมถึงกันเสมอ
การใช้งานของสัญลักษณ์จุดต่อระหว่างหน้า มีการใช้งานเหมือนกับจุดต่อภายในหน้าเดียวกัน ต่างกัน
เพียงใช้ส าหรับเชื่อมจุดที่อยู่ต่างหน้ากัน
ตัวอย่างการเขียนผังงานในชีวิตประจ าวัน
ตัวอย่างที่1 การเขียนผังงานขั้นตอนการส่งจดหมาย
ตัวอย่างที่2 การเขียนผังงานแสดงเงื่อนไขการรับประทานยา โดยแบ่งขนาดรับประทานตามอายุ
ดังนี้
◦ อายุมากกว่า 10 ปีรับประทานครั้งละ 2 ช้อนชา
◦ อายุ3 - 10 ปีรับประทานครั้งละ 1 ช้อนชา
◦ อายุ1 -3 ปีรับประทานครั้งละ 1/2 ช้อนชา
◦ เด็กแรกเกิด ห้ามรับประทาน
ตัวอย่างการเขียนผังงานโปรแกรม
ตัวอย่างที่3 การเขียนผังงานการหาพื้นที่วงกลม
รูปแบบการเขียนผังงาน
1. การเขียนผังงานแบบเรียงล าดับการท างาน (Sequential Structure)
2. การเขียนผังงานแบบมีทางเลือกการท างาน (Decision Structure)
3. การเขียนผังงานแบบมีการท างานวนซ้ า (Iteration Structure)
• ผังงานแบบมี2 ทางเลือก IF
• ผังงานที่มีมากกว่า 2 ทางเลือก CASE
• While
• Do while
• Repeat until (Do until)
• For
ลักษณะของผังงานที่เขียนขึ้น ต้องเขียนให้อยู่ในรูปแบบของโครงสร้างหลัก 3 โครงสร้างนี้ ถ้าผังงานที่
เขียนขึ้นมีโครงสร้างที่ผิดไปจากโครงสร้างหลัก การเขียนล าดับขั้นตอนวิธีการท างานในลักษณะของข้อความจะท าได้ยาก เมื่อท าการเขียนผังงานขึ้นมาแล้วไม่อยู่ในโครงสร้างหลักทั้ง 3 โครงสร้าง ต้องพยายามปรับโครงสร้างผังงาน
ให้เป็นไปตามโครงสร้างหลักทั้ง 3 โครงสร้าง
ผังงานหนึ่งผังงาน สามารถประกอบไปด้วยหลายโครงสร้างผังงาน โดยมีโครงสร้างผังงานการท างานแบบ
ล าดับเป็นโครงสร้างพื้นฐาน โครงสร้างผังงานลักษณะอื่น เช่น การเลือกท า หรือการท าซ้ าเป็นโครงสร้างที่ประกอบ
อยู่ภายในหรืออาจประกอบด้วยโครงสร้างผังงานการท างานแบบล าดับเพียงโครงสร้างเดียวก็ได้
การเขียนผังงานแบบเรียงล าดับการท างาน (Sequential Structure)
โครงสร้างการท างานแบบล าดับ (Sequence) เป็นลักษณะโครงสร้างพื้นฐานของผังงานทุกผังงาน
ลักษณะการท างานของโครงสร้างผังงานแบบล าดับจะท างานทีละขั้นตอน ตั้งแต่ขั้นตอนแรกจนถึงขั้นตอนสุดท้าย
ล าดับการท างานของผังงานจะท างานตามทิศทางของลูกศร โครงสร้างของผังงานแบบล าดับ มีลักษณะโครงสร้าง
ดังนี้
จากโครงสร้างผังงานตามรูป การท างานจะเริ่มต้นท างานในกระบวนการที่ 1 (Process 1) เมื่อท างานใน
กระบวนการที่ 1 เสร็จ ขั้นตอนต่อไป คือ ท างานในกระบวนการที่ 2 เมื่อท างานในกระบวนการที่ 2 เสร็จ จึง
ท างานในกระบวนการที่ 3 เป็นขั้นตอนต่อไป ตามล าดับ การท างานจะท างานทีละ 1 กระบวนการ การท างานจะ
ไม่ท างานหลายกระบวนการพร้อมกัน
กระบวนการในการท างานที่ 1, 2 และ 3 อาจเป็นการรับข้อมูลเข้า การแสดงผลข้อมูล หรือการค านวณก็ได้
ตัวอย่าง โครงสร้างผังงานการท างานแบบล าดับ
จากโครงสร้างผังงานแบบล าดับตามรูป สามารถอธิบายขั้นตอนการท างานได้ดังนี้
1. เริ่มต้นการท างาน
2. รับค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร a และตัวแปร b
3. ค านวณค่า a
4. แสดงค่าในตัวแปร x
5. สิ้นสุดการท างาน
การเขียนผังงานแบบมีทางเลือกการท างาน (Decision Structure)
เป็นการเขียนผังงานที่มีลักษณะการท างานแบบมีเงื่อนไขทางตรรกะ โดยใช้ประโยชน์จากพีชคณิต
บูลีน เพื่อให้เครื่องประมวลผลลักษณะตัดสินใจ เลือกทิศทางการท างานตามค าสั่งที่ก าหนดไว้
การเขียนผังงานแบบมีทางเลือกสามารถแบ่งออกเป็นลักษณะการเขียนดังนี้
ผังงานแบบมีทางเลือกโดยใช้ค าสั่ง IF
ผังงานที่มีมากกว่า 2 ทางเลือกจากการใช้ค าสั่ง CASE
ผังงานแบบมี2 ทางเลือกจากการใช้ค าสั่ง IF
o IF แบบทางเลือกเดียว Single Selection จะท าการตรวจสอบเงื่อนไข ถ้าเป็นจริงจะไปท า
ค าสั่งท างาน ถ้าเป็นเท็จก็จะออกจากโครงสร้างโดยมีรูปแบบการเขียนดังนี้
o IF แบบสองทางเลือก Double Selection จะท าการตรวจสอบเงื่อนไข ถ้าเป็นจริงจะไปท า
ค าสั่งท างาน 1 แล้วออกจากโครงสร้าง ถ้าเป็นเท็จจะไปท าค าสั่งท างาน 2 แล้วออกจากโครงสร้าง ซึ่งมีรูปแบบการเขียนดังนี้
o IF แบบหลายทางเลือก Multi Selection เป็นการตรวจสอบแบบหลายเงื่อนไข ท าให้มี
ทางออกได้หลายทาง ซึ่งเป็นการน าโครงสร้างของ IF มาซ้อนกันเพื่อให้ได้เงื่อนไขมากขึ้นตามความต้องการ โดยมีรูปแบบการเขียนดังนี้
ผังงานที่มีมากกว่า 2 ทางเลือก CASE เป็นการตรวจสอบเงื่อนไขของตัวแปรตรวจสอบ ว่ามีค่าตรง
กับค่าใด ค่าดังกล่าวจะเป็นตัวบอกกิจกรรมที่ต้องท า โดยมีรูปแบบการเขียนดังนี้
ตัวอย่าง โครงสร้างผังงานแบบเลือกท าหรือมีเงื่อนไข
ผังงานแสดงโปรแกรมการประเมินผลการเรียน โดยรับคะแนนนักศึกษาเข้ามาทางแป้นพิมพ์ ถ้าคะแนน
มากกว่าหรือเท่ากับ 50 ให้แสดงค าว่า “Pass” ที่หน้าจอ แต่ถ้าน้อยกว่า 50 ให้แสดงค าว่า “Fail” ที่หน้าจอ
จากโครงสร้างผังงานแบบเลือกท าหรือมีเงื่อนไขตามรูป สามารถอธิบายขั้นตอนการท างานได้ดังนี้
1. เริ่มต้นการท างาน
2. รับค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร score
3. ถ้าคะแนนที่รับ (ตัวแปร score) มากกว่าหรือเท่ากับ 50 ท า
มิฉะนั้นแล้ว
4. สิ้นสุดการท างาน
3.1 แสดงค าว่า “Pass” ที่หน้าจอ
3.2 แสดงค าว่า “Fail” ที่หน้าจอ
ตัวอย่าง โครงสร้างผังงานแบบเลือกท าหรือมีเงื่อนไข
จากตัวอย่าง ประกอบด้วยโครงสร้างผังงาน 2 โครงสร้าง คือการท างานแบบล าดับและการเลือกท า การ
ท างานของผังงาน สามารถอธิบายล าดับขั้นตอนการท างานได้ดังนี้
1. เริ่มต้นการท างาน
2. รับค่าข้อมูล จ านวน 2 ค่า มาเก็บไว้ในตัวแปร X และ Y
3. ตรวจสอบเงื่อนไข ถ้า X น้อยกว่า Y แล้วท า
มิฉะนั้นแล้ว
4. แสดงค่า SUM
5. จบการท างาน
3.1 ค านวณค่า SUM = X2
3.2 ค านวณค่า SUM = X * Y
การเขียนผังงานแบบมีการท างานวนซ้ า (Iteration Structure)
โปรแกรมส่วนใหญ่จะมีค าสั่งส าหรับการท างานซ้ าหรือเรียกว่า ลูป (Loop) โดยการท าซ้ าของโปรแกรมจะ
อยู่ภายใต้เงื่อนไข จริง หรือ เท็จ ตามที่ผู้เขียนโปรแกรมได้ออกแบบไว้รูปแบบของการวนซ้ ามีดังนี้
โครงสร้างค าสั่งจะท าการตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็น “จริง” ก็จะท ากิจกรรมนั้นซ้ าไปเรื่อยๆ
แต่เมื่อเงื่อนไขเป็น “เท็จ” จะหยุดท าซ้ าแล้วออกจากลูปไป มีรูปแบบการเขียนดังนี้
ตัวอย่าง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช้ค าสั่ง While
ค าสั่ง While (ขณะที่)
โครงสร้างค าสั่งจะท าการตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็น “จริง” ก็จะท ากิจกรรมนั้นซ้ าไปเรื่อยๆ
แต่เมื่อเงื่อนไขเป็น “เท็จ” จะหยุดท าซ้ าแล้วออกจากลูปไป มีรูปแบบการเขียนดังนี้
ตัวอย่าง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช้ค าสั่ง While
ล าดับขั้นตอนการท างานของผังงานนี้ คือ
1. เริ่มต้นการท างาน
2. ก าหนดค่าให้ Num = 1
3. ในขณะที่ Num น้อยกว่าหรือเท่ากับ 5 ท า
3.1 แสดงค่า Num
3.2 ค านวณค่า Num = Num + 1
4. จบการท างาน
ค าสั่ง Do while (ท า-ขณะที่)
ท ากิจกรรมที่ต้องการก่อน แล้วจึงตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็น “จริง” ก็จะท ากิจกรรมนั้นซ้ าไป
เรื่อยๆ แต่เมื่อเงื่อนไขเป็น “เท็จ” จะหยุดท าซ้ าแล้วออกจากลูปไป มีรูปแบบการเขียนดังนี้
ตัวอย่าง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช้ค าสั่ง Do While
จากรูป เมื่อท างานในกระบวนการที่ 1 แล้ว การท างานของผังงานจะกลับไปตรวจสอบเงื่อนไขที่ใช้ส าหรับ
การท าซ้ าอีกครั้ง ถ้าผลที่ได้จากการตรวจสอบเงื่อนไขยังคงเป็นจริง การท างานจะเข้าสู่ขั้นตอนการท างานที่ต้อง
ท าซ้ าอีกครั้งหนึ่ง ท าซ้ าเช่นนี้จนกว่าผลที่ได้จากการตรวจสอบเงื่อนไขเป็นเท็จ จึงออกจากขั้นตอนการท าซ้ าเพื่อ
ท างานในขั้นตอนอื่นต่อไป
ล าดับขั้นตอนการท างานของผังงานนี้ คือ
1. เริ่มต้นการท างาน
2. ก าหนดค่าให้ Num = 1
3. แสดงค่า Num ออกทางจอภาพ
4. ค านวณ Num + 1 เก็บไว้ในตัวแปร Num
5. ขณะที่ Num น้อยกว่าหรือเท่ากับ 5 ท าข้อ 3-4
มิฉะนั้น
6. จบการท างาน
ค าสั่ง Repeat until (Do until)
ท ากิจกรรมที่ต้องการก่อนแล้วจึงตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็น “เท็จ” ก็จะท ากิจกรรมนั้นซ้ าไป
เรื่อยๆ แต่ถ้าเงื่อนไขเป็น “จริง” จะหยุดท าซ้ าแล้วออกจากลูปไป มีรูปแบบการเขียนดังนี้
ตัวอย่าง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช้ค าสั่ง Repeat until (Do until)
จากรูป จะท าขั้นตอนที่ต้องการท าซ้ าก่อนอย่างน้อย 1 ครั้ง หลังจากนั้นจึงท าการตรวจสอบเงื่อนไข
ส าหรับพิจารณาว่าจะกลับไปท างานกระบวนการท างานที่ต้องท าซ้ าหรือไม่ ถ้าผลที่ได้จากการตรวจสอบเงื่อนไข
เป็นเท็จ การท างานของผังงานจะท าการย้อนกลับไปท าขั้นตอนการท างานที่ต้องการท าซ้ าอีกครั้ง แล้วมา
ตรวจสอบเงื่อนไข ถ้าผลที่ได้จากการตรวจสอบยังคงเป็นเท็จ จะกลับไปท ากระบวนการที่ต้องท าซ้ าอีก จนกว่าผลที่
ได้จากการตรวจสอบเงื่อนไขออกมาเป็นจริง จึงออกจากขั้นตอนการท าซ้ าเพื่อท างานในขั้นตอนอื่นต่อไป
จากรูปประกอบด้วยลักษณะโครงสร้างผังงาน 2 ลักษณะ คือโครงสร้างผังงานการท างานแบบล าดับ
และการท าซ้ าลักษณะท าจนกระทั่ง มีขั้นตอนดังนี้
1. เริ่มต้นการท างาน
2. ก าหนดให้ Num = 1
3. ท าซ้ าจนกระทั่ง Num > 5
3.1 แสดงค่า Num
3.2 ค านวณค่า Num เท่ากับ Num + 1
4. จบการท างาน
ข้อแตกต่างระหว่างการท าซ้ าลักษณะท าในขณะที่ (Do While) กับท าจนกระทั่ง (Do Unit)
โครงสร้างผังงานการท าซ้ า มีอยู่ 2 ลักษณะ คือ ท าในขณะที่ และ ท าจนกระทั่ง ลักษณะการท างานของ
โครงสร้างผังงานท าซ้ าทั้ง 2 ลักษณะ มีการท างานที่แตกต่างกัน สามารถสรุปความแตกต่างของลักษณะการท างาน
ของโครงสร้างผังงานการท าซ้ าทั้ง 2 ลักษณะได้ดังนี้
ตารางที่4-2 ความแตกต่างของลักษณะการท างานของโครงสร้างผังงานการท าซ้ าทั้ง 2 ลักษณะ
ค าสั่ง For
โครงสร้างค าสั่งจะท าการวนซ้ าโดยรู้จ านวนแน่นอน โดยมีการก าหนดค่าเริ่มต้น ค่าสิ้นสุดของ ตัวแปร
นับรอบ มีรูปแบบการเขียนดังนี้
ตัวอย่าง โปรแกรมแสดงตัวเลข 1 – 5 โดยใช้ค าสั่ง For
ตัวอย่าง การเขียนผังงานจากโจทย์ปัญหา
จากโจทย์ปัญหาวิเคราะห์หาตัวแปรที่ใช้ในอัลกอริทึม น ามาเขียน Pseudo Code และเขียนผังงาน
ตัวอย่าง 1 จงเขียน Flowchart รับข้อมูลจ านวนส้มที่ซื้อ เพื่อค านวณหาราคาส้มที่ต้องจ่าย โดยมีเงื่อนไขว่า ถ้าซื้อ
ส้มน้อยกว่าหรือเท่ากับ 5 กิโลกรัม คิดราคากิโลกรัมละ 35 บาท แต่ถ้าซื้อส้มน้อยกว่า 5 กิโลกรัมขึ้นไป คิดราคา
กิโลกรัมละ 30 บาท
ก าหนดตัวแปรที่ใช้ น้ าหนักของส้มที่ซื้อ ใช้ชื่อตัวแปร weight
ราคาส้มที่ต้องจ่าย ใช้ชื่อตัวแปร amount
ตัวอย่างที่2 จงเขียนผังงานเพื่อรับตัวเลขจ านวน n ตัว ตามจ านวนที่ผู้ใช้ต้องการ และหาผลรวมของตัวเลข
ทั้งหมดนั้น
ก าหนดตัวแปรที่ใช้ในผังงาน จ านวนตัวเลข ใช้ชื่อตัวแปร n
ค่าของตัวเลข ใช้ชื่อตัวแปร number
ผลรวม ใช้ชื่อตัวแปร result
ตัวนับจ านวน “ครั้งที่ของการป้อนตัวเลข” ใช้ชื่อตัวแปร count
ตัวอย่างที่3 จงเขียนผังงานเพื่อรับตัวเลขครั้งละ 1 จ านวน และให้ตรวจสอบ ถ้าตัวเลขที่รับเข้ามามีค่ามากกว่า
50 ให้แสดงตัวเลขนั้นบนหน้าจอ จากนั้นวนรับตัวเลขแล้วท าซ้ าจนครบ 10 จ านวน
ก าหนดตัวแปรที่ใช้ในผังงาน ค่าของตัวเลข ใช้ชื่อตัวแปร number
ตัวนับจ านวน “ครั้งที่ของการป้อนตัวเลข” ใช้ชื่อตัวแปร count
ไม่มีความคิดเห็น:
แสดงความคิดเห็น