Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Slide 3-9-61

Slide 3-9-61

Published by nf_pcyp, 2018-11-19 03:09:16

Description: Slide 3-9-61

Search

Read the Text Version

หลกั การเขียนโปรแกรมรายวชิ า การเขยี นโปรแกรมเชิงวตั ถุ 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 ผงั ลาดับ ทางเลือก ทาซา


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook