11221. หน่ วยที 1 การออกแบบโปรแกรม
คอมพิวเตอร์
3. การเขียนโฟลว์ ชาร์ ต
( Flow Chart )
04-411-101 วิชา การโปรแกรมคอมพิวเตอร์
1 By อ.เกรียงไกร เหลืองอําพล
Jump to first page
2. 3.1 รปแบบของโฟลว์ ชาร์ ต
ู
่
การเขียนโฟลว์ชาร์ตจะเป็ นการถายทอดความเข้าใจทีได้จาก
่
การวิเคราะห์งานให้อยูในรู ปภาพหรื อสัญลักษณ์
ผูทีเขียนโปรแกรมจะสามารถเข้าใจลําดับขันตอนการเขียน
้
่
โปรแกรมได้รวดเร็ วและงายขึนโดยดูจากการเชือมโยงของ
สัญลักษณ์ และยังชวยให้ง่ายตอการตรวจสอบความถูกต้องของ
่ ่
ลําดับขันตอนในวิธีการประมวลผลด้วย….
2
Jump to first page
3. 3.2 สัญลักษณ์ ของโฟลว์ ชาร์ ต
สั ญลักษณ์ ความหมาย
Terminator แสดงการเริมต้ นหรือจบโปรแกรม
Data แสดงข้ อมลเข้ าหรือข้ อมลออก
ู ู
Display แสดงผลลัพธ์ ทางจอภาพ
Document แสดงผลลัพธ์ ทางเครืองพิมพ์
3
Jump to first page
4. สั ญลักษณ์ ความหมาย
Process การประมวลผล เช่ น การคํานวณ หรือกําหนดค่ า
Decision การเปรียบเทียบหรือตัดสิ นใจ
Preparation กําหนดค่ าเริมต้ น หรือการเตรียมความพร้ อม
Procedure
เครืองหมายของโปรแกรมย่ อย
Function
เส้ นแสดงทิศทางลําดับของการทํางานตามลกศร
ู
4
Jump to first page
5. สั ญลักษณ์ ความหมาย
จดต่ อเชือมในหน้ ากระดาษเดียวกัน
ุ
จดต่ อเชือมต่ างหน้ ากระดาษ
ุ
This is
comment การอธิบายส่ วนใดส่ วนหนึงในผังงานเพิมเติม
...
หรือหมายเหตุ
5
Jump to first page
6. 3.3 ขันตอนการเขียนโฟลว์ ชาร์ ต
การเขียนโฟลว์ ชาร์ ตจะใช้ รายละเอียดจากวิธีการประมวลผล
ของการวิเคราะห์ งานซึงประกอบด้ วยขันตอนทีสํ าคัญๆ คือการรับ
ข้ อมล (Input) การประมวลผล (Process) การแสดงผล (Output)
ู
นอกจากนีต้ องใช้ สัญลักษณ์ ทตรงกับความหมายด้ วย… เช่ น
ี
6
Jump to first page
7. ํ ่
1. การกําหนดค่ าเริมแรก (Initialization) เป็ นการกาหนดคาเริ มต้นให้ตว
ั
่
แปรบางตัว เชน ตัวแปรทีเป็ นตัวนับ จะใช้สญลักษณ์คือ
ั
Process หรื อ Preparation
่
2. การรับข้ อมล (Input) เป็ นการรับคาของตัวแปรทีระบุไว้ในขันตอน
ู
การนําข้อมูลเข้าของการวิเคราะห์งาน
Data
3. การประมวลผล (Process) เป็ นการแสดงวิธีการประมวลผลหรื อการ
คํานวณ ซึ งจะต้องกระทําทีละขันตามลําดับ
7
Process
Jump to first page
8. 4. การแสดงค่ าของข้ อมลหรือผลลัพธ์ (Output) เป็ นการแสดงผลลัพธ์
ู
่
หรื อคาของตัวแปร
Data หรื อ Display หรื อ Document
ั ่ ่
5. การทดสอบ (Testing) เป็ นการทดสอบตัวแปรกบคาใดคาหนึง เชน ่
end_data = 1 หรื อไม่ การทํางานมีลกษณะของการเปรี ยบเทียบ และ
ั
่ ํ
ตัดสิ นใจเลือกทํางานลําดับตอไปตามเงือนไขทีกาหนด
Decision
8
Jump to first page
9. หลักการจัดภาพและทิศทางของโฟลว์ ชาร์ ต
่
1. ทิศทางของผังงาน จะเริ มจากบนลงลาง และ ทางซ้ายไปขวา และ
ํ ั
ควรเขียนเครื องหมายลูกศรกากบทิศทางไว้ดวย
้
่ ั ่
2. การใช้ สัญลักษณ์ หรือภาพ มีขนาดตางๆกนได้ แตจะต้องมีรูปแบบ
มาตรฐานตามความหมายทีกาหนด ํ
ั
3. หลีกเลียงการขีดโยงไปมาในทิศทางตัดกัน ถ้าจําเป็ นต้องโยงถึงกน
่
ควรใช้เครื องหมายจุดตอเนืองแทน
่
4. มีคาอธิบายในภาพ เขียนเพียงสันๆ เข้าใจงาย
ํ
5. ควรจะมีความเป็ นระเบียบเรียบร้ อยสะอาด และมีชือผังงาน ผูเ้ ขียน
วันทีทีเขียน ด้วย..
9
Jump to first page
10. ่
แนวทางในการเขียนโฟลว์ชาร์ตในลักษณะตางๆ
เริ มต้น
1. การเขียนโฟลว์ ชาร์ ตโปรแกรมแบบลําดับ
( Sequence Flowchart) ่
อานข้อมูล
สามารถเขียนคําบรรยายหรื อคําสังลําลอง
(Pseudo Code) ได้ดงนีคือ
ั
คํานวณข้อมูล
เริ ม
่
อานข้อมูล
พิมพ์ผอมูล
้
พิมพ์ขอมูล
้
จบข้อมูล จบ
10
Jump to first page
11. 2. การเขียนโฟลว์ ชาร์ ตโปรแกรมแบบเลือก ( Selection Flowchart)
จริ ง ่
ไมจริ ง
เงือนไข
คํานวณบวก สามารถเขียนคําสังลําลอง
คํานวณลบ
(Pseudo Code) ได้ดงนีคือ
ั
ถ้าเงือนไขเป็ นจริ งทํา
คํานวณบวก
่
หากไมเป็ นจริ ง
คํานวณลบ
11
จบเงือนไข Jump to first page
12. A. B.
่
ไมจริ ง เงือนไข
เงือนไข
่
ไมจริ ง จริ ง
จริ ง
ิ
กจกรรมที 1 ิ
กจกรรมที 3
สามารถเขียนคําสังลําลอง ถ้าเงือนไขเป็ นจริ งทํา
(Pseudo Code) ได้ดงนีคือ
ั ไมมีกิจกรรม
่
ถ้าเงือนไขเป็ นจริ งทํา ่
หากไมจริ ง ทํา
ิ
กจกรรมที 1 ิ
กจกรรมที 3
จบเงือนไข
12
จบเงือนไข Jump to first page
14. 3. การเขียนโฟลว์ ชาร์ ตโปรแกรมแบบกรณี ( Case Flowchart)
เงือนไข
ิ
กจกรรมที 1 ิ
กจกรรมที 2 ิ
กจกรรมที 3 ิ
กจกรรมที 4
Pseudo
กรณี เงือนไข
ิ
กรณี ที 1 ทํากจกรรมที 1
ิ
กรณี ที 2 ทํากจกรรมที 2
ิ
กรณี ที 4 ทํากจกรรมที 4
จบกรณี 14
Jump to first page
15. 4. การเขียนโฟลว์ ชาร์ ตโปรแกรมแบบทําซําในขณะทีเงือนไขเป็ นจริง
(Do While Flowchart)
Pseudo
ทําซําในขณะทีเงือนไข จริ ง
เงือนไขเพศชาย ิ
กจกรรมที 5
เพศชายเป็ นจริ ง
่
ไมจริ ง
ิ
กจกรรที 5
จบการทําซํา
15
Jump to first page
16. 5. การเขียนโฟลว์ ชาร์ ตโปรแกรมแบบทําซําจนกระทังเงือนไขเป็ นจริง
(Do Until Flowchart)
Pseudo
ิ
กจกรรมที 5
ทําซําจนกระทังเงือนไขรหัส = 5
เป็ นจริ ง
เงือนไขรหัส = 5
ิ
กจกรรที 5
จบการทําซํา ่
ไมจริ ง
จริ ง
การเขียนโฟลว์ ชาร์ ตโปรแกรมของโจทย์ ตวอย่ างใน
ั
16
บทเรียนข้ างต้ น…ดจากเอกสารทีแนบ
ู Jump to first page
17. 3.4 ประโยชน์ของโฟลว์ชาร์ ต
่
1. ทําให้มองรู ปแบบของงานได้ทงหมด และเข้าใจงาย
ั
่ ่
2. ไมเสี ยเวลาในการอานข้อความ
3. สามารถนําผังงานไปใช้ในการเขียนโปรแกรมได้ทุกภาษา
4. ตรวจสอบและแกไขข้อผิดพลาดได้ง่าย
้
่
5. ชวยในการบํารุ งรักษาโปรแกรม หรื อเมือมีการเปลียนแปลง
้
แกไข 17
Jump to first page
18. คําสังเทียม (Pseudo Code)
คําสังเทียมหรื อคําสังลําลองเป็ นการเขียนคําเชิงบรรยาย
เพืออธิ บายลําดับหรื อขันตอนของคําสังในโปรแกรม คําสัง
่
เทียมจะชวยให้ผออกแบบโปรแกรมได้เน้นถึงวิธีการของ
ู้
่
โปรแกรม โดยการอธิ บายมากกวาจะบอกเป็ นสู ตรคํานวณ ซึ ง
ั ่
จะชีวดวาต้องใช้ขอมูล หรื อการคํานวณใดๆ ในแตละชวงของ
้ ่ ่
โปรแกรม...
18
Jump to first page
19. กฎเกณฑ์ ในการเขียนคําสังเทียม
่
ควรคํานึ งวาคําสังเทียมนันสามารถอธิ บายขันตอนของวิธีการ
ประมวลผลได้ครบถ้วนถูกต้องและเข้าใจได้ง่ายเป็ นหลักสําคัญ
่
โดยทัวไปแล้วนิยมเขียนคําสังเทียมตามรู ปแบบดังตอไปนี
่
• ชือของขันตอนวิธี เป็ นการตังชือให้แกขันตอนวิธีและระบุพารามิเตอร์
ALGORITHM NAME( p : data type ) : data type
• รายการคําสั ง เป็ นการเขียนคําสังแสดงลําดับขันตอนการทํางาน
19
Jump to first page
20. • คําอธิบาย เป็ นการให้รายละเอียดเพิมเติม จะเขียนใน { }
{ Description Statement, Comments}
่
• การใช้ งานโปรแกรมย่ อย เป็ นการเรี ยกโปรแกรมยอยหรื อขันตอนวิธีที
เคยเขียนไว้แล้วให้มาทํางาน เชน ่
print_title ( month, year)
print_table
result = power( x, m)
• หยดการทํางาน บอกจุดสิ นสุ ดการทํางานขันตอนวิธี
ุ
Stop 20
Jump to first page
21. ประเภทของคําสั งเทียม
ํ ่
1. การรับข้ อมลเข้ า จะใช้คาวา READ และ GET โดย READ จะใช้รับ
ู
ข้อมูลจากแฟ้ มข้อมูล ในขณะที GET จะใช้เมือรับข้อมูลจากแป้ นพิมพ์
่
เชน GET tax_code , READ id, name
ู ่
2. การผลิตข้ อมลออก เมือคอม.สงข้อมูลออกไปทางอุปกรณ์เอาท์พตจะุ
่
โดยที PRINT ใช้เมือสงข้อมูลไปเครื องพิมพ์ WRITE ใช้เขียนข้อมูลลง
่ ํ ่
แฟ้ ม ถ้าข้อมูลสงออกไปทางจอภาพจะใช้คาวา PUT, OUTPUT หรื อ
่
DISPLAY เชน WRITE coustomer_record to master_file
PRINT name, address
21
PUT “Hello !… ” Jump to first page
22. 3. การประมวลผลทางคณิตศาสตร์ สามารถใช้คากริ ยาหรื อสัญลักษณ์
ํ
่
แทนได้ เชน ADD number TO total
c = ( f - 32 ) * 5 / 9
ั ู ํ ่
4. การกําหนดค่ าให้ กบตัวเก็บข้ อมล จะใช้คาวา INITIALISE หรื อ
ํ ่ ิ
SET ในขณะทีการกาหนดคาทีเกดจากการประมวลผลไว้ทีตัวแปร จะ
่ ั
ใช้เครื องเทากบ (=) หรื อ ลูกศรย้อนกลับ ( ) เชน่
SET student_count 0
total = sum1 + sum2
tax price * 0.10
22
Jump to first page
23. 5. การเปรียบเทียบและทําการเลือก ใช้คาคําสังเทียมคือ IF, THEN และ
ํ
่
ELSE เชน IF a > b THEN a = b
ELSE n = n +1 ENDIF
6. การปฏิบตงานซํา จะใช้ ใช้คาคําสังเทียมคือ DOFOR, DOWHILE
ั ิ ํ
่
และ REPEAT…UNTIL เชน DOWHILE condition
statement2
ENDDO
DOFOR variable=initial value TO final STEP k
statement5
ENDDO 23
Jump to first page
24. ่ ั ่ ่
ตัวอยางการเขียนคําสังเทียมจากโฟลว์ชาร์ ตของโจทย์ตวอยางทีผานมา..
ต.ย. 1 Compare_score
GET term, year
PUT Table Heading, term, year
min = 100, max = 0, average = 0, count = 0
GET id, name, mid, final
DOWHILE mid >= 0
count = count + 1
total = mid + fin
average = average + total
24
Jump to first page
25. ่
Compare_score(ตอ)
IF min > total THEN min = total ENDIF
IF max < total THEN max = total ENDIF
PUT id, name, total
GET id, name, mid, final
ENDDO
IF count <> 0 THEN average = average / count ENDIF]
PUT min, max, average
STOP
25
Jump to first page
26. employment
sum = 0
PUT Table Heading
ต.ย. 2 GET no, name, rate, day
DOWHILE rate > 0
total = rate * day
PUT no, name, total
sum = sum + total
GET no, name, rate, day
ENDDO
PUT sum
26
STOP Jump to first page
27. ่
การสร้างซอฟต์แวร์ ทีดีเป็ นงานทีสําคัญทีสุ ดอยางหนึง การออกแบบ
โปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์ตามทีนําเสนอมา จะชวยให้ ่
ํ
สามารถกาหนดเค้าโครงหลักของโปรแกรมทีจะพัฒนาหรื อสร้างได้
่
อยางรวดเร็ ว
โฟลว์ชาร์ ตเป็ นวิธีการแสดงแบบซอฟต์แวร์ ทีมีผรู้จกมากทีสุ ด
ู้ ั
นักเขียนโปรแกรมสามารถใช้โฟลว์ชาร์ ตในการออกแบบโปรแกรม
้
การบํารุ งรักษาโปรแกรม หรื อ การแกไขโปรแกรมได้อยางมี ่
ประสิ ทธิ ภาพและรวดเร็ ว...
จบ………..
27
Jump to first page
28. แบบฝึ กหัด
ให้ นกศึกษาเขียน FlowChart และ คําสังเทียม
ั
ของโจทย์ตวอย่างที 3 และ 4 จากเนือหา
ั
เรื องที 1 หน้ า 9
28
Jump to first page