การสร้างผังงานโปรแกรม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter 8 : Logic Modeling & Data Modeling
Advertisements

รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
ลักษณะโครงสร้างของผังงาน
การเขียนผังงาน.
ขั้นตอนวิธี Algorithms.
Data Structures and Algorithms
Lecture 13: ฟังก์ชันเรียกตัวเอง
เฉลย Lab 10 Loop.
Program Flow Chart.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งเพื่อการกำหนดเงื่อนไข
วิชา การออกแบบและพัฒนาซอฟต์แวร์
การเขียนผังงานแบบโครงสร้าง
การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)
การเขียนโปรแกรมภาษาซี
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 23 มิถุนายน 2550 ASP Structure Programming มหาวิทยาลัยโยนก.
ตัวอย่างการวิเคราะห์งาน และ การเขียนผังงานและซูโดโค้ด
การเขียนอัลกอริทึม แบบโฟลวชาร์ต
Computer Programming for Engineers
การออกแบบโครงสร้าง (Structured Design)
ผังงาน (FLOW CHART) ส่วนประกอบของผังงาน (Flow Chart)
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
การแก้ปัญหาโปรแกรม (Flowchart)
การเขียน แบบวนซ้ำ , วนลูป
หน่วยการเรียนรู้ที่ 3 การเขียน Flow Chart.
วัตถุมวล 10 kg วางอยู่บนพื้นที่มีสัมประสิทธิ์ความเสียดทาน สถิตย์ 0.8 และสัมประสิทธิ์ความเสียดทานจลน์ kg µ s = 0.8 µ k = 0.3 จงเขียนโปรแกรมซึ่งรับค่าขนาดของ.
Programming & Algorithm
20 May 2556 Problem Analysis and Algorithms in Programming.
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
ผังงานโปรแกรม (Program Flowchart)
Introduction to Flowchart
Evidence-based การประชุมชี้แจงการประเมินคุณธรรมและความโปร่งใสการดำเนินงาน ของหน่วยงานภาครัฐ (Integrity and transparency assessment – ita) ประจำปีงบประมาณ.
โครงสร้างภาษาซี C ++ structure
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ
หน่วยที่ 3 องค์ประกอบของคอมพิวเตอร์
บทที่ 1 บทนำ 1.1 ฮาร์ดแวร์คอมพิวเตอร์ 1.2 ซอฟต์แวร์คอมพิวเตอร์
โครงสร้างการทำงานแบบวนซ้ำ
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
สถาปัตยกรรมของระบบฐานข้อมูล
Concept of Programing.
INC 161 , CPE 100 Computer Programming
Data Structure & Algorithm Concept
แนวทางการประเมินคุณธรรมและความโปร่งใส ในการดำเนินงานของหน่วยงาน
การเขียนผังงาน (Flowchart)
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
ความรู้พื้นฐานการเขียนโปรแกรม
บทที่ 2 ขั้นตอนการทำงาน (Algorithm)
การออกแบบระบบ System Design.
Chapter 6 Information System Development
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
การวัดอัลกอริทึม (Analysis of Algorithm)
ส่วนการทะเบียนทั่วไป สำนักบริหารการทะเบียน
บทที่ 2 หลักการแก้ปัญหา
การซักซ้อมความเข้าใจในการเบิกค่าตอบแทนให้กับเจ้าหน้าที่ ตามหลักเกณฑ์ของกระทรวงสาธารณสุข ที่บังคับใช้ในปัจจุบัน.
Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์
การเขียนผังงาน (Flow Chart)
การเขียนโปรแกรมคอมพิวเตอร์
Lecture no. 1: Introduction to Computer and Programming
Chapter 7 ฟังก์ชัน Function.
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
บทที่ 7 การเขียนผังงานระบบ.
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
บทที่ 6 การเขียนผังงาน (Flowchart)
ประเด็นการขับเคลื่อนองค์การไปสู่ระบบราชการ 4.0
ขั้นตอน ที่ 2 การวิเคราะห์ระบบ
(Flowchart) ผังงาน.
อัลกอริทึม (Algorithm) ???
ใบสำเนางานนำเสนอ:

การสร้างผังงานโปรแกรม

แนวคิด ผังงานโปรแกรม หมายถึง สัญลักษณ์สากลที่ใช้แทนความหมายของการทำงานในแต่ละขั้นตอนของโปรแกรม ภายในสัญลักษณ์ใช้ข้อความที่เขียนอยู่ในรูปภาษาอังกฤษเพื่ออธิบายรายละเอียดการทำงานในแต่ละขั้นตอน ชื่อข้อมูลที่ถูกกำหนดไว้ในสัญลักษณ์ต่างๆ จะถูกนำไปตั้งเป็นชื่อของตัวแปรข้อมูลที่ต้องการใช้งานในขั้นตอนของการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์

สัญลักษณ์ที่ใช้ในการเขียนผังงาน สัญลักษณ์ที่ใช้ในการเขียนผังงานช่วยในการสื่อความหมายเพื่อให้เข้าใจตรงกัน โดยสถาบันแห่งชาติอเมริกัน (The American National Standard Institute : ANSI) กำหนดสัญลักษณ์ไว้เป็นมาตรฐานเดียวกันทั่วโลก

ตารางแสดงสัญลักษณ์ที่ใช้ในการเขียนผังงานโปรแกรม ชื่อ สัญลักษณ์ ความหมาย Terminal แสดงจุดเริ่มต้นหรือสิ้นสุดของงาน General input-output การรับข้อมูลหรือแสดงผลข้อมูลโดยไม่ระบุสื่อที่ใช้ manual input การรับข้อมูล โดยใช้แป้นพิมพ์ processing การประมวลผล

ตารางแสดงสัญลักษณ์ที่ใช้ในการเขียนผังงานโปรแกรม ชื่อ สัญลักษณ์ ความหมาย Decision การเปรียบเทียบเงื่อนไขเพื่อตัดสินใจ on page connector จุดเชื่อมต่อซึ่งเขียนอยู่บนหน้ากระดาษเดียวกัน off page connector จุดเชื่อมต่อซึ่งเขียนอยู่ต่างหน้ากระดาษกัน display การแสดงผลข้อมูลทางจอภาพ

ตารางแสดงสัญลักษณ์ที่ใช้ในการเขียนผังงานโปรแกรม ชื่อ สัญลักษณ์ ความหมาย document output การแสดงผลข้อมูลทางเครื่องพิมพ์ arrow การแสดงทิศทางและลำดับของการทำงาน Internal subroutine การเรียกใช้โปรแกรมย่อยภายใน external subroutine การเรียกใช้โปรแกรมย่อยภายนอก

เทคนิคการเขียนผังงานโปรแกรม 1. ต้องแสดงจุดเริ่มต้นการทำงานของผังงานด้วยสัญลักษณ์ terminal โดยเขียนคำว่า start กำกับไว้ภายในสัญลักษณ์เสมอ start …

เทคนิคการเขียนผังงานโปรแกรม 2. ต้องแสดงการสิ้นสุดการทำงานของผังงานด้วยสัญลักษณ์ terminal โดยเขียนคำว่า stop กำกับไว้ภายในสัญลักษณ์เสมอ stop …

เทคนิคการเขียนผังงานโปรแกรม 3. ทิศทางการแสดงการทำงานของผังงานจะต้องอธิบายจากด้านบนลงสู่ด้านล่าง หรือด้านซ้ายไปด้านขวาของผังงานเสมอ start … แบบบนลงล่าง แบบซ้ายไปขวาล่าง

เทคนิคการเขียนผังงานโปรแกรม 4. ขนาดของสัญลักษณ์ต้องเหมาะสมกับข้อความที่เขียนกำกับในสัญลักษณ์ ไม่ควรเขียนข้อความเลยออกมานอกตัวสัญลักษณ์ area = 1 / 2 * base * height ถูกต้อง ไม่ถูกต้อง  

เทคนิคการเขียนผังงานโปรแกรม 5. การใช้สัญลักษณ์ arrow เป็นตัวบอกทิศทางการทำงานของผังงาน จะต้องเขียนสัญลักษณ์ arrow ให้ชิดติดกับตัวสัญลักษณ์ที่อธิบายการทำงานเสมอ … ถูกต้อง ไม่ถูกต้อง  

เทคนิคการเขียนผังงานโปรแกรม 6. การใช้สัญลักษณ์ arrow เป็นตัวบอกทิศทางการทำงานของสัญลักษณ์ที่จะทำงานในขั้นตอนต่อไป … ถูกต้อง ไม่ถูกต้อง  

เทคนิคการเขียนผังงานโปรแกรม 7. ไม่ควรเขียนเส้นของสัญลักษณ์ arrow ตัดกัน … ถูกต้อง ไม่ถูกต้อง  

เทคนิคการเขียนผังงานโปรแกรม 8. ไม่ควรเขียนสัญลักษณ์ที่ใช้อธิบายการทำงานของขั้นตอนเดิมซ้ำกันหลายสัญลักษณ์ เพื่อทำให้ผังงานโปรแกรมกระชับขึ้น … ถูกต้อง a yes no a = 10 a = 15 a = 20 ไม่ถูกต้อง … a yes no a = 10 a = 15 a = 20  

เทคนิคการเขียนผังงานโปรแกรม 9. ผลลัพธ์ในแต่ละทางเลือก ถ้ามุ่งสู่เส้นทางเดียวกัน ควรเขียนเส้นของสัญลักษณ์ arrow ร่วมกัน … ถูกต้อง b yes no b = 10 b = 20 b = 15 … ไม่ถูกต้อง b yes no b = 20 b = 15 b = 10  

  ตัวอย่าง 5.1 : จงสร้างผังงานใน การคำนวณหาพื้นที่สามเหลี่ยม จากสูตร พื้นที่สามเหลี่ยม = ½ * ฐาน * สูง โดยให้แสดงผลทางจอภาพ Pseudocode 1. INPUT BASE 2. INPUT HIGH 3. AREA = 1 / 2 * BASE * HIGH 4. PRINT AREA 5. END BASE , HIGH START AREA = 1 / 2 * BASE * HIGH AREA STOP

ตัวอย่างที่ 5.2 : จงสร้างผังงานใน การแสดงการคำนวณค่าภาษี โดยมีเกณฑ์ดังนี้ - ถ้าพนักงานมีเงินเดือนไม่เกิน 10000 บาท จะเสียภาษี 5 % - ถ้าพนักงานมีเงินเดือน 10001 - 20000 บาท จะเสียภาษี 10 % - ถ้าพนักงานมีเงินเดือน 20001 - 30000 บาท จะเสียภาษี 15 % - ถ้าพนักงานมีเงินเดือน เกิน 30000 บาท จะเสียภาษี 20 % โดยให้แสดงผลชื่อ,นามสกุล,เงินเดือน,ภาษี 1. INPUT NAME , LNAME , SALARY 2. IF SALARY <= 10000 GOTO 6 3. ELSEIF SALARY <= 20000 GOTO 7 4. ELSEIF SALARY <= 30000 GOTO 8 5. ELSE GOTO 9 6. VAT = SALARY * 5/100 GOTO 10 7. VAT = SALARY * 10/100 GOTO 10 8. VAT = SALARY * 15/100 GOTO 10 9. VAT = SALARY * 20/100 10. PRINT NAME , LNAME , SALARY , VAT 11. END

ผังงานโปรแกรม (แบบที่ 1) Pseudocode แบบที่ 1 1. INPUT NAME , LNAME , SALARY 2. IF SALARY <= 10000 GOTO 6 3. ELSEIF SALARY <= 20000 GOTO 7 4. ELSEIF SALARY <= 30000 GOTO 8 5. ELSE GOTO 9 6. VAT = SALARY * 5/100 GOTO 10 7. VAT = SALARY * 10/100 GOTO 10 8. VAT = SALARY * 15/100 GOTO 10 9. VAT = SALARY * 20/100 10. PRINT NAME , LNAME , SALARY , VAT 11. END

Pseudocode แบบที่ 2 1. INPUT NAME , LNAME , SALARY 2. IF SALARY <= 10000 GOTO 6 3. ELSEIF SALARY <= 20000 GOTO 7 4. ELSEIF SALARY <= 30000 GOTO 8 5. ELSE GOTO 9 6. PER_VAT = 5 GOTO 10 7. PER_VAT = 10 GOTO 10 8. PER_VAT = 15 GOTO 10 9. PER_VAT = 20 10. VAT = SALARY * PER_VAT / 100 11. PRINT NAME , LNAME , SALARY , VAT 12. END

การเรียกใช้โปรแกรมย่อย โปรแกรมหลัก โปรแกรมย่อย Program ……………… …………………………….. CALL subProgram1 CALL subProgram2 subProgram1 ……………… …………………………….. RETURN CALL RETURN subProgram2 ……………… …………………………….. RETURN CALL RETURN

การเรียกใช้โปรแกรมย่อย โปรแกรมย่อยมี 2 ชนิด คือ  1. โปรแกรมย่อยภายใน (Internal Subroutine) ซึ่งเป็นส่วนหนึ่งของโปรแกรม ทำหน้าที่ทำงานเฉพาะอย่าง โปรแกรมย่อยภายนอก (External Subroutine) เป็นโปรแกรมอีกโปรแกรมหนึ่ง โดยโปรแกรมเหล่านี้มีไว้ทำงานเฉพาะอย่าง แต่ถูกจัดเก็บไว้ในไลบรารี่ (Library) ของระบบ

ผังงานแสดงการเรียกใช้โปรแกรมย่อย

โปรแกรมหลักอาจมีการเรียกใช้งานโปรแกรมย่อยหลายครั้ง

โปรแกรมย่อยอาจมีการเรียกใช้งานโปรแกรมย่อยอื่นเพื่อช่วยในการทำงานเฉพาะอย่างได้

ผังงานแสดงการเรียกใช้โปรแกรมย่อยตัวอื่นภายในโปรแกรมย่อย

