หลกั การเขียนโปรแกรมรายวชิ า การเขยี นโปรแกรมเชิงวตั ถุ OBJECTED ORIENTED PROGRAMMING 1
ข้นั ตอนการเขียนโปรแกรมคอมพวิ เตอร์2 การวเิ คราะหป์ ัญหา (Problem analysis) การออกแบบโปรแกรม (Design) การเขียนโปรแกรมโดยใชภ้ าษาใดภาษาหนึ่ง (Coding) การตรวจสอบขอ้ ผิดพลาดของโปรแกรม (Testing and Debugging ) การทดสอบความถูกตอ้ งของโปรแกรม (Testing and validating) การทาเอกสารประกอบโปรแกรม (Documentation) การบารุงรกั ษาโปรแกรม (Program Maintenance)
การออกแบบโปรแกรม3 เครื่องมือท่ีใชใ้ นการออกแบบ ผงั งาน (Flowchart) ข้นั ตอนการแกป้ ัญหาทีละข้นั ตอน ในลกั ษณะรูปภาพ รหสั จาลอง (Pseudo) รูปแบบเป็นภาษาพดู ง่าย ๆ ภาษาองั กฤษ หรือภาษาไทยกไ็ ด้
สญั ลกั ษณ์ในผงั งาน แฟ้มข้อมูล จุดเร่ิมต้น หรือสิ้นสุด จุดเช่ือมต่อในหน้าอ่ืน จุดเชื่อมต่อในหน้าเดยี วกัน อ่านข้อมูลเข้า หรือแสดงผล โปรแกรมย่อย ประมวลผล พมิ พ์ผลทางเครื่องพมิ พ์ ตัดสินใจ แสดงทิศทางการประมวลผล แสดงผลทางหน้าจอ4
การพฒั นาอลั กอริธึม5 หลกั การโครงสร้างควบคุม (Control structures) การเขียนข้นั ตอนในรายละเอียดของแต่ละอลั กอริธึม อาศยั โครงสร้างควบคุมดงั น้ี โครงสร้างลาดบั (Sequence structure) โครงสร้างตดั สินใจ (Selection structure) โครงสร้างทาซ้า (Repetition structure)
การพฒั นาอลั กอริธึม งาน ต่ืนนอน งาน ถอดชุดนอน6 โครงสร้างลาดบั (Sequence) งาน เขา้ หอ้ งน้า หมายถึง งานที่ตอ้ งทาตอ้ งมีลาดบั ก่อนหลงั งาน แตง่ ตวั เช่น อลั กอริธึม “การตื่นนอนตอ้ นรับวนั ใหม่” งาน เดินทางมาเรียน งาน ต่ืนนอน งาน ถอดชุดนอน งาน เขา้ หอ้ งน้า งาน แต่งตวั งาน เดินทางมาเรียน ตอ้ งจดั ลาดบั ใหถ้ ูกตอ้ ง
โครงสร้างการทางานแบบลาดบั (Sequence)7 โครงสรา้ งลาดบั หลกั การใหม้ องงานเป็ นช้ นิ ใหญ่ก่อน ยงั ไมต่ อ้ งลงรายละเอียด แลว้ จดั ลาดบั ความคิดวา่ จะทาอะไร กอ่ นหรือหลงั ตามลาดบั งาน 1 Begin งาน 1 งาน 2 งาน 2 ผงั งาน end รหัสเทียม
ตวั อยา่ งการเขียนผงั งาน8 จงเขียนผงั งานที่แสดงลาดบั การคานวณตวั เลข เพ่ือหาผลลพั ธ์ การคานวณ แลว้ เกบ็ ผลลพั ธ์ไวใ้ นหน่วยความจาตาแหน่ง K 8 + 10 / 5 - 6 * 3 โดยมีลาดบั การคานวณทางเลขคณิต ดงั น้ี 1. ยกกาลงั 2. คูณหรือหาร (โดยทาจากซา้ ยไปขวา) 3. บวกหรือลบ (โดยทาจากซา้ ยไปขวา)
ตวั อยา่ งการเขียนผงั งาน 19 เร่ิมตน้T1 = 10 / 5 T3 = 8 + T1T2 = 6 * 3 K = T3 - T21 จบงาน โจทย์ 8 + 10 / 5 - 6 * 3
การพฒั นาอลั กอริธึม10 โครงสรา้ งตดั สินใจ (selection) โครงสรา้ ง IF โครงสรา้ ง IF else
การพฒั นาอลั กอริธึม11 โครงสรา้ ง IF เป็ นโครงสรา้ งที่ทดสอบเงื่อนไข แลว้ เลือกวา่ จะทาหรือไม่ทา กอ่ นที่จะ ไปทางานอื่นตอ่ ไปเงื่อนไข ใช่ งานที่ต้องทาไม่ใช่งานต่อไป
การพฒั นาอลั กอริธึม12 ตวั อยา่ ง โครงสรา้ ง IF แมถ่ ามวา่ หวิ ขา้ วหรือไม่ ถา้ หิวก็ใหก้ ิน ถา้ ไมห่ ิวไมต่ อ้ งกิน แลว้ จงึ เดินทางไปโรงเรียน (งานตอ่ ไป)หิวใช่ไหม? ใช่ งานกนิ ข้าวไม่ใช่งานเดินทางมาเรียน
ตวั อยา่ งการเขียนผงั งาน จงเขียนผงั งานแสดงการเขียนและสง่ จดหมาย13 เริ่มต้น 1เขียนจดหมาย มี ไม่มีพบั จดหมาย มีแสตมป์ หรือไม่ ทาการซื้อแสตมป์ใส่ซองจดหมาย ติดแสตมป์ จ่าหน้าซอง ส่งจดหมาย 1 จบงาน
การพฒั นาอลั กอริธึม If เงื่อนไข งาน 114 Else โครงสรา้ ง IF-else งาน 2 ไม่ใช่ เง่ือนไข ใช่ End if งาน 2 งาน 1
ตวั อยา่ งการเขียนผงั งาน15 เมื่อเราซ้ือยาจากร้านขายยาท่ีมีอยทู่ ว่ั ๆ ไปน้นั ในส่วนของวิธีใชย้ ามกั จะแยก ขนาดรับประทานไวต้ ามอายุ เช่น อายมุ ากกวา่ 10 ปี รับประทานคร้ังละ 3 ชอ้ นชา อายุ 6-10 ปี รับประทานคร้ังละ 2 ชอ้ นชา อายุ 2-5 ปี รับประทานคร้ังละ 1 ชอ้ นชา เดก็ อายตุ ่ากวา่ 1 ปี หา้ มรับประทาน จงเขียนผงั งานที่แสดงถึงขนาดของการใชย้ าตามอายนุ ้ี
เริ่มต้น16 อายุ > 10 ใช่ รับประทานคร้ังละ 3 ช้อนชา ไม่ใช่ ใช่ รับประทานคร้ังละ 6 <= อายุ <=10 2 ช้อนชา ไม่ใช่ ใช่ รับประทานคร้ังละ 1 ช้อนชา 2 <= อายุ <=5 ไม่ใช่ ห้ามรับประทาน จบงาน
การพฒั นาอลั กอริธึม17 โครงสรา้ งทาซ้า (Repetition Structure) While Repetition Structure โครงสรา้ งท่ีตอ้ งตรวจสอบเง่ือนไขกอ่ นทาในลูป Do While Repetition Structure โครงสรา้ งที่ตอ้ งประมวลผลในลูปอยา่ งนอ้ ย 1 รอบกอ่ นทดสอบ เง่ือนไขออกจากลปู
การพฒั นาอลั กอริธึม While เงื่อนไข งาน18 end while โครงสรา้ ง while รหสั เทียม เทจ็ เงื่อนไข จริง งาน ผงั งาน
การพฒั นาอลั กอริธึม DO คาสั่งตา่ ง ๆ19 While เง่ือนไข โครงสรา้ ง DO while รหสั เทียม งาน จริง เง่ือนไข เทจ็ ผงั งาน
โครงสรา้ งการทางานแบบมีการทางานซ้า (Iteration) เริ่มตน้ จงเขียนผงั งาน แสดงถึงการ พิมพค์ า่ บวกของ J=1 1+2+3+4+5+.....+100 SUM = 0 ออกทางเคร่ืองพิมพ์ SUM = SUM+J J=J+1ใช่ J <=100? ไม่ใช่ Print SUM จบงาน
การเขียนโปรแกรมโดยใชภ้ าษาใดภาษาหน่ึง(Coding)21 การเขียนโปรแกรมท่ีดีน้ัน ควรจะทาตามข้นั ตอน คือเริ่มต้ังแต่ วิเคราะห์ ปัญหา กอ่ นแลว้ ทาการออกแบบโปรแกรม จึงเร่ิมเขียนโปรแกรม สาหรบั ผูท้ ่ีไม่มีประสบการณค์ วรทดลองเขียนในกระดาษก่อน แลว้ ตรวจสอบจน แน่ใจวา่ สามารถทางานไดแ้ ลว้ จงึ ทาการคียล์ งเคร่ือง
การตรวจสอบขอ้ ผิดพลาดของโปรแกรม(Testing and Debugging the Program)22 รูปแบบขอ้ ผิดพลาด มี 3 แบบคือ Syntax Error – ขอ้ ผิดพลาดจากการใชไ้ วยากรณภ์ าษาที่ผิด หรือ อาจเกิดจากการสะกดคาผิด Run-time Error – ขอ้ ผิดพลาดในระหวา่ งการปฏิบตั ิงาน (Execution) มกั เกิดจากความรูเ้ ท่าไมถ่ ึงการณ์ Logical Error – ขอ้ ผิดพลาดที่หาและแกไ้ ดย้ ากท่ีสุด ตอ้ งทาการไล่ โปรแกรมทีละคาสงั่ เพื่อหาขอ้ ผิดพลาดน้ัน
การตรวจสอบขอ้ ผิดพลาดของโปรแกรม (Testing and Debugging the Program)23 วธิ ีการตรวจสอบขอ้ ผิดพลาดของโปรแกรม มีดงั น้ ี การตรวจสอบดว้ ยตนเอง (Self Checking) เขียนโปรแกรมลง กระดาษแลว้ ไลเ่ ช็คตรวจสอบการทางานทีละข้นั ดว้ ยตนเอง ว่าจะมี การทางานท่ีถูกตอ้ งตามความตอ้ งการหรือไม่ ตรวจสอบดว้ ยการแปลโปรแกรม (Translating) การแปลเป็ น ภาษาเคร่ือง ตรวจสอบขอ้ ผิดพลาดของโปรแกรม
การทดสอบความถูกตอ้ งของโปรแกรม (Testing and Validating)24 วิธีทดสอบความถูกตอ้ งของขอ้ มูล มีดงั น้ ี กรณีที่ขอ้ มลู ถูกตอ้ ง (valid case) ทดสอบโดยใส่ขอ้ มูลที่ถูกตอ้ งลงไป ในโปรแกรม เพื่อทดสอบผลลพั ธว์ า่ ตรงกบั ท่ีตอ้ งการหรือไม่ การใชข้ อบเขตและความถูกตอ้ งของขอ้ มลู (Range check and Completeness check) เป็ นการเชค็ ขอบเขตขอ้ มลู การใชค้ วามสมเหตุสมผล (Consistency Check)
การทดสอบความถูกตอ้ งของโปรแกรม (Testing and Validating)25 ขอ้ มลู ที่เป็ นตวั เลขและตวั อกั ษร (Correct No. and Type character check) ตรวจสอบวา่ ถา้ เป็ นฟิ ลดท์ ่ีเป็ นตวั เลขอยา่ งเดียว เชน่ จานวน เงิน ก็ควรจะป้อนขอ้ มลู ไดเ้ ฉพาะตวั เลขเท่าน้ัน ขอ้ มลู เป็ นไปตามขอ้ กาหนด (Existence Check) ขอ้ มลู ท่ีป้อนตอ้ ง เป็ นไปตามท่ีกาหนดไวแ้ น่นอนแลว้ เท่าน้ัน
การบา้ น26 การเขยี นโครงสรา้ งผังงาน การทางานของเว็บไซตข์ ายสนิ คา้ ออนไลน์ มาอยา่ งละ 1 ผงั ลาดับ ทางเลือก ทาซา
Search
Read the Text Version
- 1 - 26
Pages: