ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Application Development Overview Nithi Thanon Computer Science Prince of Songkla University.
Advertisements

แนวคิดในการเขียนโปรแกรม
Chapter 8 : Logic Modeling & Data Modeling
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
การเขียนโปรแกรมคอมพิวเตอร์
การทำงานแบบเลือกทำ (Selection)
ลักษณะโครงสร้างของผังงาน
ขั้นตอนการพัฒนาโปรแกรม
เฉลย Lab 10 Loop.
ผังงานโปรแกรม (Program Flowchart)
คำสั่งเพื่อการกำหนดเงื่อนไข
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
วิชา การออกแบบและพัฒนาซอฟต์แวร์
คำสั่งเงื่อนไขและการควบคุม
คำสั่งแบบมีเงื่อนไข IF Statement
การเขียนผังงานแบบโครงสร้าง
การเขียนโปรแกรมภาษาซี
วิธีการทางคอมพิวเตอร์
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
Computer Programming for Engineers
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
การออกแบบโครงสร้าง (Structured Design)
Chapter 04 Flowchart ผู้สอน อ.ยืนยง กันทะเนตร
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
การรับและแสดงผลข้อมูล (Input/Output)
20 May 2556 Problem Analysis and Algorithms in Programming.
Chapter 05 Selection structure ผู้สอน อ. ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยี คอมพิวเตอร์เคลื่อนที่ ng.
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
ผังงานโปรแกรม (Program Flowchart)
Introduction to Flowchart
BC322 : Computer Programing (ครั้งที่ 1)
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
โครงสร้างภาษาซี C ++ structure
ว่าที่ ร.ต.หญิงวรรณธิดา วรสุทธิพงษ์ ครูแผนกวิชาคอมพิวเตอร์ธุรกิจ
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ
โครงสร้างการทำงานแบบวนซ้ำ
การทดสอบซอฟต์แวร์ Software Testing
Concept of Programing.
INC 161 , CPE 100 Computer Programming
การเขียนผังงาน (Flowchart)
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
ความรู้พื้นฐานการเขียนโปรแกรม
สื่อการสอนรายวิชา ง30204 โปรแกรมภาษาชี ภาษาคอมพิวเตอร์และโปรแกรม
บทที่ 2 ขั้นตอนการทำงาน (Algorithm)
การออกแบบระบบ System Design.
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
การวัดอัลกอริทึม (Analysis of Algorithm)
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part1
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์
V ระบบการจัดการฐานข้อมูล บทที่ 2 วงจรการพัฒนาระบบ (SDLC : System Development Life Cycle) ผู้ช่วยศาสตราจารย์ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์
การเขียนโปรแกรมคอมพิวเตอร์
Lecture no. 1: Introduction to Computer and Programming
การพัฒนาและติดตั้งระบบ
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
การพัฒนาระบบสารสนเทศ (Information System Development)
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
บทที่ 7 การเขียนผังงานระบบ.
บทที่ 6 การเขียนผังงาน (Flowchart)
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
ประเด็นการขับเคลื่อนองค์การไปสู่ระบบราชการ 4.0
การสร้างผังงานโปรแกรม
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
อัลกอริทึม (Algorithm) ???
ใบสำเนางานนำเสนอ:

ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์

ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ การวิเคราะห์ปัญหา (Problem analysis) การออกแบบโปรแกรม (Design) การเขียนโปรแกรมโดยใช้ภาษาใดภาษาหนึ่ง (Coding) การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging) การทดสอบความถูกต้องของโปรแกรม (Testing and validating) การทำเอกสารประกอบโปรแกรม (Documentation) การบำรุงรักษาโปรแกรม (Program Maintenance)

เขียนขั้นตอนการแก้ปัญหา 1. การวิเคราะห์ปัญหา ข้อมูลที่นำเข้าสู่ระบบคอมพิวเตอร์ประกอบด้วยอะไรบ้าง การวิเคราะห์ปัญหา วิเคราะห์ผลลัพธ์ วิเคราะห์ Input Process เขียนขั้นตอนการแก้ปัญหา - กำหนดวัตถุประสงค์ของงาน - รูปแบบของผลลัพธ์

ตัวอย่าง ต้องการคำนวณหาพื้นที่ของสามเหลี่ยมรูปหนึ่ง ตัวอย่าง ต้องการคำนวณหาพื้นที่ของสามเหลี่ยมรูปหนึ่ง 1. วิเคราะห์ผลลัพธ์ กำหนดวัตถุประสงค์ การคำนวณหาพื้นที่สามเหลี่ยม รูปแบบผลลัพธ์ ความยาวฐาน = ……………… ความสูง = ……………… พื้นที่สามเหลี่ยม = …………… 2.กำหนดข้อมูลเข้า 1. ความยาวฐาน 2. ความสูง

3. ขั้นตอนการประมวลผล ป้อนความยาวฐาน ป้อนความสูง คำนวณพื้นที่สามเหลี่ยม จากสูตร พื้นที่สามเหลี่ยม = ความยาวฐาน ความสูง

2. การออกแบบโปรแกรม เครื่องมือที่ใช้ในการออกแบบ ผังงาน (Flowchart) ขั้นตอนการแก้ปัญหาทีละขั้นตอนในลักษณะรูปภาพ รหัสจำลอง (Pseudo) รูปแบบเป็นภาษาพูดง่าย ๆ ภาษาอังกฤษ หรือภาษาไทยก็ได้

สัญลักษณ์ในผังงาน จุดเริ่มต้น หรือสิ้นสุด จุดเชื่อมต่อในหน้าอื่น อ่านข้อมูลเข้า หรือแสดงผล จุดเชื่อมต่อในหน้าเดียวกัน ประมวลผล พิมพ์ผลทางเครื่องพิมพ์ ตัดสินใจ แสดงทิศทางการประมวลผล แสดงผลทางหน้าจอ

ตัวอย่างการเขียนผังงาน จงเขียนผังงานแสดงการเขียนและส่งจดหมาย เริ่มต้น เขียนจดหมาย พับจดหมาย ใส่ซองจดหมาย จ่าหน้าซอง 1 1 มีแสตมป์หรือไม่ ทำการซื้อแสตมป์ ติดแสตมป์ ส่งจดหมาย มี ไม่มี จบงาน

อัลกอริทึม คือ ลำดับการทำงานหรือขั้นตอนการแก้ไขปัญหางานให้สำเร็จ อัลกอริทึม คือ ลำดับการทำงานหรือขั้นตอนการแก้ไขปัญหางานให้สำเร็จ

การพัฒนาอัลกอริทึม การเขียนขั้นตอนในรายละเอียดของแต่ละอัลกอริทึม อาศัยโครงสร้างควบคุมดังนี้ โครงสร้างลำดับ (Sequence structure) โครงสร้างตัดสินใจ (Selection structure) โครงสร้างทำซ้ำ (Repetition structure)

โครงสร้างการทำงานแบบลำดับ (Sequence) โครงสร้างลำดับ หลักการให้มองงานเป็นชิ้นใหญ่ก่อน ยังไม่ต้องลงรายละเอียด แล้วจัดลำดับความคิดว่าจะทำอะไร ก่อนหรือหลัง ตามลำดับ Begin งาน 1 งาน 2 end งาน 1 งาน 2 ผังงาน รหัสเทียม

การพัฒนาอัลกอริทึม example: จงเขียนโปรแกรมคำนวณหาค่า y ของสมการ y = x^2 + 2x +10 start Read x Y = x*x + 2*x +10 Write y stop ผังงาน

คำนวณหาพื้นที่คางหมู = จงเขียนผังงานคำนวณการหาพื้นที่สี่เหลี่ยมคางหมู โดยกำหนดค่าความยาวด้านคู่ขนานและความสูงให้ เริ่มต้น 1 พิมพ์ค่าพื้นที่ อ่านความยาวด้าน คู่ขนานและความสูง จบงาน คำนวณหาพื้นที่คางหมู = ½ * ด้านคู่ขนาน * สูง 1

การพัฒนาอัลกอริทึม โครงสร้างตัดสินใจ (selection) โครงสร้าง IF โครงสร้าง IF else

การพัฒนาอัลกอริทึม โครงสร้าง IF เป็นโครงสร้างที่ทดสอบเงื่อนไข แล้วเลือกว่าจะทำหรือไม่ทำ ก่อนที่จะไปทำงานอื่นต่อไป เงื่อนไข งานที่ต้องทำ ใช่ งานต่อไป ไม่ใช่

การพัฒนาอัลกอริทึม ตัวอย่าง โครงสร้าง IF แม่ถามว่าหิวข้าวหรือไม่ ถ้าหิวก็ให้กิน ถ้าไม่หิวไม่ต้องกิน แล้วจึง เดินงานไปโรงเรียน (งานต่อไป) หิวใช่ไหม? ใช่ งานกินข้าว ไม่ใช่ งานเดินทางมาเรียน

การพัฒนาอัลกอริทึม ตัวอย่าง โครงสร้าง IF จงเขียนผังงาน แสดงยอดขาย ถ้าซื้อสินค้ามากกว่า 1000 บาทมีส่วนลดให้ 10% วิเคราะห์ : Output คือยอดขายสุทธิ Input คือ ยอดขายก่อนหักส่วนลด Process มีรายละเอียดเขียนด้วยผังงานได้ในหน้าถัดไป

การพัฒนาอัลกอริทึม เริ่มต้น อ่าน ยอดซื้อ ตัวอย่าง(ต่อ) โครงสร้าง IF ส่วนลด = 0 ไม่ใช่ ใช่ ยอดซื้อ >1000 ส่วนลด = ยอดซื้อ * 10/100 ผังงาน เงินที่ต้องชำระ = ยอดซื้อ - ส่วนลด พิมพ์ เงินที่ต้องชำระ จบ

การพัฒนาอัลกอริทึม โครงสร้าง IF-else If เงื่อนไข งาน 1 Else งาน 2 End if ไม่ใช่ ใช่ เงื่อนไข งาน 2 งาน 1

การพัฒนาอัลกอริทึม โครงสร้าง IF-Else ตัวอย่าง ร้านค้าแห่งหนึ่งมีนโยบาย ลดราคาให้ลูกค้า ถ้าเป็นชายจะลดให้ 5% แต่ถ้าเป็นหญิง จะลดให้ 10% จงเขียนอัลกอริทึมเพื่อพิมพ์ยอดขาย วิเคราะห์ปัญหา Output คือ ราคาสุทธิ Input คือ ราคาสินค้า และ เพศ Process เขียนด้วยผังงาน ดังในหน้าต่อไป

IF-ELSE อ่านค่า รวมเงิน, เพศ ส่วนลด = 0 จบงาน ส่วนลด = รวมเงิน * 0.1 เริ่มต้น อ่านค่า รวมเงิน, เพศ ส่วนลด = 0 no yes เพศ = ‘M’ ส่วนลด = รวมเงิน * 0.1 ส่วนลด = รวมเงิน * 0.05 เงินที่ต้องชำระ = รวมเงิน - ส่วนลด พิมพ์ เงินที่ต้องชำระ จบงาน

ตัวอย่าง โครงสร้างการทำงานแบบมีการเลือก (Selection) เริ่มต้น C = A - B C = A + B C = A A > B A < B จบงาน ใช่ ไม่ใช่ ในบริเวณ A และ B ของหน่วยความจำมีตัวเลขเก็บอยู่ จงเขียนผังงานที่แสดงการเปรียบเทียบระหว่าง A และ B ตามเงื่อนไข ดังนี้ ถ้า A>B คำนวณ A-B นำผลที่ได้ไปเก็บไว้ที่ C ถ้า A<B คำนวณ A+B นำผลที่ได้ไปเก็บไว้ที่ C ถ้า A=B เอา ไปเก็บไว้ที่ C

ตัวอย่างการเขียนผังงาน เมื่อเราซื้อยาจากร้านขายยาที่มีอยู่ทั่ว ๆ ไปนั้น ในส่วนของวิธีใช้ยามักจะแยกขนาดรับประทานไว้ตามอายุ เช่น อายุมากกว่า 10 ปี รับประทานครั้งละ 3 ช้อนชา อายุ 6-10 ปี รับประทานครั้งละ 2 ช้อนชา อายุ 2-5 ปี รับประทานครั้งละ 1 ช้อนชา เด็กอายุต่ำกว่า 1 ปี ห้ามรับประทาน จงเขียนผังงานที่แสดงถึงขนาดของการใช้ยาตามอายุนี้

ใช่ รับประทานครั้งละ อายุ > 10 3 ช้อนชา 6 <= อายุ <=10 เริ่มต้น อายุ > 10 6 <= อายุ <=10 2 <= อายุ <=5 ห้ามรับประทาน จบงาน รับประทานครั้งละ 3 ช้อนชา 2 ช้อนชา 1 ช้อนชา ใช่ ไม่ใช่

การพัฒนาอัลกอริทึม โครงสร้าง DO while DO คำสั่งต่าง ๆ While เงื่อนไข งาน จริง เงื่อนไข รหัสเทียม เท็จ ผังงาน

การพัฒนาอัลกอริทึม โครงสร้าง while เท็จ While เงื่อนไข เงื่อนไข งาน end while เงื่อนไข จริง งาน รหัสเทียม ผังงาน

ผังงานกับการเขียนโปรแกรม การเขียนแปลนบ้านเหมือนกับการเขียนผังงาน ดังนั้นการสร้างบ้านก็เหมือนกับการเขียนโปรแกรมนั่นเอง หน่วยความจำ มีลักษณะเหมือน ล็อกเกอร์เก็บของ ตำแหน่ง(Address) ข้อมูล X = 1 X 1 8 X = 8 จะหาตำแหน่งว่าง ในหน่วยความจำ แล้วนำค่าไปเก็บ พร้อมจำตำแหน่ง ที่เก็บว่าชื่ออะไร A = 2 A 2 รูปแสดงการจำลองหน่วยความจำหลักของคอมพิวเตอร์

ตัวอย่าง กำหนดให้หน่วยความจำตำแหน่ง A และ B มีเลข 6 และ 2 เก็บอยู่ตามลำดับ จงเขียนผังงานแสดงการสลับค่า 6 และ 2 โดยสลับให้ได้ค่าเป็น A=2 และ B=6

ตัวอย่าง ตำแหน่ง(Address) ข้อมูล เริ่มต้น 1 A = 6 A 6 2 A = B W 6 W = A จบงาน 1

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

4. การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging the Program) รูปแบบข้อผิดพลาด มี 3 แบบคือ Syntax Error – ข้อผิดพลาดจากการใช้ไวยากรณ์ภาษาที่ผิด หรือ อาจเกิดจากการสะกดคำผิด Run-time Error – ข้อผิดพลาดในระหว่างการปฏิบัติงาน(Execution) มักเกิดจากความรู้เท่าไม่ถึงการณ์ Logical Error – ข้อผิดพลาดที่หาและแก้ได้ยากที่สุด ต้องทำการไล่โปรแกรมทีละคำสั่งเพื่อหาข้อผิดพลาดนั้น

การตรวจสอบข้อผิดพลาดของโปรแกรม( ต่อ ) (Testing and Debugging the Program) วิธีการตรวจสอบข้อผิดพลาดของโปรแกรม มีดังนี้ การตรวจสอบด้วยตนเอง (Self Checking) เขียนโปรแกรมลงกระดาษแล้วไล่เช็คตรวจสอบการทำงานทีละขั้นด้วยตนเอง ว่าจะมีการทำงานที่ถูกต้องตามความต้องการหรือไม่ ตรวจสอบด้วยการแปลโปรแกรม (Translating) การแปลเป็นภาษาเครื่อง ตรวจสอบข้อผิดพลาดของโปรแกรม

5. การทดสอบความถูกต้องของโปรแกรม ทดสอบว่าโปรแกรมให้ผลลัพธ์ออกมาถูกต้องตามที่ต้องการหรือไม่ โดยการป้อนข้อมูลสมมติหลายๆ ค่าที่เป็นไปได้เข้าไปแล้วดูผลลัพธ์ว่าถูกต้องหรือไม่

6. การทำเอกสารประกอบโปรแกรม เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation) เอกสารประกอบสำหรับผู้เขียนโปรแกรม (Technical Documentation)

7. การบำรุงรักษาโปรแกรม หลังจากที่มีการใช้งานโปรแกรมไปนานๆ แล้ว อาจต้องมีการปรับปรุงแก้ไขโปรแกรมให้ตรงตามความต้องการของผู้ใช้ที่อาจเปลี่ยนแปลงไป