การเรียกใช้งานตัวเอง โปรแกรมย่อยอาจมีการเรียกใช้งานตัวเอง เพื่อช่วยในการทำงานตามชุดคำสั่งเดิม จนกว่าจะได้คำตอบที่ต้องการ เรียกว่า ลักษณะ Recursion เรียกโปรแกรมย่อยประเภทนี้ว่า Recursive Subprogram เช่น การคำนวณหาค่า Factorial (n!)

ผังงานแสดงการเรียกใช้โปรแกรมย่อยตัวอื่นภายในโปรแกรมย่อย

โครงสร้างพื้นฐานโปรแกรม พิจารณาการเขียนโปรแกรมที่ดี ตระหนักถึงข้อจำกัดของเนื้อที่ในหน่วยความจำของคอมพิวเตอร์ ออกแบบโปรแกรมที่ใช้เนื้อในหน่วยความจำน้อยที่สุด ให้โปรแกรมนั้นใช้เวลาในการประมวลผลเร็วที่สุด นักเขียนโปรแกรมมักใช้เวลาออกแบบอัลกอริทึมของโปรแกรม เพื่อค้นหาเทคนิคต่าง ๆ เพื่อเพิ่มประสิทธิภาพการทำงานให้กับโปรแกรมของตน

ลักษณะของโปรแกรมที่ดี สามารถเข้าใจวัตถุประสงค์ของโปรแกรมได้ง่าย มีความผิดพลาดน้อยหรือไม่มีเลย อ่านเข้าใจง่าย ไม่ซับซ้อน แก้ไขดัดแปลงและพัฒนาได้ง่าย

ลักษณะของโปรแกรมที่ดี หลีกเลี่ยงการเขียนโปรแกรมในลักษณะกระโดดไปกระโดดมายังส่วนต่างๆข องโปรแกรมโดยใช้คำสั่ง GOTO คำสั่ง GOTO ทำให้การตรวจสอบและแก้ไขโปรแกรมในภายหลังทำได้ยาก “การเขียนโปรแกรมแบบมีโครงสร้าง” (Structured Programming) เป็นแนวคิดที่ได้รับการยอมรับอย่างแพร่หลาย

การเขียนโปรแกรมแบบมีโครงสร้าง ประกอบไปด้วย 3 โครงสร้างหลัก ได้แก่ โครงสร้างแบบลำดับ (Sequence Structure) โครงสร้างแบบเลือกทำ ( Select Structure ) โครงสร้างแบบลูปหรือการวนซ้ำ (Loop Structure)

โครงสร้างแบบลำดับ (Sequence Structure) ทำงานตามลำดับคำสั่งตั้งแต่เริ่มโปรแกรมจนสิ้นสุดโปรแกรม โดยไม่มีคำสั่งชนิดเงื่อนไข คำสั่งที่พบ ได้แก่ คำสั่งในการรับข้อมูล (Input) การประมวลผล (Process) เช่น การคำนวณ – การกำหนดค่า – การเคลื่อนย้ายข้อมูล การแสดงผล ( Output )

โครงสร้างแบบเลือกทำ (Select Structure) เป็นโครงสร้างของโปรแกรมที่มีส่วนคำสั่งชนิดเงื่อนไขในการตัดสินใจร่วมอยู่ด้วย ส่วนของเงื่อนไขในการตัดสินใจนั้นจะอยู่ส่วนใดส่วนหนึ่งของโปรแกรมก็ได้

โครงสร้างแบบลูปหรือการวนซ้ำ (Loop Structure) โครงสร้างของโปรแกรมที่มีการทำงานแบบวนซ้ำคำสั่ง หรือชุดคำสั่งเดิมตามจำนวนครั้งที่กำหนดโดยเงื่อนไข ซึ่งมีลักษณะการทำงาน 2 แบบ การตรวจสอบเงื่อนไขก่อนทำการวนซ้ำคำสั่ง การวนซ้ำคำสั่งก่อนการตรวจสอบเงื่อนไข

โครงสร้างแบบลูปหรือการวนซ้ำ ชุดคำสั่ง ที่จะให้วนซ้ำ Yes No การตรวจสอบเงื่อนไขก่อนทำการวนซ้ำคำสั่ง ทำการวนซ้ำคำสั่ง ถ้าเงื่อนไขเป็นจริง จะหยุดการวนซ้ำ ถ้าเงื่อนไขเป็นเท็จ ตัวอย่างคำสั่งการวนซ้ำชนิดนี้ FOR…END FOR WHILE…END WHILE

โครงสร้างแบบลูปหรือการวนซ้ำ การวนซ้ำคำสั่งก่อนการตรวจสอบเงื่อนไข โดยจะทำการวนซ้ำคำสั่ง ถ้าเงื่อนไขเป็นจริง หยุดการวนซ้ำ ถ้าเงื่อนไขเป็นเท็จ DO…WHILE ชุดคำสั่งที่จะให้วนซ้ำ No Yes