ผังงานและเทคนิคการนำเสนอ

Download Report

Transcript ผังงานและเทคนิคการนำเสนอ

หน่ วยที่ 3
การวิเคราะห์ ปัญหา
และเทคนิคการนาเสนอ
กาญจนา ทองบุญนาค
สาขาวิชาคอมพิวเตอร์
คณะวิทยาศาสตร์และเทคโนโลยี
ปัญหาและอัลกอริ ทึม (Algorithmic Problems and
Algorithm)
 ปั ญหาสามารถแบ่งได้เป็ น 2 กลุ่มใหญ่


ปั ญหาที่มีข้นั ตอนในการแก้ปัญหาอย่างเป็ นระบบ
ปั ญหาที่ไม่มีข้นั ตอนในการแก้ปัญหาที่แน่นอน
 ปั ญหากลุ่มแรกเรี ยกว่า “Algorithmic Problem” เป็ นปั ญหาที่มี
อัลกอริ ทึม (Algorithm) ในการแก้ปัญหา
 อัลกอริ ทึม คือ ลาดับของคาสั่งที่คอมพิวเตอร์ จะปฏิบตั ิตามเพื่อแก้ไขปั ญหา
โดยคาสั่งจะเรี ยงกันตามลาดับก่อนหลัง และสุ ดท้ายจะได้ผลลัพธ์ที่เสร็ จ
สมบูรณ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ขั้นตอนการวิเคราะห์ปัญหา (โจทย์)
 วิเคราะห์ผลลัพธ์

พิจารณาว่าโจทย์ตอ้ งการคาตอบอะไร รู ปแบบการแสดงผลเป็ นอย่างไร
 ขั้นวิเคราะห์ขอ้ มูล

ในตัวปั ญหาจะมีส่วนที่บ่งบอกข้อมูล ซึ่งสามารถแบ่งได้เป็ น 3 ลักณณะ
 ข้อมูลที่โจทย์กาหนดให้โดยตรง เช่น
กาหนดให้ a = 20 b = 15 c = 5
จานวนนักเรี ยน 10 คน
รายชื่อลูกค้าคือ กานดา จินตนา และ อาภรณ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ขั้นตอนการวิเคราะห์ปัญหา (ต่อ)
 ขั้นวิเคราะห์ขอ้ มูล (ต่อ)

ข้อมูลที่โจทย์ไม่ได้บอกโดยตรง โดยบ่งบอกลักณณะแหล่งที่มา ความ
เกี่ยวพัน หรื อพรรณนาถึงข้อมูลแบบเปิ ดกว้าง เช่น
จานวนนักเรี ยนทั้งชั้นเรี ยน
ตัวเลขข้อมูลตามที่ผใู้ ช้เตรี ยมมา
เลขจานวนเต็ม 2 จานวนให้ใส่ ทางแป้ นพิมพ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ขั้นตอนการวิเคราะห์ปัญหา (ต่อ)
 ขั้นวิเคราะห์ขอ้ มูล (ต่อ)

ข้อมูลที่เป็ นพื้นฐานกิจกรรมการประมวลผลนั้นๆ โจทย์ไม่จาเป็ นต้องบอก
หรื อชี้แนะ เช่น
จงคานวณหาพื้นที่สามเหลี่ยม โดยให้ผใู้ ช้ใส่
ข้อมูลที่เกี่ยวข้อง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ขั้นตอนการวิเคราะห์ปัญหา (ต่อ)
 ขั้นวิเคราะห์กระบวนการแก้ปัญหาหรื อขั้นการประมวลผลข้อมูล



เป็ นการวางแผนการแก้ปัญหา
ขึ้นอยูก่ บั ความรู้ ความสามารถ และประสบการณ์
เป็ นขั้นตอนในการกาหนดการกระทา (action) และจัดลาดับการกระทา
(order) รวมเรี ยกว่า “การเขียนอัลกอริ ทึม”
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
การเขียนอัลกอริ ทึมและเทคนิคการนาเสนอ
 วิธีการเสนออัลกอริ ทึมที่นิยม
 ผังงาน (Flowchart)
เป็ นการใช้สญ
ั ลักณณ์ภาพและคาบรรยายแทนกิจกรรมที่กระทา โดยสัญลักณณ์ภาพ
และคาบรรยายที่ใช้เป็ นสากลที่ทุกคนเข้าใจ

รหัสจาลอง (Pseudo code)
เป็ นการใช้คาอธิ บายง่ายๆ บอกถึงกิจกรรมในการแก้ปัญหา เขียนง่ายกว่า ผังงาน
และสะดวกในการถ่ายทอดเป็ นคาสัง่
 ผังงานและรหัสจาลองเป็ นเสมือน “แม่แบบ” ของโปรแกรมหรื อซอฟต์แวร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
กิจกรรมพื้นฐานในการประมวลผลข้อมูล
 กิจกรรมพื้นฐานในการประเมินผล ประกอบด้วย
 กิจกรรมรับข้อมูล (Input)
 กิจกรรมประมวลผล (Process)
 กิจกรรมแสดงผล (Output)
Input
Process
Output
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
กิจกรรมพื้นฐานในการประมวลผลข้อมูล (ต่อ)
 ขั้นตอนการวิเคราะห์โจทย์ปัญหา (นวลนดา สงวนวงณ์ทอง : 2537)
 ระบุสิ่งที่โจทย์ตอ้ งการ
 ระบุขอ้ มูลนาเข้า




ตั้งชื่อตัวแปรที่เกี่ยวข้อง
กาหนดวิธีการประมวลผลอย่างย่อ เช่น






กาหนดข้อมูลนาเข้าลงในโปรแกรมโดยตรง ผูเ้ ขียนโปรแกรมเป็ นผูก้ าหนด
รับข้อมูลนาเข้าจากสื่ อต่าง ๆ เช่น แป้ นพิมพ์ แฟ้ มข้อมูล
กาหนดค่าเริ่ มต้น
พิมพ์หวั รายงาน
รับข้อมูลนาเข้า (ถ้ามี)
ระบุการดาเนินการ
แสดงผลลัพธ์
นาเสนอแม่แบบด้วยผังงานหรื อรหัสจาลอง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ตัวอย่างปัญหาโจทย์ทางคอมพิวเตอร์
 ต้องการทราบผลลัพธ์ของ 7 + 5 ให้แสดงผลลัพธ์ที่กระดาณพิมพ์
 ให้รับข้อมูลเข้าจากผูใ้ ช้ โดยนาข้อมูลนาเข้าทั้งสองจานวนเป็ นตัวเลขจานวน
เต็มใดๆ แล้วให้ทาการเปรี ยบเทียบหาค่าที่มากกว่า แสดงผลทางจอภาพ
 ให้รับข้อมูลจานวนเต็มจากผูใ้ ช้ 3 จานวนที่ไม่เท่ากัน แล้วดาเนินการ
เปรี ยบเทียบหาค่าสู งสุ ด และแสดงค่าสู งสุ ดค่านั้นทางจอภาพ
 ให้เขียนโปรแกรมเพื่อให้คอมพิวเตอร์ แสดงค่า 1-10 ทางจอภาพ
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ตัวอย่างปัญหาโจทย์ทางคอมพิวเตอร์ (ต่อ)
ปัญหา
ให้เขียนโปรแกรมคานวณค่า x จาก x = (a+b+c)/abc
โดยใส่ ขอ้ มูล a, b และ c ทางแป้ นพิมพ์ (Keyboard)
และแสดงผลค่า x ที่กระดาณพิมพ์
วิเคราะห์ผลลัพธ์
ค่า x ทางกระดาณพิมพ์
วิเคราะห์ขอ้ มูล
ค่า a, b, และ c จากแป้ นพิมพ์
วิเคราะห์กระบวนการแก้ปัญหา
- รับค่า a, b และ c จากแป้นพิมพ์
- x = (a+b+c) / abc
- พิมพ์คา่ x ทางกระดาษพิมพ์
เริ่ มต้น
ใส่ค่า a, b และ c
x <-- (a+b+c)/(a*b*c)
พิมพ์ค่า…
x
สิ้นสุด
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ความหมายของผังงาน
 ผังงาน (Flowchart) เป็ นการใช้ภาพสัญลักณณ์ที่เป็ นสากลและคาอธิ บาย เพื่อ
แสดงอัลกอริ ทึมของการแก้ปัญหาตั้งแต่จุดเริ่ มต้นจนถึงสิ้ นสุ ด
 ผังงานเป็ นเสมือนแผนที่นาทางเพื่อบ่งบอกลาดับของกิจกรรม และเป็ น
เสมือนแม่แบบที่จะชี้นาในการเขียนประโยคคาสั่งด้วยภาณาคอมพิวเตอร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ประโยชน์ของผังงาน
 ประโยชน์ที่ได้จากผังงานสรุ ปได้ดงั นี้

ใช้แสดงความคิดให้เห็นเป็ นภาพสัญลักณณ์

ใช้เป็ นสื่ อกลางในการติดต่อประสานความคิดระหว่างผูท้ ี่เกี่ยวข้อง

ช่วยในการทดสอบหรื อทบทวนขั้นตอนการทางานเพื่อหาข้อผิดพลาด (Error)
ทั้งในขั้นทดสอบโปรแกรม และขั้นบารุ งรักณาโปรแกรม
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
 สัญลักณณ์ที่ใช้เขียนผังงานเป็ นสัญลักณณ์มาตรฐานสากล กาหนดขึ้นโดย
ANSI (The American National Standard Institute)
ภาพสัญลักษณ์
ความหมาย
Processing
Input/Output
Data
กระบวนการ การคานวณ
ข้ อมูล รับหรื อแสดงข้ อมูลโดยไม่
ระบุชนิดอุปกรณ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
Decision
Symbol
Document
Output
การตัดสินใจ การเปรี ยบเทียบ
เอกสารแสดงผล, การแสดงผลทาง
เครื่ องพิมพ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
ภาพสัญลักษณ์
Preparation
Symbol
ความหมาย
การเตรี ยมการ การกาหนดค่า
ล่วงหน้ าหรื อกาหนดค่าเป็ นชุดตัวเลข
Manual Input
ป้อนข้ อมูลด้ วยตนเอง การรับข้ อมูล
เข้ าทางแป้นพิมพ์
Manual Control
ขันตอนที
้
่ทาด้ วยตนเอง การควบคุม
โปรแกรมทางแป้นพิมพ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
More Document
เอกสารแสดงผลหลายฉบับ
Monitor
จอภาพแสดงผล
Card
การ์ ดหรื อบัตรเจาะรู ใช้ ใส่ข้อมูล
Tape
เทป (สื่อบันทึกข้ อมูล)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
ภาพสัญลักษณ์
Start/End Symbol
ความหมาย
เริ่ มต้ น/สิ ้นสุด, การเริ่ มต้ นหรื อการ
ลงท้ าย
Connection
Symbol
จุดเชื่อมต่อในหน้ าเดียวกัน
Connection
Symbol
ตัวเชื่อมต่อไปหน้ าอื่น
จุดร่วมการเชื่อมต่อ
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักณณ์ผงั งาน (Flowchart Symbols)
ภาพสัญลักษณ์
ความหมาย
ดิสก์แม่เหล็ก
หน่วยเก็บแบบเข้ าถึงโดยตรง
Flow Line
เส้ นแสดงลาดับกิจกรรม
Comment Line
แสดงคาอธิบายหรื อหมายเหตุ
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักษณ์ที่ใช้ บอ่ ย
 แทนการประมวลผลทัว่ ไป ยกเว้ นการอ่านข้ อมูลและการแสดงผลลัพธ์
 แทนการนาข้ อมูลเข้ า (Input) และการนาผลลัพธ์ออก (Output) โดยทัง้
2 กรณีนี ้ยังไม่ได้ ระบุชนิดเครื่ องมือหรื ออุปกรณ์ที่ใช้
 แทนกิจกรรมเปรี ยบเทียบข้ อมูลกับเงื่อนไข โดยมีเส้ นทางออกเป็ น
ทางเลือก
 แทนกิจกรรมเตรี ยมการ หรื อกาหนดคุณลักษณะของการทางานวนซ ้า
ชนิดที่ร้ ูจานวนรอบแน่นอน
 แทนจุดเริ่ มต้ น และจุดสิ ้นสุดงาน ซึง่ อาจเป็ นทังโปรแกรมย่
้
อย
(Subroutine) หรื อโปรแกรมหลัก
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักษณ์ที่ใช้ บอ่ ย
อ่านข้ อมูล...
อ่านข้ อมูลจากแป้นพิมพ์
อ่านข้ อมูล...
อ่านข้ อมูล...
อ่านข้ อมูลจากอุปกรณ์ใดๆ
สัญลักษณ์แทนการอ่านข้ อมูลที่ระบุและไม่ระบุอปุ กรณ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
สัญลักษณ์ที่ใช้ บอ่ ย
แสดงผล...
แสดงผล...
แสดงผลทางจอภาพ
แสดงผล...
แสดงผลในรูปเอกสาร
(เครื่ อง printer)
แสดงผล...
แสดงผลทางอุปกรณ์ใดๆ
สัญลักษณ์แทนการแสดงผลโดยระบุและไม่ระบุอปุ กรณ์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 นอกจากการใช้ สญ
ั ลักษณ์ผงั งานเป็ นเครื่ องมือแล้ ว ภายในรูปสัญลักษณ์
นันๆ
้ จะต้ องมีคาบรรยายประกอบเพื่อสื่อความเข้ าใจด้ วย
 คาบรรยายในผังงานนิยมใช้ ภาษาธรรมชาติ (Natural Language) ต้ องไม่
เอาภาษาคอมพิวเตอร์ มาใช้ หรื อมาปะปน
 ผังงานที่ได้ จะเป็ นอัลกอริ ทมึ แม่แบบที่ผ้ เู ขียนโปรแกรมจะนาไปเขียนประโยค
คาสัง่ ด้ วยภาษาคอมพิวเตอร์ ตอ่ ไป
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 ตัวอย่าง จงหาค่า x จากสมการ x = (a+b-c)/100 โดยใส่ข้อมูล a, b, c ทาง
แป้นพิมพ์และแสดงผลค่า x ทางจอภาพ
เริ่ มต้น
Program Sample;
Uses crt;
Var a, b, c, x : real
ใส่ ค่า a, b, c
Begin
Clrscr;
x  (a+b-c)/100
Readln(a,b,c);
x := (a+b-c)/100
แสดงค่า x
Writeln(x:8:2);
End.
สิ้ นสุ ด
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายประกอบสัญลักษณ์ผงั งาน


เป็ นการอธิบายเสริ มความหมายของสัญลักษณ์นนๆ
ั้
รูปสัญลักษณ์ที่มกั มีคาอธิบายประกอบเสมอ คือ Input/Output Symbol

กิจกรรมอ่านข้ อมูลเข้ าเครื่ อง คาบรรยายมีหลายแบบ เช่น
อ่านค่า...
รับค่า...
อ่านค่า...
ใส่ข้อมูล...
Input...
Read...
ใส่คา่ ...
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายประกอบสัญลักษณ์ผงั งาน (ต่อ)

กิจกรรมแสดงผลลัพธ์
มีคาบรรยายหลายแบบ เช่น
Display...
แสดงค่า...
แสดงค่า...
พิมพ์คา่ ...
Display...
Print...
Show...
Print...
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายกิจกรรม
ภายในรูปสัญลักษณ์จะบรรจุรายละเอียดของกิจกรรมซึง่ เกี่ยวข้ องกับข้ อมูล
(Data) ตัวแปร (Variable name) และเครื่ องหมายดาเนินการ (Operators)

ข้ อมูล
 ข้ อมูลตัวเลข เช่น 100, 25, 15.25
 ข้ อมูลตัวอักษรหรื อข้ อความ เช่น “ABC”, “25”, “242158”

ตัวแปร เป็ นตัวอักษรเดี่ยวหรื อตัวอักษรหลายตัวที่กาหนดให้ เป็ นชื่อตัวแปร เช่น ใส่
ค่า a, b แสดงค่า area
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายกิจกรรม (ต่อ)

เครื่ องหมายดาเนินการในผังงาน
 เครื่ องหมายดาเนินการกาหนดค่า (Assignment Operators) เป็ นเครื่ องหมายที่แสดง
การใส่ค่าลงในตัวแปร คือ นาค่าทางขวาของเครื่ องหมายไปเก็บในตัวแปรทางด้ านซ้ าย
ภาษาธรรมชาติ
หรื อ เท่ากับ
ภาษา Pascal
ภาษา C
ความหมาย
:=
=
นาค่าข้ อมูลทางขวาไปไว้ ใน
ตัวแปรทางซ้ าย
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
ผังงาน
A
ความหมาย
25
หรื อ
กาหนดให้ 25 ไปเก็บไว้ ที่ A
Set A to25
Count
Count +1
หรื อ
เพิ่มค่าของ Count อีก 1
แล้ วไปเก็บไว้ ที่ Count เดิม
Set Count to Count +1
แสดงตัวอย่างการใช้ Assignment Operator
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายกิจกรรม (ต่อ)

เครื่ องหมายดาเนินการในผังงาน (ต่อ)
 เครื่ องหมายดาเนินการเปรี ยบเทียบความสัมพันธ์ (Relational Operators) เป็ น
เครื่ องหมายแสดงการเปรี ยบเทียบความสัมพันธ์ทางตรรกะระหว่างนิพจน์ทางซ้ ายกับ
นิพจน์ทางขวาว่าเป็ น จริง (True) หรื อ เท็จ (False)
ภาษาธรรมชาติ
ภาษา Pascal
ภาษา C
ความหมาย
<
<
<
น้ อยกว่า
>
>
>
มากกว่า
=
=
==
เท่ากัน
<> >< =
<> ><
!=
ไม่เท่ากัน
<= ≤
<=
<=
น้ อยกว่าหรื อเทียบเท่า
>= >
>=
>=
มากกว่าหรื อเทียบเท่า
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
Count = 0
Case?
1
2
3
4
A=1
A=2
Data > 0
Data ≠ 0
แสดงตัวอย่างการใช้ Relational Operators
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายกิจกรรม (ต่อ)

เครื่ องหมายดาเนินการในผังงาน (ต่อ)
 เครื่ องหมายดาเนินการเปรี ยบเทียบความสัมพันธ์ทางตรรกะ (Logical Operators) เป็ น
เครื่ องหมายแสดงความสัมพันธ์ระหว่างกลุ่มตัวถูกกระทา ซึ่งมีหลายกลุ่มในลักณณะที่
สัมพันธ์แบบสอดคล้อง (and) เลือกอย่างใดอย่างหนึ่ง (or) หรื อเป็ นตรงกันข้ามกัน (not)
โดยผลการเปรี ยบเทียบจะเป็ น จริ ง หรื อ เท็จ
ภาษาธรรมชาติ
ภาษา Pascal
ภาษา C
ความหมาย
and, และ
and
&&
และ
or, หรื อ
or
||
หรื อ
not, ตรงข้ ามกับ
not
!
ปฏิเสธ (ตรงข้ าม)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
ผังงาน
a > b หรื อ a < 100
ความหมาย
a มากกว่า b หรื อน้ อยกว่า 100
x > 100 or y = 0
x มากกว่า 100 หรื อ y เท่ากับ 0
Salary < 10000 and
not Salary < 5000
Salary น้ อยกว่า 10000 และไม่น้อย
กว่า 5000
แสดงตัวอย่างการใช้ Logical Operators
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายกิจกรรม (ต่อ)

เครื่ องหมายดาเนินการในผังงาน (ต่อ)
 เครื่ องหมายดาเนินการทางคณิ ตศาสตร์ (Arithmetic Operators)
ภาณาธรรมชาติ
+
×
ภาณา Pascal
ภาณา C
+
*
+
*
ความหมาย
บวก
ลบ
คูณ
÷, / หรื อเศณส่ วน
/
div
mod
/
/ (เฉพาะจานวนเต็ม)
% (อ่าน Modulus)
หาร
หารเอาจานวนเต็ม
หารเอาเฉพาะเศณ
หารเอาจานวนเต็ม
หารเอาเฉพาะเศณ
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
x (a + b – c) / 100
Hour
min หารเอาจานวนเต็มด้วย 60
Minute min หารเอาเฉพาะเศณด้วย 60
แสดงตัวอย่างการใช้ Arithmetic Operators
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ภาษาที่ใช้ ในการบรรยายผังงาน
 คาบรรยายประกอบทิศทางการทางาน


กิจกรรมตรวจสอบเงื่อนไขเพื่อการตัดสินใจ แบบ 2 ทางเลือก ต้ องมีคาบรรยาย
ว่าทางออกใดเป็ นทางจริ ง (True) ทางออกใดเป็ นทางเท็จ (False)
กิจกรรมตรวจสอบเงื่อนไขเพื่อการตัดสินใจที่มีทางเลือกมากกว่า 2 ทาง ต้ องมี
คาบรรยายที่เป็ นกรณีที่ต้องการ (Case ที่ระบุ)
 คาบรรยายหมายเหตุเพิ่มเติมในผังงาน
อ่านค่า N
N เป็ นจานวน
ข้อมูลทั้งหมด
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมหาค่าผลรวม
รายละเอียดของงาน(โจทย์)

ให้เขียนโปรแกรมหาผลรวม ของตัวเลข 1 ถึง 5
 วิเคราะห์งาน

ขั้นตอนการทางาน

การหาผลรวมนี้คล้ายกับการหยอดเหรี ยญเก็บสะสมในกระปุกออมสิ น 5 ครั้ง
คือ หยอด 1, 2, 3, 4, 5 บาทตามลาดับ

อันดับแรกให้เทสิ่ งต่างๆออกจากกระปุกให้หมด

จากนั้นใส่ เงินในครั้งแรกก่อน(รวม 5 ครั้ง)

เมื่อหยอดครอบแล้วจึงนากระปุกมาตรวจว่ามีท้ งั หมดเท่าใด

กาหนดชื่อตัวแปร

จากขั้นตอนที่กล่าวมากาหนดตัวแปรได้คือ

S คือกระปุกออมสิ น(ใช้เก็บผลรวม)

X คือเงินในแต่ละครั้งที่หยอดลงกระปุก

กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
- ขั้นที่ 1 นากระปุกออมสิ นมาเทสิ่ งต่ างๆออกให้ หมด
start
S=0
- ขั้นที่ 2 หยิบ X บาทครั้งแรกมา
start
S=0
X=1
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน(ต่ อ)
- ขั้นที่ 3 หยอด X ลงในกระปุก (นั่นคือ S = S+X)
start
S=0
X=1
S = S+X
หมายเหตุ การใส่ เงิน X บาทลงในกระปุก S นั้นเราจะใช้คาสั่ง S = S + X (สะสม)
เป็ นการบวกค่า S ด้วย X แล้วนาผลลัพธ์มาใส่ ยงั S ตามเดิม
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน(ต่ อ)
- ขั้นที่ 4 ครั้งต่ อมา เพิม่ เงินขึน้ อีก 1 บาท นั่นคือเพิม่ ค่ า X (X = X+1)
start
S=0
X=0
S = S+X
X=X+1
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน(ต่อ)
- ขั้นที่ 5 วนกลับมาทาขั้นตอนที่ 3 และ 4 ( คือใส่ ค่า X ลงใน S และเพิม่ ค่ า X อีกครั้ง
ละ 1) ไปเรื่อย ๆ โดยเพิม่ เงื่อนไขว่ าหาก X มีค่ามากกว่ า 5 จะหยุดการทางาน
start
S=0
X=1
X>5
Y
N
S = S+X
X=X+1
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน(ต่อ)
start
- ขั้นที่ 6 เมื่อ ค่ า X มีค่ามากว่ า 5 แล้ วให้ เลิก
การเวียนทาเพือ่ แสดงค่ า S ที่คานวณได้ และ
สิ้นสุ ดการทางาน
S=0
X=0
X>5
Y
N
S = S+X
Print S
X=X+1
STOP
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมหาพืน้ ทีส่ ี่ เหลีย่ ม
รายละเอียดของงาน(โจทย์)

ให้เขียนโปรแกรมหาพื้นที่สี่เหลี่ยมโดยสู ตร พื้นที่ = กว้าง*ยาว
 วิเคราะห์งาน

ขั้นตอนการทางาน

ทาการอ่านค่าของ ด้านกว้าง และด้านยาว(สองค่า)

คานวณหาพื้นที่โดยนาค่าทั้งสองคูณกันเก็บไว้ที่เก็บผลลัพธ์

จากนั้นกลับมารับค่าของด้านกว้าง และด้านยาวของสี่ เหลี่ยมรู ปใหม่

ทาจนกว่าจะหมดจานวนการหาพื้นที่สี่เหลี่ยม

กาหนดชื่อตัวแปร

W คือความกว้าง

L คือความยาว

AR คือพื้นที่ที่คานวณได้

กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
- ขั้นที่ 1 อ่ านค่ าด้ านกว้ างและด้ านยาวของสี่ เหลี่ยมที่ 1
start
READ(W,L)
- ขั้นที่ 2 คานวณหาพืน้ ที่โดยใช้ สูตรการหาพืน้ ที่สี่เหลีย่ มแล้ วเก็บผลลัพ์์ ไว้ ที่ AR
start
READ(W,L)
AR = W * L
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
- ขั้นที่ 3 แสดงค่ าผลลัพ์์ ที่คานวณได้ ออกที่จอภาพ
START
READ(W,L)
AR = W * L
PRINT (W,L,AR)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
 ขั้นที่ 4 วนกลับทาขั้นตอนที่ 1-3 ใหม่ เพือ่ ทาการรับค่ าและคานวณหาพืน
้ ที่ของ
สี่ เหลีย่ มรู ปใหม่
START
READ(W,L)
AR = W * L
PRINT (W,L,AR)
การวนอย่างนี้เรายังไม่รู้วา่ จะหมด
ข้อมูลเมื่อใดดังนั้นเราจึงสมมุติให้วา่
ถ้ากรอกความกว้างของด้านเป็ น 0
แสดงว่าข้อมูลไม่มีให้หาพื้นที่แล้วจึง
สิ้ นสุ ดการทางานของโปรแกรม
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
START
- ขั้นที่ 4 วนกลับทาขั้นตอนที่ 1-3
ใหม่ เพือ่ ทาการรับค่ าและคานวณหา
พืน้ ที่ของสี่ เหลีย่ มรู ปใหม่
READ(W,L)
W=0
N
AR = W * L
Y
STOP
PRINT (W,L,AR)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมหาค่ าสู งสุ ด
รายละเอียดของงาน(โจทย์ )

ให้เขียนโปรแกรมหาคะแนนนักเรี ยนที่มีคะแนนมากที่สุด
 วิเคราะห์ งาน

ขั้นตอนการทางาน

ทาการอ่านค่าของคะแนนนักเรี ยนคนแรก

จดจาคะแนนคนแรกเป็ นคะแนนสูงสุ ดเลย

จากนั้นอ่านค่าของคะแนนนักเรี ยนคนถัดมา

เปรี ยบเทียบคะแนนคนแรกกับคนที่อ่านมาใหม่ถา้ คะแนนที่อ่านมาใหม่ไม่มี
ค่ามากกว่าก็ไม่เปลี่ยนแปลงอะไรถ้ามากกว่าก็จดจาค่าที่มากว่าไว้

จากนั้นก็อ่านคะแนนนักเรี ยนมาใหม่และทาการเปรี ยบเทียบซ้ าอีกจนกว่าจะ
หมดข้อมูลคะแนนนักเรี ยน

กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมหาคะแนนสู งสุ ด(ต่ อ)

กาหนดชื่อตัวแปร



MX คือคะแนนสูงสุ ด
X คือคะแนนนักเรี ยน
เขียนผังงาน
– ขั้นที่ 1 อ่านค่าคะแนนนักเรี ยนคนแรก
START
READ(X)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
- ขั้นที่ 2 จดจาคะแนนนักเรียนคนแรกเป็ น
คะแนนสู งสุ ด
START
- ขั้นตอนที่ 3 รับค่าคะแนนของคน
ถัดมาใหม่
START
READ(X)
READ(X)
MX = X
MX = X
READ(X)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
START
- ขั้นที่ 4 นาคะแนนที่อ่านมาใหม่
เปรียบเทียบกับค่ าที่จดจาไว้ ถ้ า
X มีค่ามากว่ าให้ MXเปลี่ยนเป็ น
คะแนน X ตัวใหม่
READ(X)
MX = X
READ(X)
X > MX
N
Y
MX = X
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
START
READ(X)
- ขั้นที่ 5 วนกลับมาทาขั้นตอนที่ 3
และ 4 (รับคะแนนนักเรียนคนใหม่ มา)
จนกว่ าจะครบทุกคน (ในที่นีเ้ ราจะใช้
ตัวเลขคะแนน –1เพือ่ บอกว่ าเป็ นคน
สุ ดท้ ายแล้ ว)
MX = X
READ(X)
X =-1
N
X > MX
N
Y
Y
MX = X
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน
START
READ(X)
- ขั้นที่ 6 เมื่อหมดคะแนน
นักเรียนแล้ วจึงแสดงค่ า
คะแนนสู งสุ ดที่จัดเก็บมา
MX = X
READ(X)
X =-1
N
X > MX
N
Y
Print MX
Y
MX = X
STOP
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมตัดเกรด


รายละเอียดของงาน(โจทย์ )

มีเกณฑ์ในการตัดเกรดขึ้นอยูก่ บั คะแนนดังนี้
สอบได้ 50 คะแนน จะได้กรด F
สอบได้ 50 – น้อยกว่า 60 คะแนน จะได้กรด D
สอบได้ 60 – น้อยกว่า 70 คะแนน จะได้กรด C
สอบได้ 70 – น้อยกว่า 80 คะแนน จะได้กรด B
สอบได้ 80 คะแนน ขึ้นไปจะได้กรด A
วิเคราะห์ งาน

ขั้นตอนการทางาน

ทาการอ่านค่าของคะแนนนักเรี ยนคนแรก(ถ้ามีชื่อของนักเรี ยนด้วยก็สามารถอ่านชื่อนักเรี ยน
ด้วย)

นาคะแนนมาเปรี ยบเทียบกับตารางการตัดเกรดว่าอยูใ่ นช่วงใด

จากนั้นแสดงเกรดที่ได้ของคะแนน(และชื่อนักเรี ยน)ดังกล่าว

