flow chart · 2015-09-13 · 2. ผังงานโปรแกรม (program flowchart)...
TRANSCRIPT
อ.นิรันดร เลิศวีรพล-
บทที่ 3 ผังงาน Flow Chart
Flow Chart-• ก่อนที่เราจะสร้างโปรแกรมเพื่อใช้งานใดงานหนึ่ง เราก็ต้องมานั่งนึกก่อนว่าจะออกแบบโปรแกรมให้มีลักษณะเป็นอย่างไร มีการเปรียบเทียบกันอย่างไรบ้าง สิ่งเหล่านี้จะเป็นวางแผนหรือออกแบบก่อนที่เราจะลงมือสร้างเป็นโปรแกรมจริงๆ ขึ้นมา โดยในการออกแบบนี้เราจะใช้วิธีการเขียนแบบให้อยู่ในรูปของสัญลักษณ์ หรือที่เราเรียกว่า ผังงาน (Flowchart)
• ผังงาน คือ รูปภาพหรือสัญลักษณ์ที่ใช้แทนลําดับหรือขั้นตอนการทํางานของโปรแกรม โดยแต่ละรูปภาพหรือสัญลักษณ์ของผังงานจะกําหนดให้มีความหมายว่า อยู่ในขั้นตอนการทํางานอะไร
ข้ันตอนของการเขียนโปรแกรม -
• การวิเคราะห์ปัญหา (Analysis the Problem) • การออกแบบโปรแกรม (Design a Program) โดยใช้
Flow Chart • การเขียนโปรแกรม (Implementation หรือ Coding) • การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and
Debugging) • การตรวจสอบความถูกต้องของโปรแกรม (Validating) • การทําเอกสารคู่มือโปรแกรม (Documentation) • การบํารุงรักษาโปรแกรม (Program Maintenance)
การวิเคราะห์ปัญหา-
การออกแบบโปรแกรม -
การเขียนโปรแกรม-
การตรวจสอบข้อผิดพลาด -
การทำเอกสารคู่มือ-
การตรวจสอบความถูกต้อง-
การบำรุงรักษาระบบ-ขั้นตอนของการพัฒนาโปรแกรม 1
ประโยชน์ของผังงาน ถ้าจะเปรียบเทียบการเขียนโปรแกรมก็เปรียบได้กับการสร้าง
บ้าน และการเขียนผังงานก็เปรียบได้กับการเขียนแปลนบ้านนั่นเอง ดังนั้นประโยชน์ของผังงานก็จะมีดังนี้
• ช่วยให้สามารถลําดับการเขียนโปรแกรมได้โดยไม่สับสน • สามารถตรวจสอบลําดับขั้นต่างๆ ได้โดยง่าย เมื่อมีข้อผิดพลาดเกิดขึ้น • สามารถทําการดัดแปลงและแก้ไขให้มีความเหมาะสมได้โดยง่าย • ผู้อื่นสามารถช่วยพัฒนาและศึกษาโปรแกรมของเราต่อได้
Flow Chart-
ประเภทของผังงาน • โดยทั่วไปแล้ว ผังงานจะมีอยู่ 2 ประเภท คือ 1. ผังงานระบบ (System Flowchart) เป็นผังงานที่ใช้สําหรับการออกแบบขั้นตอนการทํางานของระบบงานหนึ่งๆ เช่น ระบบของการลงทะเบียนเรียนนิสิต นิสิตจะต้องรับใบลงทะเบียนจากอาจารย์ที่ปรึกษา นํามาให้ฝ่ายทะเบียนและวัดผลคํานวณจํานวนเงินและรายวิชาที่ต้องเรียน นําใบลงทะเบียนไปชําระเงินที่ฝ่ายการเงิน เป็นต้น ผังงานระบบนี้จะเป็นลําดับขั้นตอนของการทํางานโดยรวมว่าเริ่มจากที่ใดแล้วไปสิ้นสุดที่ใด
Flow Chart-
ตัวอยาง ผังงานระบบ เริ่ม-
-
รับใบลงทะเบียนจาก-
อาจารยที่ปรึกษา-
-
ฝายทะเบียนตรวจ-
-
ชำระเงิน-
-
หยุดการทำงาน-
Flow Chart-
2. ผังงานโปรแกรม (Program Flowchart) เป็นผังงานที่เรานิยมมาใช้ในการเขียนเพื่อออกแบบโปรแกรม ผังงานนี้จะลงรายละเอียดว่าจุดแต่ละจุดที่คอมพิวเตอร์ทํางานจะมีขั้นตอนอย่างไร และเปรียบเทียบผลลัพธ์ที่ได้ว่า ถ้าผลลัพธ์ออกมาอย่างนี้ให้ทํางานอะไรต่อ และถ้าผลลัพธ์ออกมาอย่างนี้ให้ทํางานอะไรต่อ จากนั้นจึงนําขั้นตอนเหล่านั้นไปแปลความหมายเขียนเป็นคําสั่งคอมพิวเตอร์ต่อไป
Flow Chart-
ตัวอยาง ผังงานโปรแกรม-
Flow Chart-
โครงสร้างของผังงาน โครงสร้างของผังงานจะมีอยู่ 3 รูปแบบ ดังนี้
1 โครงสร้างการทํางานแบบลําดับขั้น (Sequence) เป็นการทํางานที่เป็นลําดับ มีทิศทางเดียว ไม่ข้ามขั้นและไม่ย้อนกลับ
ขั้นตอนการทํางานที่ 1
ขั้นตอนการทํางานที่ 2
Flow Chart-
2 โครงสร้างการทํางานแบบมีการเลือก (Selection) เป็นลักษณะของการเปรียบเทียบแบบมีเงื่อนไข และเมื่อเปรียบเทียบแล้วก็จะเลือกว่าให้ไปทํางานในขั้นตอนใดต่อไป
Flow Chart-
จริง- เท็จ -เง่ือนไข-
ข้ันตอนการทำงานที่ 2 -ข้ันตอนการทำงานที่ 1 -
3. โครงสร้างแบบมีโครงสร้างการทํางานซ้ํา (Iteration) เป็นลักษณะของการทํางานที่ตรวจสอบหาความจริงว่าเป็นจริงหรือไม่ ถ้าไม่เป็นจริงให้ตรวจสอบต่อไปจนกว่าจะจริง ซึ่งจะเป็นลักษณะการทํางานซ้ําๆ กัน เราเรียกว่าลักษณะนี้ว่า การวนลูป (Looping)
Flow Chart-
การเขียนผังงาน การเขียนผังงานจะใช้รายละเอียดจากการวิเคราะห์
งาน ซึ่งประกอบด้วย การรับข้อมูล(Input) การประมวลผล(Process) และการแสดงผล(Output) โดยใช้สัญลักษณ์ที่มีความหมายตรงกับลําดับหรือขั้นตอนนั้น และเพื่อให้การเขียนผังงานมีมาตรฐาน ผู้อื่นสามารถอ่านและเข้าใจได้ง่าย ควรมีวิธีการเขียนผังงานดังนี้
1. ทิศทางของผังงานจะเริ่มจากส่วนบนของหน้ากระดาษลงมาส่วนล่าง และจากซ้ายไปขวา โดยมีลูกศรกํากับทิศทาง
Flow Chart-
2. ขนาดของรูปภาพสามารถเขียนให้มีขนาดต่างๆ ได้ แต่ต้องตรงตามรูปแบบที่กําหนด 3. การเขียนทิศทางของผังงานควรมีความเป็นระเบียบ ไม่เขียนโยงไปโยงมา ถ้าหลีกเลี่ยงไม่ได้ให้ใช้เครื่องหมายจุดต่อเนื่องแทน 4. ข้อความที่เขียนอธิบาย ควรเขียนสั้นๆ และได้ใจความ 5. ควรมีการทดสอบผังงานก่อนนําไปเขียนเป็นโปรแกรมจริงๆ
Flow Chart-
สัญลักษณ ! ความหมาย/
1 - - แสดงการเร่ิมตน หรือการสิ้นสุดของการเขียนผังงาน!
2 - - การรับขอมูล หรือแสดงขอมูล ผลลัพธไมระบุสื่อ!!
3 - - การรับขอมูล หรือแสดงขอมูลโดยจานแมเหล็กเปนสื่อ!
4 - - การแสดงขอมูลหรือผลลัพธพิมพออกทางเคร่ืองพิมพบนกระดาษตอเนื่อง!
Flow Chart-สัญลักษณและความหมายของผังงาน !
5 - การแสดงผลลัพธออกทางจอภาพ!!
6 - - แสดงการประมวลผล!
7 - - แสดงการเปรียบเทียบหรือตัดสินใจ!
8 - - เสนแสดงทิศทางลำดับของการทำงาน!
Flow Chart-
9 - -
แสดงจุดตอเนื่องจากที่หนึ่งไปยังอีกที่หนึ่งของผังงานหนึ่งๆ ที่ไมสะดวกจะใชเสน โดยเปนจุดตอเนื่อง
ที่อยูหนาเดียวกัน -
10 - - แสดงจุดตอเนื่องที่อยูคนละหนากัน!
11 - - บันทึกขอมูลหรือคำสั่งเขาประมวลผลโดยตรงทางแปนพิมพ!
Flow Chart-
ตัวอยางที่ 1 จงเขียนผังงานสำหรับการคำนวณหาคะแนนรวมของการสอบกลางภาคและการสอบปลายภาคของนิสิตที่ลงทะเบียนเรียนวิชาศาสตรคณิตกรเบื้องตน ในภาคการศึกษาหนึ่ง-
Flow Chart-
ตัวอยางที่ 2 จงเขียนผังงานสำหรับคำนวณหาจำนวนเงินลงทะเบียนเรียนของนิสิตมหาวิทยาลัยมหาจุฬาลงกรณราชวิทยาลัย วิทยาเขตขอนแกน-
Rกำหนด -
R RID คือ รหัสประจำตัวนิสิต R-
R RT คือ คาลงทะเบียนของนิสิตแตละรูป-
R RS คือ นิสิตภาคปกติหรือพิเศษ-
R RTotal คือ คาลงทะเบียนของนิสิตทั้งหมด-
R RC คือ จำนวนหนวยกิตที่นิสิตลงทะเบียนเรียน -
R RPali คือ เรียนบาลีเสริมคิด 500 บาท-หมายเหตุ ภาคปกติหนวยกิตละ 25 บาท-R Rภาคพิเศษหนวยกิตละ 250 บาท-
Flow Chart-
Flow Chart-
• จงเขียนผังงานสำหรับคำนวณหาพื้นที่สามเหลี่ยม-
เริ่มตน-
รับคา ความสูง(h) -และความยาวฐาน (b)-
พ.ท.= ½ x h x b -
แสดงคา พ.ท.-
ส้ินสุด-
จงเขียนผังงานสำหรับคำนวณหาพื้นที่วงกลม-สูตรคำนวณหาพื้นที่วงกลม คือ 22/7 x r2 -
10 cm-
5 cm-
สูตรหาพื้นที่รูปสามเหลี่ยมมุมฉาก คือ ½ x สูง x ฐาน-
• จงเขียนผังงานเพื่อตรวจสอบชื่อ/รหัสของผูเขามาใช
งาน หากชื่อ/รหัสตรงกันก็ใหใชงานได แตถาไมตรง
ใหมีคำเตือนบอกไว-
กำหนด ชื่อหรือรหัสผานคือ nirandorn-
เริ่ม-
ปอนรหัสผาน
(p)-
P=nirandorn-
รหัสผิด
กรอกใหม-
เขาใช
งานได-
รหัสไมถูก- รหัสถูก-
ส้ินสุด-
จงเขียนผังงานเพื่อตรวจสอบรหัสผาน ถารหัสถูกใหแสดงคำวา “ยินดีตอนรับ” ถารหัสไมถูกใหแสดงคำวา “รหัสผิด”-
จงเขียนผังงานสำหรับโปรแกรมคำนวณหาพื้นที่วงกลม-start-
Read r-
Area=(22/7)*r*r-
Show Area -
stop -
Read r-
จงเขียนผังงานคำนวณหาผลลัพธของการบวกตัวเลขต้ังแต 1 ถึง 6 -
start-
i=1 sum=0 -
sum=sum+i -
i >= 6 -
No -Yes-
Show sum-
stop -
i=i+1 -
จงเขียนผังงานสำหรับคำนวณเกรด โดย -
• คะแนน 80 – 100 เกรด A-
• คะแนน 70 – 79 เกรด B -
• คะแนน 60 – 69 เกรด C -
• คะแนน 50 – 59 เกรด D-
• คะแนนต่ำกวา 50 ไดเกรด F -
start-
Read score -
Score>= 80 -
No - Yes-
Grade=A-
Score>= 70 -
No - Yes-
Grade=B-
Score>= 60 -
stop -
จงเขียนผังงานสำหรับคำนวณเกรด โดย -
คะแนน 60 – 100 เกรด S -
คะแนน 50 – 59 เกรด U-
คะแนนต่ำกวา 50 ไดเกรด I -
-
ถา N = 5!แลว F = ? !
start-
รับคา N -
M=1 F=1 -
M<=N -
F = F * M -
M = M + 1 -
แสดงคา F-
stop -
เท็จ- จริง-
การเขียนโปรแกรมเบ้ืองตน-
Uการเขียนโปรแกรม เปนการเปล่ียนขั้นตอนจากการเขียน
ผังงาน มาเปนรหัสคอมพิวเตอรโดยใชภาษาใดภาษาหนึ่งตาม
หลักไวยากรณของภาษาคอมพิวเตอรนั้นๆ อันไดแก ภาษา
BASIC, COBOL, PASCAL, C++ และ JAVA เปนตน ซึ่งในการ
เขียนโปรแกรมนั้นจะมีขั้นตอนตางๆ ดังนี้!
!
การเขียนโปรแกรมเบ้ืองตน-
• กำหนดวัตถุประสงคหรือความตองการของโปรแกรม!• กำหนดรูปแบบของสวนติดตอผูใช!• เลือกโปรแกรมภาษาคอมพิวเตอร!• กำหนดขั้นตอนการทำงานของโปรแกรม!• ทดสอบและแกไขโปรแกรม!!
การเขียนโปรแกรมเบ้ืองตน-
ตัวอยาง จงเขียนโปรแกรมสำหรับคำนวณหาพื้นที่ของวงกลม โดยกำหนดใหสามารถปอนความยาวของรัศมีไดที่ชองรับขอมูลที่หนาจอ จากนั้นทำการคำนวณและแสดงผลลัพธออกมาทางจอภาพ!
!
(เขียนโปรแกรมดวยโปรแกรม Visual Basic 6) !