จากนั้นก็อ่านคะแนน(ชื่อด้วยถ้ามี)นักเรี ยนมาใหม่และทาการเปรี ยบเทียบซ้ าอีกจนกว่าจะ
หมดข้อมูลคะแนนนักเรี ยน
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
โปรแกรมตัดเกรด (ต่ อ)

กาหนดชื่อตัวแปร




NM คือชื่อนักเรี ยน
SC คือคะแนนนักเรี ยน
GR คือเกรดของนักเรี ยนเทียบจากคะแนน
เขียนผังงาน
– ขั้นที่ 1 อ่านค่าคะแนนและชื่อนักเรี ยนคนแรก
START
READ(NM)
READ(SC)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
 เขียนผังงาน(ต่ อ)
 ขั้นที่ 2 ทาการตัดเกรดนักเรียนโดยไล่
เปรียบเทียบว่ าน้ อยกว่ า 50 คะแนนหรือไม่
START
ในกรณี ที่ไม่นอ้ ยกว่าก็นาคะแนนมา
เทียบว่าน้อยกว่า 60 หรื อไม่ถา้ ใช่
ก็ให้เกรดเป็ น D
START
READ(NM)
READ(SC)
READ(NM)
READ(SC)
SC < 50
GR = ‘F’
SC < 50
N
SC < 60
N
Y
GR = ‘F’
Y
GR = ‘D’
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
ในกรณี เดียวกันหากคะแนนที่สอบนั้นไม่นอ้ ยกว่า 60 คะแนนก็ไล่เทียบกับค่าอื่นตามลาดับ
START
READ(NM)
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
GR = ‘B’
หมายเหตุ กรณี ที่คะแนนไม่ต่ากว่า 80 เรา จะให้เกรดเป็ น A โดยไม่ตอ้ งเปรี ยบอะไรเลยเพราะคนที่
สอบได้คะแนนไม่นอ้ ยกว่า 80 คะแนนคือคนที่สอบได้ 80 คะแนนขึ้นไปนัน่ เอง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
START
READ(NM)
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
ขั้นที่ 3เมือ่ ทราบว่ าเป็ นเกรดอะไร
แล้ วก็แสดงเกรดออกมาทีจ่ อภาพ
พร้ อมคะแนน และชื่อนักเรียน
GR = ‘B’
Print(NM,SC,GR)
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
START
READ(NM)
NM <> “X”
READ(SC)
SC < 50
N
SC < 60
N
SC < 70
N
SC < 80
N
GR = ‘A’
Print(NM,SC,GR)
STOP
Y
GR = ‘F’
Y
GR = ‘D’
Y
GR = ‘C’
Y
ขั้นที่ 4 เมือ่ ตัดเกรด 1 คนต้ องแล้ ว
ย้ อนไปทางานขั้นตอนที่ 1-3 เพือ่ อ่ าน
คะแนน,ชื่อมาตัดเกรดต่ อทีละคน
จนกว่ าจะหมดข้ อมูล
GR = ‘B’
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์
แบบฝึ กหัด






จงเขียนผังงานแสดงคานวณพื้นที่สามเหลี่ยมโดยมีสูตร
พื้นที่สามเหลี่ยม = 0.5*ฐาน*สูง
จงเขียนผังงานแสดงคานวณหาผลรวมของ 1+3+5+9+11+..+99
จงเขียนผังงานแสดงคานวณหาผลรวมของเลขคู่ต้ งั แต่ 0 จนถึง 500
จงเขียนผังงานแสดงคานวณหาค่าเฉลี่ยคะแนนนักเรี ยนจานวน 10 คน
จงเขียนผังงานแสดงคานวณหาค่าเฉลี่ยคะแนนนักเรี ยนจนกว่าจะหมดข้อมูล
จงเขียนผังงานแสดงคานวณหาภาณีตามหลักเกณฑ์ดงั นี้

รายได้อยูใ่ นช่วง 1 บาท
– น้อยกว่า 50,000 บาทคิดภาณี 5% ขอรายได้

รายได้อยูใ่ นช่วง 50,000 บาท – น้อยกว่า 75,000 บาทคิดภาณี 10% ขอรายได้

รายได้อยูใ่ นช่วง 75,000 บาท – น้อยกว่า 100,000 บาทคิดภาณี 15%ขอรายได้

รายได้อยูใ่ นช่วง 100,000 บาทขึ้นไป คิดภาณี 20% ขอรายได้
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์