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 Computer Programming (Java)

Computer Programming (Java)

Published by SAM PURIWAT, 2022-08-22 10:33:33

Description: เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมคอมพิวเตอร์ ใช้สำหรับการเรียนการสอนในหลักสูตรการจัดการเทคโนโลยีสารสนเทศ คณะเทคโนโลยีการจัดการ มทร.ศรีวิชัย

Keywords: ่่java,programming,subject

Search

Read the Text Version

เอกสารประกอบการสอน COMPUTER PROGRAMMING 11-413-202 PURIWAT LERTKRAI Faculty of Management Technology Rajamangala University of Technology Srivijaya (RUTS)

COMPUTER PROGRAMMING 11-413-202

COMPUTER PROGRAMMING PURIWAT LERTKRAI 11-413-202

สารบญั หนา ที่ ก เรอ่ื ง ก แผนบรหิ ารการสอนประจำรายวชิ า ก จดุ มุง หมายรายวิชา ข คำอธบิ ายรายวชิ า ค เอกสารประกอบการสอน/แหลงเรียนรู/เว็บไซต ค จำนวนช่วั โมงที่ใชสอนตอภาคการศกึ ษา ฉ แผนการสอน 1 การประเมนิ ผลการเรยี นรู 1 บทที่ 1 หลกั สำคัญเกย่ี วกับการเขยี นโปรแกรม 9 11 1.1 ความหมายของโปรแกรมคอมพิวเตอรแ ละประเภทของซอฟตแ วร 15 1.2 ภาษาที่ใชใ นการพฒั นาโปรแกรม 16 1.3 ข้นั ตอนการเขยี นโปรแกรมหรอื พฒั นาโปรแกรม 20 1.4 ลักษณะของโปรแกรมทด่ี ี 20 แบบฝก หดั บทท่ี 1 20 บทที่ 2 การเขียนผังงานสำหรบั การเขยี นโปรแกรมคอมพวิ เตอร 22 2.1 ความหมายของการเขียนผงั งาน 25 2.2 ประเภทผังงาน 26 2.3 สัญลักษณข องผังงาน 33 2.4 หลักเกณฑในการเขียนผงั งาน 37 2.5 ลักษณะการเขียนผงั งาน 40 2.6 ตวั อยางการเขยี นผงั งาน 40 แบบฝก หัดบทท่ี 2 43 บทที่ 3 ภาษา Java และเคร่อื งมือในการเขียนโปรแรกม 46 3.1 ความเปนมาของภาษา Java 55 3.2 โครงสรางภาษาจาวา 3.3 เครอ่ื งมอื ในการเขยี นโปรแกรม แบบฝก หัดบทที่ 3

สารบญั หนาท่ี 58 เร่อื ง 58 บทที่ 4 การรับและการแสดงผลขอ มลู 61 63 4.1 การแสดงผลขอมูลดวยภาษาจาวา 68 4.2 การรับขอ มูลดว ยภาษาจาวา 68 แบบฝก หดั บทที่ 4 69 บทท่ี 5 ตวั แปรและชนิดขอมลู พ้ืนฐาน 73 5.1 ตัวแปร 75 5.2 ชนดิ ขอมูล 80 5.3 คาคงท่ี 84 5.4 การแปลงขอ มลู 84 แบบฝก หัดบทท่ี 5 85 บทที่ 6 ตวั ดำเนนิ การ 85 6.1 เคร่อื งหมายในการเชือ่ มตอ String 87 6.2 ตัวดำเนนิ การกำหนดคา 87 6.3 ตวั ดำเนนิ การทางคณิตศาสตร 88 6.4 ตัวดำเนินการกำหนดคา แบบผสม 90 6.5 ตวั ดำเนนิ การเพิม่ และลดคา 91 6.6 ตวั ดำเนนิ การเปรียบเทยี บ 92 6.7 ตวั ดำเนนิ การทางตรรกศาสตร 94 6.8 ตวั ดำเนนิ การแบบบิต 98 6.9 ตัวดำเนินการเปรียบเทยี บเงอื่ นไขแบบส้นั 98 แบบฝก หัดบทท่ี 6 105 บทที่ 7 คำสั่งเลือกเง่ือนไขและวนซ้ำ 113 7.1 คำส่ังเลอื กเงื่อนไข 116 7.2 คำสงั่ วนซ้ำ 116 แบบฝก หัดบทที่ 7 บทท่ี 8 อาเรย 8.1 การประกาศอาเรย

สารบญั หนา ท่ี 118 เร่ือง 120 8.2 อาเรย 2 มิติ 121 8.3 อาเรย 3 มิติ 124 แบบฝก หดั บทท่ี 8 124 125 บทท่ี 9 คลาสสตริง 126 9.1 การประกาศ String 129 9.2 การตอ String 132 9.3 เมธอดในคลาส String 136 9.4 การเปรยี บเทียบ String 136 แบบฝก หดั บทที่ 9 138 139 บทที่ 10 เมธอด 139 10.1 การสรางเมธอด 142 10.2 อากิวเมนตแ ละพารามิเตอร 144 10.3 เมธอดทมี่ กี ารสง คากลบั 148 10.4 เมธอดและอาเรย 148 10.5 โอเวอรโ หลดด้ิงเมธอด 149 แบบฝก หัดบทที่ 10 150 152 บทท่ี 11 การเขียนโปรแกรมเชิงวตั ถุ 156 11.1 การเขยี นโปรแกรมเชิงวัตถุ 158 11.2 คุณสมบัติของ OOP 161 11.3 คลาสและออบเจค็ 164 11.4 การสรา งคลาสและออบเจ็ค 164 11.5 คอนสตรัคเตอร 165 11.6 คำสัง่ this และ Static แบบฝก หัดบทท่ี 11 บทท่ี 12 การจดั การขอ ผิดพลาด 12.1 เอก็ เซป็ ช่ัน 12.2 คำสงั่ try-catch

สารบญั หนา ที่ 169 เรือ่ ง 170 12.3 คำสงั่ finally 174 12.4 คำสงั่ throws 178 แบบฝก หัดบทท่ี 12 178 179 บทท่ี 13 การทำงานเกย่ี วกับไฟล 181 13.1 คลาส File 182 13.2 การสราง text file 186 13.3 การอา นขอ มลู จาก text file 190 13.4 การเขยี นขอมูลลง text file 190 แบบฝก หัดบทท่ี 13 191 194 บทที่ 14 ตวั อยา งโปรแกรมกรณีศึกษา 199 14.1 การแลกเปล่ียนเงนิ ตราตางประเทศ 205 14.2 เอพไี อ 207 14.3 การเพ่ิมไลบลาร่ี Java เพอื่ ใชงาน 14.4 โปรแกรมแลกเปลย่ี นสกุลเงนิ ตา งประเทศ แบบฝก หดั บทที่ 14 บรรณานุกรม

สารบญั ตาราง หนา ที่ 22 ตารางที่ 60 ตารางที่ 2.1 สัญลักษณของผงั งาน 63 ตารางที่ 4.1 Escape Sequence 70 ตารางที่ 4.2 ตวั อยา งเมธอดในคลาส Scanner 78 ตารางท่ี 5.1 ชนิดขอ มูลที่ใชกับตวั เลข 86 ตารางท่ี 5.2 Primitive Data Types 87 ตารางที่ 6.1 ตัวดำเนนิ การทางคณิตศาสตร 88 ตารางที่ 6.2 ตวั ดำเนินการกำหนดคาแบบผสม 89 ตารางท่ี 6.3 ตัวดำเนินการเพิ่มและลดคา 90 ตารางที่ 6.4 ตัวดำเนนิ การเปรียบเทยี บ 90 ตารางท่ี 6.5 ตวั ดำเนินการทางตรรกศาสตร 91 ตารางที่ 6.6 ตวั อยา งตารางคา ความจรงิ 92 ตารางท่ี 6.7 ตวั ดำเนนิ การระดับบิต 126 ตารางที่ 6.8 การดำเนนิ การจากตัวอยา งโปรแกรม 178 ตารางที่ 9.1 ตวั อยางเมธอดในคลาส String ตารางที่ 13.1 เมธอดในคลาส File

สารบญั รูปภาพ หนา ที่ 4 รูปท่ี 4 รปู ที่ 1.1 ระยะเวลาวนิ โดวส 5 รูปที่ 1.2 อปุ กรณท่ีใชระบบ iOS 8 รปู ท่ี 1.3 เวอรช ั่นของแอนดรอยด 8 รูปที่ 1.4 Microsoft Office 9 รปู ที่ 1.5 Graphic Software 21 รปู ท่ี 1.6 Browser Software 22 รูปท่ี 2.1 ตัวอยา งผงั งานระบบ 27 รปู ที่ 2.2 ตัวอยางผงั งานโปแกรม 28 รปู ที่ 2.3 ตวั อยางผงั งานแบบลำดบั 28 รูปท่ี 2.4 ตัวอยางผงั งานแบบเลือกทำ 29 รูปที่ 2.5 ตวั อยาง IF แบบทางเลือกเดียว 29 รูปที่ 2.6 ตัวอยา ง IF แบบสองทางเลอื ก 30 รูปที่ 2.7 ตวั อยา ง IF แบบหลายทางเลอื ก 30 รูปที่ 2.8 ตัวอยางผงั งานคำสง่ั CASE 31 รปู ท่ี 2.9 ตัวอยา งผงั งานคำสงั่ While 32 รูปท่ี 2.10 ตวั อยา งผงั งานคำสง่ั Do-While 32 รปู ท่ี 2.11 ตัวอยางผงั งานคำสงั่ Repeat-Until 33 รูปที่ 2.12 ตัวอยางผงั งานคำสงั่ For 34 รูปท่ี 2.13 ผังงานรบั ประทานยา 35 รปู ที่ 2.14 ผังงานคดิ วา ลวงเวลาของพนังงาน 50 คน 40 รูปที่ 2.15 ผังงานคดิ คา commission 41 รปู ที่ 3.1 สญั ลักษณภ าษา Java 42 รปู ท่ี 3.2 10 อนั ดบั ภาษาคอมพวิ เตอร 2018 43 รูปท่ี 3.3 10 James Gosling 43 รปู ที่ 3.4 โปแกรม Hello World รปู ที่ 3.5 ผลการนั โปแกรม Hello World

สารบญั รปู ภาพ หนาที่ 46 รปู ที่ 47 รูปท่ี 3.6 JDK 8 สำหรับ Window OS 47 รูปที่ 3.7 Path JDK ใน Window OS 48 รปู ท่ี 3.8 ดาวนโหลด IntelliJ IDEA Community 48 รูปที่ 3.9 การสรา งโปรเจคใหม 49 รปู ท่ี 3.10 เลอื กประเภทโปรเจค และ Project SDK 49 รปู ท่ี 3.11 โปรเจค Template 50 รูปท่ี 3.12 การต้งั ชอื่ โปรเจคและตำแหนง จัดเกบ็ ไฟล 50 รปู ท่ี 3.13 โครงสรา งโปรเจค 51 รูปที่ 3.14 การสรา ง Package 51 รูปที่ 3.15 การตั้งชื่อ Package 51 รปู ท่ี 3.16 การสรา งไฟล Java Class 52 รูปท่ี 3.17 การตั้งช่ือ Java Class 52 รปู ที่ 3.18 ไฟล HelloWorld.java 53 รปู ที่ 3.19 การเพมิ่ คำสง่ั ในไฟล HelloWorld.java 53 รปู ท่ี 3.20 การรนั โปรแกรม 59 รปู ท่ี 3.21 ผลลัพธก ารรนั โปรแกรม 59 รูปที่ 4.1 ตัวอยา งคำส่งั แสดงผล 60 รูปที่ 4.2 ผลการันโปรแกรมตัวอยา งคำสง่ั แสดงผล 61 รูปที่ 4.3 ตวั อยา งการใช Escape Sequence 61 รูปท่ี 4.4 ผลการรนั โปรแกรมตวั อยางการใช Escape Sequence 62 รูปที่ 4.5 ตัวอยา งการรับขอ มูลจากคียบอรด 74 รปู ที่ 4.6 ผลการรนั โปรแกรมรับคา ขอ มลู 75 รปู ที่ 5.1 ตวั อยางโปรแกรมการใชค า คงท่ี 77 รูปท่ี 5.2 ผลลพั ธการทำงานโปรแกรม 77 รูปที่ 5.3 การใช Type Casting รูปที่ 5.4 ผลลพั ธจ ากการใช Type Casting

สารบญั รูปภาพ หนา ท่ี 78 รูปท่ี 79 รปู ท่ี 5.5 การใช Primitive Type เพื่อแปลงประเภทขอ มลู 79 รปู ท่ี 5.6 การใช String Type เพือ่ แปลงประเภทขอมลู 84 รปู ที่ 5.7 ผลลพั ธจากการแปลงขอ มลู เปน String ดว ย String.valueOf 85 รปู ที่ 6.1 ตัวอยา งโปรแกรมการใชเครื่องหมาย (+) 86 รปู ที่ 6.2 ผลลพั ธการรนั ตัวอยางโปรแกรมการใชเ ครอ่ื งหมาย (+) 87 รปู ท่ี 6.3 ตวั อยา งโปรแกรมการใชตวั ดำเนินการทางคณิตศาสตร 88 รปู ที่ 6.4 ผลลพั ธก ารรันโปรแกรมการใชต ัวดำเนินการทางคณิตศาสตร 88 รปู ที่ 6.5 ตวั อยา งโปรแกรมการใชตวั ดำเนินการเพม่ิ และลดคา ตวั แปร 89 รปู ท่ี 6.6 ผลลพั ธการรนั โปรแกรมการใชตวั ดำเนนิ การเพม่ิ และลดคา ตวั แปร 89 รปู ท่ี 6.7 ตัวอยางโปรแกรมการใชตัวดำเนนิ การเปรยี บเทียบ 90 รปู ที่ 6.8 ผลลพั ธการรันตวั อยางโปรแกรมการใชต วั ดำเนินการเปรยี บเทยี บ 91 รูปท่ี 6.9 ตวั อยางโปรแกรมการใชตวั ดำเนินการทางตรรกศาสตร 92 รูปท่ี 6.10 ตวั อยา งโปรแกรมการใชต ัวดำเนนิ การแบบบิต 93 รูปที่ 6.11 ผลลพั ธก ารรันตัวอยา งโปรแกรมการใชต วั ดำเนินการแบบบิต 93 รูปที่ 6.12 ตัวอยา งโปรแกรมการใชตวั ดำเนินการเปรยี บเทยี บแบบสนั้ 99 รูปที่ 6.13 ผลลพั ธก ารรันตวั อยางโปรแกรมการใชต ัวดำเนินการเปรียบเทียบแบบสนั้ 99 รปู ท่ี 7.1 ตวั อยา งคำส่ัง if 100 รปู ท่ี 7.2 ตวั อยางผลการรันคำสงั่ if 100 รปู ที่ 7.3 ตวั อยางคำสง่ั if-else 101 รปู ที่ 7.4 ตวั อยา งผลการรนั คำสงั่ if-else 102 รูปท่ี 7.5 ตวั อยา งคำสั่ง if-else-if 104 รูปท่ี 7.6 ผลลพั ธก ารันโปรแกรมตวั อยางคำส่ัง if-else-if 105 รูปท่ี 7.7 ตวั อยางคำส่ัง switch-case 106 รูปที่ 7.8 ผลลพั ธก ารรนั โปรแกรมตวั อยางคำสง่ั switch-case 106 รูปที่ 7.9 ตัวอยา งคำส่งั while รูปที่ 7.10 ผลลพั ธการรันโปรแกรมตวั อยา งคำส่ัง while

สารบญั รูปภาพ หนาที่ 107 รปู ท่ี 108 รปู ที่ 7.11 ตัวอยางคำสง่ั do-while 109 รูปท่ี 7.12 ผลลัพธการรนั โปรแกรมตวั อยางคำสั่ง do-while 109 รูปที่ 7.13 ตัวอยา งคำสง่ั for 110 รปู ที่ 7.14 ผลลพั ธก ารรันโปรแกรมตวั อยางคำสงั่ for 110 รูปท่ี 7.15 ตวั อยางคำส่งั nested loop 111 รูปท่ี 7.16 ผลลพั ธก ารรันโปรแกรมตัวอยา งคำสั่ง nested loop 111 รูปที่ 7.17 ตวั อยา งคำสั่ง continue 112 รูปท่ี 7.18 ผลลพั ธก ารรนั โปรแกรมตัวอยา งคำสัง่ continue 112 รูปที่ 7.19 ตัวอยา งคำสงั่ break 117 รปู ที่ 7.20 ผลลัพธก ารรนั โปรแกรมตวั อยางคำสั่ง break 118 รปู ที่ 8.1 ตัวอยา งโปรแกรมการประกาศอาเรย 119 รูปที่ 8.2 ผลลพั ธก ารรนั ตวั อยา งโปรแกรมการประกาศอาเรย 120 รูปท่ี 8.3 ตวั อยา งโปรแกรมการประกาศอาเรย 2 มิติ 125 รปู ท่ี 8.4 ผลลพั ธการรันตวั อยางโปรแกรมการประกาศอาเรย 2 มติ ิ 126 รปู ที่ 9.1 ตัวอยางโปรแกรมการตอ String 128 รปู ที่ 9.2 ผลลพั ธการรันตัวอยางโปรแกรมการตอ String 129 รูปท่ี 9.3 ตัวอยา งโปรแกรมการใชเมธอดในคลาส String 137 รูปท่ี 9.4 ผลลพั ธก ารรนั ตัวอยางโปรแกรมการการใชเ มธอดในคลาส String 137 รปู ที่ 10.1 ตัวอยางโปรแกรมการสรางเมธอด 138 รปู ที่ 10.2 ผลลพั ธการรันตวั อยา งโปรแกรมการสรา งเมธอด 139 รปู ที่ 10.3 ตวั อยางโปรแกรมการสง คา อากิวเมนต 139 รปู ที่ 10.4 ผลลพั ธการรันการสงคาอากวิ เมนต 140 รูปที่ 10.5 ตัวอยา งโปรแกรมเมธอดคนื คากลับ 140 รปู ที่ 10.6 ผลลพั ธการรนั ตัวอยา งโปรแกรมเมธอดคืนคา กลบั 141 รูปที่ 10.7 โปรแกรมเมธอดคนื คากลับแบบมตี ัวแปรมารับ รูปที่ 10.8 ผลลัพทธก ารรันโปรแกรมเมธอดคนื คากลบั แบบมตี วั แปรมารับ

สารบญั รูปภาพ หนา ท่ี 141 รูปที่ 142 รปู ท่ี 10.9 โปรแกรมเมธอดกบั อาเรย 142 รูปที่ 10.10 ผลลัพธก ารรนั โปรแกรมเมธอดกบั อาเรย 150 รปู ที่ 10.11 ตวั อยา งโปรแกรม method overloading 151 รูปท่ี 11.1 ตัวอยางคลาส Car 153 รูปท่ี 11.2 ตัวอยางโปรแกรมคลาส Car 154 รปู ท่ี 11.3 คลาส Person 156 รูปที่ 11.4 คลาส exPerson 157 รูปที่ 11.5 ผลลทั ธก ารรนั โปรแกรม exPerson 159 รปู ที่ 11.6 ตัวอยา ง Constructor 160 รปู ที่ 11.7 การใชค ำส่งั static 166 รปู ที่ 11.8 ผลลพั ธตัวอยา งการใชคำสัง่ static 166 รปู ท่ี 12.1 ตัวอยางการจดั การขอ ผิดพลาด 167 รูปท่ี 12.2 ผลการรันทเ่ี กิดขอผดิ พลาด 167 รปู ที่ 12.3 ตัวอยา งการใชค ำสง่ั try-catch 168 รปู ที่ 12.4 ผลการตรวจสอบ exception 168 รูปที่ 12.5 ตัวอยางการใชค ำสง่ั try-catch ท่ีซอ นกนั 169 รูปท่ี 12.6 ผลลพั ธก ารรันตัวอยางการใชค ำสง่ั try-catch ทซ่ี อนกนั 170 รปู ท่ี 12.7 ตัวอยา งคำสั่ง finally 171 รูปที่ 12.8 ตวั อยางโปรแกรมการหาร 171 รูปที่ 12.9 ผลลพั ธท เ่ี กิดจากการหารดวยศูนย 172 รูปท่ี 12.10 ตวั อยางการใชค ำส่งั throws 179 รูปที่ 12.11 ตวั อยางการใชค ำสง่ั throws แบบหลายคลาส 180 รูปท่ี 13.1 ตัวอยา งโปรแกรมสรา ง text file 180 รูปท่ี 13.2 ผลลการรันโปรแกรมตวั อยางการสรา ง text file 180 รูปท่ี 13.3 ที่อยไู ฟล Test.txt รปู ท่ี 13.4 เพมิ่ ขอ ความใน Test.txt

สารบญั รูปภาพ หนาที่ 181 รูปท่ี 182 รูปที่ 13.5 ตัวอยางโปแกรมการอานไฟล 183 รูปท่ี 13.6 ผลลัพธก ารรนั โปรแกรมการอา นไฟล 184 รปู ที่ 13.7 ตัวอยา งโปแกรมการเขยี นไฟล 184 รปู ที่ 13.8 ผลลพั ธการรันตวั อยางโปรแกรมการเขียนไฟล 185 รปู ท่ี 13.9 ตัวอยา งการเขยี นไฟลต อ จากขอมลู เดิม 191 รปู ที่ 13.10 ผลลัพธการรนั โปรแกรมเขยี นไฟลต อจากขอ มลู เดิม 192 รูปที่ 14.1 อัตราการแลกเปลยี่ นเงินตราตา งประเทศวันท่ี 25 มถิ ุนายน 2562 192 รปู ที่ 14.2 ExchangeRate-API 193 รปู ที่ 14.3 ตวั อยา งการใช API 194 รปู ที่ 14.4 สว นขยาย JSON Formatter 195 รปู ที่ 14.5 ผลการใช JSON Formatter 195 รูปที่ 14.6 ไลบลารี่ org-json-java 196 รูปท่ี 14.7 สรางโปรเจคชอ่ื CaseStudy_CurrencyExchange 196 รูปที่ 14.8 โครงสรางโปรเจค CaseStudy_CurrencyExchange 197 รูปที่ 14.9 การเพม่ิ ไลบลารใ่ี นโปรแกรม IntelliJ IDEA (1) 197 รูปท่ี 14.10 การเพ่ิมไลบลาร่ีในโปรแกรม IntelliJ IDEA (2) 198 รูปที่ 14.11 การเพม่ิ ไลบลารใ่ี นโปรแกรม IntelliJ IDEA (3) 198 รปู ท่ี 14.12 การเพม่ิ ไลบลารี่ในโปรแกรม IntelliJ IDEA (4) 199 รูปท่ี 14.13 การเพิ่มไลบลาร่ีในโปรแกรม IntelliJ IDEA (5) 199 รูปท่ี 14.14 การเพมิ่ ไลบลารใ่ี นโปรแกรม IntelliJ IDEA (6) 200 รปู ท่ี 14.15 คลาสไดอะแกรมโปแกรมแลกเปล่ียนสกลุ เงินตา งประเทศ 202 รูปที่ 14.16 System Flowchart โปแกรมแลกเปลย่ี นสกลุ เงนิ ตางประเทศ 203 รปู ท่ี 14.17 คลาส ExchangeAPI 204 รปู ท่ี 14.18 คลาส CurrencyExchange รูปที่ 14.19 ผลลพั ธการรนั โปรแกรมแลกเปลย่ี นสกุลเงนิ ตา งประเทศ

ก แผนบริหารการสอนประจำรายวชิ า รหัสวชิ า 11-413-202 ชื่อวชิ า (ภาษาไทย) การเขยี นโปรแกรมคอมพิวเตอร ช่ือวชิ า (ภาษาองั กฤษ) Computer Programming จำนวนหนวยกติ 3 (2-2-5) จุดมุง หมายของรายวิชา 1. มีความเขาใจแนวคดิ และองคป ระกอบของระบบคอมพิวเตอร การอันตรกิริยาระหวา ง ฮารด แวรและซอฟตแวร และการประมวลผลขอมลู ทางอเิ ลก็ ทรอนกิ ส 2. มีความเขา ใจวธิ กี ารออกแบบและพฒั นาโปรแกรม การเขยี นโปรแกรมดวยภาษาคอมพวิ เตอร 3. เปนผเู ชีย่ วชาญดานการจัดการเทคโนโลยสี ารสนเทศทมี่ คี ณุ ภาพตรงกับความตองการของ ตลาดแรงงาน คำอธบิ ายรายวิชา หลักสำคัญเกีย่ วกับโปรแกรม การเขียนผงั งานสำหรบั การเขียนโปรแกรมคอมพิวเตอร ชนิด ของขอ มูล ประเภทของตวั แปรนิพจน คำส่ังทีใ่ ชใ นการแสดงผลและนำเขาขอมูล โปรแกรมควบคุม การทำซ้ำ โปรแกรมยอย การทำงานเกี่ยวกับไฟล การเขียนโปรแกรมเชิงโครงสราง การเขียน โปรแกรมเชงิ ออบเจ็ค ซอฟตแวรก รณศี ึกษาเก่ียวกบั ธรุ กิจ Principles of programming; flow chart for computer programming; data type; variable; expression; output-input Statement; loops; subprogram; file processing; structured programing; object-oriented programming; software case study for business.

ข เอกสารอานประกอบ/แหลง ความร/ู เว็บไซต ธรี วฒั น ประกอบผล. (2017). เขียนโปรแกรมเชิงวตั ถภุ าษา Java ฉบับสมบรู ณ. กรงุ เทพฯ: ซมิ พลิ ฟาย, สนพ. บญั ชา ปะสลี ะเตสงั . (2018). การเขียนโปรแกรมดวย Java สำหรบั ผเู รม่ิ ตน. กรงุ เทพฯ: ซเี อ็ดยเู คชน่ั , บมจ. บรุ นิ ทร, ร., & ขวัญชนก, ร. (2560, October 5). ผงั งาน (Flowchart Diagram). Retrieved May 9, 2561, from ThaiAll.com: http://www.thaiall.com/flowchart/indexo.html สุดา เธยี รมนตร.ี (2557). คูม อื เรียนเขียนโปรแกรมภาษา Java ฉบบั สมบรู ณ (2nd Edition) +CD. กรงุ เทพฯ: Infopress Group. อรพนิ ประวตั บิ รสิ ทุ ธ์ิ. (2561). คูมอื เขียนโปรแกรมดวยภาษา JAVA ฉบบั สมบรู ณ. กรงุ เทพฯ: Provision FreeCodeCamp. (2018, January 16). Here are the best programming languages to learn in 2018. (FreeCodeCamp, Editor) Retrieved May 2018, 5, from FreeCodeCamp: https://www.freecodecamp.org/news/best-programming- languages-to-learn-in-2018-ultimate-guide-bfc93e615b35/ Javatpoint. (n.d.). Java Tutorial. Retrieved April 10, 2018, from Javatpoint.com: https://www.javatpoint.com/java-tutorial Learnjavaonline. (n.d.). Learn java online. Retrieved April 22, 2018, from LearnJava: https://www.learnjavaonline.org/ Oracle. (n.d.). Java™ Platform, Standard Edition 8. Retrieved May 8, 2018, from Java™ Platform, Standard Edition 8: https://docs.oracle.com/javase/8/docs/api/index.html Oracle. (n.d.). The Java™ Tutorials. Retrieved April 10, 2018, from Oracle Java Documentation: https://docs.oracle.com/javase/tutorial/java/ Tutorialspoint. (n.d.). Java Tutorials. Retrieved April 24, 2018, from tutorialspoint.com: https://www.tutorialspoint.com/java/ W3Schools. (n.d.). Java Tutorial. Retrieved April 23, 2018, from W3Schools.com: https://www.w3schools.com/java/default.asp

ค จำนวนชว่ั โมงท่ีใชตอภาคการศึกษา บรรยาย สอนเสริม การฝก ปฏิบัต/ิ งาน การศึกษาดว ยตวั เอง 30 ชวั่ โมง ภาคสนาม/การ 75 ช่วั โมง ตามความตองการของ นกั ศึกษา หรอื ตาม ฝก งาน ความเห็นของผูสอน 30 ชว่ั โมง แผนการสอน สปั ดาห หวั ขอ /รายละเอียด จำนวน กิจกรรมการเรียนการสอน ที่ ชั่วโมง (ท - ป) 1. สอนแบบบรรยายโดยใชสือ่ ประกอบการสอน 1 บทท่ี 1 หลกั สำคญั 3-1 2. ใหนกั ศึกษามสี ว นรวมในกจิ กรรมระหวางการ เกีย่ วกบั การเขยี น เรียนการสอนโดยใชว ิธีการถาม-ตอบ โปรแกรม 1-3 3. ศึกษาคนควาตัวอยา งซอฟตแ วรคอมพวิ เตอร และอภปิ รายผล 2 บทที่ 2 การเขียน 2-2 1. สอนแบบบรรยายโดยใชสือ่ ประกอบการสอน ผงั งานสำหรบั การ 2. ใหน กั ศกึ ษามสี วนรว มในกจิ กรรมระหวา งการ เขียนโปรแกรม 1-1 เรยี นการสอนโดยใชวธิ ีการถาม-ตอบ คอมพวิ เตอร 1-1 3. ปฏิบตั กิ ารเขียนผังงานสำหรบั โปรแกรม คอมพิวเตอร 3 บทที่ 3 ภาษา 1. สอนแบบบรรยายโดยใชสอ่ื ประกอบการสอน Java และเคร่ืองมอื 2. ใหนักศกึ ษามีสวนรวมในกจิ กรรมระหวางการ ในการเขียน เรียนการสอนโดยใชว ธิ กี ารถาม-ตอบ โปรแกรม 3. ปฏบิ ัติการตดิ ตงั้ เครือ่ งมอื สำหรบั การเขยี น โปรแกรมและทดลองเขยี นโปรแกรมเบ้อื งตน 4 บทที่ 4 การรบั และ 1. สอนแบบบรรยายโดยใชส ่อื ประกอบการสอน การแสดงผลขอมลู 2. ใหน ักศกึ ษามีสว นรว มในกจิ กรรมระหวางการ เรียนการสอนโดยใชว ธิ ีการถาม-ตอบ

ง สปั ดาห หวั ขอ /รายละเอยี ด จำนวน กจิ กรรมการเรยี นการสอน ท่ี ชว่ั โมง (ท - ป) 3. ปฏิบัติการเขยี นโปรแกรมการแสดงผลรบั ขอมลู ตัวแปร และชนดิ ขอมูลพืน้ ฐาน บทที่ 5 ตัวแปร และชนดิ ขอ มูล 2-2 1. สอนแบบบรรยายโดยใชสอ่ื ประกอบการสอน พ้ืนฐาน 2. ใหนักศึกษามสี ว นรวมในกจิ กรรมระหวา งการ 5 บทท่ี 6 ตวั เรียนการสอนโดยใชว ิธกี ารถาม-ตอบ ดำเนนิ การ 3. ปฏิบตั กิ ารเขยี นโปรแกรมการใชงานคำสง่ั เก่ียวกับตัวดำเนนิ การ 6-7 บทที่ 7 คำส่งั เลอื ก เง่อื นไขและวนซำ้ 4-4 1. สอนแบบบรรยายโดยใชส่อื ประกอบการสอน 2. ใหนักศึกษามีสวนรว มในกจิ กรรมระหวา งการ 8 เรยี นการสอนโดยใชวธิ ีการถาม-ตอบ 9 บทท่ี 8 อาเรย 3. ปฏิบัติการเขียนโปรแกรมคำสงั่ เลอื กเงอื่ นไข และวนซำ้ 10 บทท่ี 9 คลาสสตรงิ สอบกลางภาค 11 บทท่ี 10 เมธอด 2-2 1. สอนแบบบรรยายโดยใชส อื่ ประกอบการสอน 2. ใหน ักศึกษามีสวนรวมในกจิ กรรมระหวางการ เรียนการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ปฏบิ ตั กิ ารเขยี นโปรแกรมการใชง านอาเรย 1มิติ และหลายมิติ 2-2 1. สอนแบบบรรยายโดยใชสอ่ื ประกอบการสอน 2. ใหน ักศึกษามีสวนรว มในกจิ กรรมระหวา งการ เรียนการสอนโดยใชว ธิ ีการถาม-ตอบ 3. ปฏิบัติการเขยี นโปรแกรมการใชง านคลาสสตรงิ 2-2 1. สอนแบบบรรยายโดยใชส ่อื ประกอบการสอน 2. ใหนกั ศกึ ษามสี วนรวมในกจิ กรรมระหวา งการ เรยี นการสอนโดยใชว ิธกี ารถาม-ตอบ 3. ปฏิบัตกิ ารเขยี นโปรแกรมการสรา งเมธอดและ การเรียกใชเมธอด

จ สปั ดาห หวั ขอ /รายละเอียด จำนวน ท่ี ชว่ั โมง กิจกรรมการเรียนการสอน (ท - ป) 12 บทที่ 11 การเขยี น 2-2 1. สอนแบบบรรยายโดยใชส ือ่ ประกอบการสอน โปรแกรมเชงิ วัตถุ 2. ใหน ักศกึ ษามสี วนรว มในกจิ กรรมระหวางการ 13 บทที่ 12 การ เรยี นการสอนโดยใชวิธีการถาม-ตอบ จดั การขอ ผดิ พลาด 3. ปฏบิ ัตกิ ารเขียนโปรแกรมการสรา งคลาสและ ออบเจค็ 14 บทที่ 13 การ 2-2 1. สอนแบบบรรยายโดยใชสื่อประกอบการสอน ทำงานเกยี่ วกบั ไฟล 2. ใหน ักศึกษามสี วนรว มในกจิ กรรมระหวางการ เรยี นการสอนโดยใชวิธกี ารถาม-ตอบ 15-16 บทท่ี 14 ตัวอยาง 3. ปฏบิ ัตกิ ารเขียนโปรแกรมการจดั การ โปรแกรมกรณีศึกษา ขอ ผิดพลาด การตรวจจบั และการโยน ขอผิดพลาด 17 2-2 1. สอนแบบบรรยายโดยใชส ื่อประกอบการสอน 2. ใหน กั ศกึ ษามีสว นรวมในกจิ กรรมระหวา งการ เรียนการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ปฏิบตั กิ ารเขยี นโปรแกรมการสรางไฟล อา น ไฟล และเขยี นไฟล 4-4 1. สอนแบบบรรยายโดยใชส ื่อประกอบการสอน 2. ใหนักศึกษามีสว นรวมในกจิ กรรมระหวา งการ เรียนการสอนโดยใชว ธิ ีการถาม-ตอบ 3. ปฏบิ ตั ิการเขียนโปรแกรมเพ่อื ปรบั ปรุง กรณีศึกษา Currency Exchange System สอบปลายภาค

ฉ การประเมนิ ผลการเรยี นรู ผลการเรียนรู วิธกี ารประเมิน สัปดาหป ระเมนิ สดั สวนของ การประเมิน คณุ ธรรม จรยิ ธรรม -ประเมินจากเวลาการเขาช้ันเรียน ตลอดภาค ของนกั ศกึ ษาและเวลาการสง งานท่ี การศึกษา 10% ความรู ไดร ับมอบหมาย การแตงกาย การมี สวนรวม อภิปราย เสนอความ 8 30% ทักษะทางปญ ญา คิดเหน็ ในชั้นเรยี น 16 30% ทักษะความสมั พันธ -ดูพฤติกรรมความเออื้ เฟอ หรอื ความ นอกตาราง 10% ระหวา งบุคคลและ มนี ำ้ ใจตอ เพ่ือนและครูอาจารย 1-8, 10-15 10% ความรับผดิ ชอบ -การสอบกลางภาคเรียน 5% ทกั ษะวเิ คราะหเชงิ -การปลายภาคเรียน ตลอดภาค ตวั เลข การส่อื สาร -การสอบปฏิบัติ การศึกษา 5% และการใชเ ทคโนโลยี -จากผลงานและการฝกปฏบิ ตั ิของ สารสนเทศ นกั ศกึ ษา ตลอดภาค -จากพฤตกิ รรมในการทำกจิ กรรม การศึกษา ระหวางนกั ศึกษา -จากผลงานของนกั ศึกษารายบุคคล -ประเมนิ จากการสอบวัดความ ถูกตองชำนาญ และทักษะตาม เน้อื หาสาระรายวชิ า -ประเมนิ จากผลงานทมี่ อบหมาย

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 1 สัปดาหท่ี 1 ใบเตรียมการสอน เวลา 4 ชั่วโมง บทที่ 1 หลกั สำคัญเก่ียวกบั การเขียนโปรแกรม 1.1 ความหมายของโปรแกรมคอมพวิ เตอรแ ละประเภทของซอฟตแ วร 1.2 ภาษาท่ใี ชใ นการพฒั นาโปรแกรม 1.3 ข้นั ตอนการเขียนโปรแกรมหรือการพัฒนาโปรแกรม 1.3.1 การวเิ คราะหและการกำหนดรายละเอียดของปญหา 1.3.2 การออกแบบโปรแกรม 1.3.3 การเขียนโปรแกรม 1.3.4 การตรวจสอบการทำงาน 1.3.5 การทำเอกสารประกอบโปรแกรม 1.3.6 การบำรงุ รักษาโปรแกรม 1.4 ลกั ษณะของโปรแกรมท่ีดี จุดประสงคการสอน 1.1 มคี วามรูความเขา ใจหลักการของการเขยี นโปรแกรม 1.2 สามารถบอกความแตกตางของโปรแกรมแตละประเภทตามลกั ษณะการใชง าน 1.2 เขาใจกระบวนการเขยี นโปรแกรมอธิบายขัน้ ตอนในกระบวนการการเขยี นโปรแกรม 1.3 มีเจตคตทิ ดี่ แี ละเขาใจความสำคัญของการเขยี นโปรแกรม ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

2 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) บทท่ี 1 หลักสำคญั เกย่ี วกับการเขียนโปรแกรม การเขียนโปรแกรมคอมพิวเตอร หรือบางครั้งก็เรียกแบบส้ันๆ วา การเขียนโปรแกรม หรอื การเขยี นโคด มจี ุดประสงคหลกั คือ การเขยี นคำสงั่ ใหอปุ กรณฮ ารด แวรท ำงาน หรือ คำสง่ั ทีใ่ ชสำหรับ การส่ือสารกบั ผใู ชงานโปรแกรม ในบทนีจ้ ะกลา วถงึ หลกั สำคญั ทเ่ี กีย่ วกบั การเขียนโปรแกรมดงั ตอไปนี้ 1.1 ความหมายของโปรแกรมคอมพวิ เตอรและประเภทของซอฟตแวร โปรแกรมคอมพวิ เตอร หมายถึง คำสัง่ หรือชดุ คำส่งั ท่เี ขียนข้ึนมาเพื่อส่งั ใหเ คร่อื งคอมพวิ เตอร ทำงานตามทเี่ ราตองการ เราจะใหคอมพิวเตอรท ำอะไรกเ็ ขียนเปน คำส่งั ซง่ึ ตองส่ังเปน ขนั้ ตอนและแต ละขน้ั ตอนตอ งทำอยา งละเอยี ดและครบถว น ซึ่งจะเกิดเปนงานช้นิ หนึง่ ข้ึนมามีช่อื เรียกวา \"โปรแกรม\" ซอฟตแ วรจะแบง ออกเปนประเภทใหญ ๆ ได 2 ประเภท คือ 1.1.1 ซอฟตแวรระบบ (System Software) 1.1.2 ซอฟตแวรป ระยุกต (Application Software) 1.1.1 ซอฟตแวรระบบ (System Software) ซอฟตแวรระบบ หมายถึง โปรแกรมที่ทำหนาทคี่ วบคมุ การทำงานของฮารดแวรท ุกอยา งและ อำนวยความสะดวกใหก บั ผูใ ชเครอื่ งคอมพวิ เตอร ซ่ึงแบง แตละโปรแกรมตามหนา ทกี่ ารทำงานดงั นี้  OS (Operating System) ระบบปฏิบัติการ คือ โปรแกรมระบบที่ทำหนาที่ควบคุมการใชงานสวนตาง ๆ ของเครื่อง คอมพวิ เตอร เชน ควบคมุ หนวยความจำควบคมุ หนวยประมวลผลควบคมุ หนวยรับและควบคุมหนวย แสดงผล ตลอดจนแฟมขอมลู ตาง ๆ ใหมีประสิทธิภาพสูงที่สุด และสามารถใชอุปกรณทุกสวนของ คอมพิวเตอรมาทำงานไดอยางเต็มที่ นอกจากน้ันยังเขา มาชวยจัดสรรการใชทรพั ยากรในเครื่องและ ชวยจัดการกระบวนการพื้นฐานทีส่ ำคัญ ๆ ภายในเครื่องคอมพิวเตอร เชน การเปดหรือปดไฟลก าร สื่อสารกันระหวางชิ้นสวนตาง ๆ ภายในเครื่อง การสงขอมูลออกสูเ ครื่องพิมพหรือจอภาพ เปนตน กอนทีเ่ ครอื่ งคอมพิวเตอรแตล ะเครื่องจะสามารถอานไฟลตา ง ๆ หรอื สามารถใชซอฟตแ วรตาง ๆ ได ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 3 จะตอ งผานการดึงระบบปฏิบัติการออกมาฝง ตัวอยใู นหนว ยความจำกอน ปจ จบุ ันนม้ี ีโปรแกรมระบบท่ี เปนท่ีนยิ มใชง านในดา นตา ง ๆ เชน o Linux เปนระบบปฏบิ ัตกิ ารตัวหนึ่งเชน เดียวกับ DOS, Windows และ Unix แต Linux น้ัน จัดวาเปนระบบปฏิบัติการ Unix ประเภทหน่ึงในปจจบุ ันนีม้ กี ารใช Linux กันมากเนือ่ งจาก ความสามารถของตัวระบบปฏิบัติการและโปรแกรมประยุกตที่ทำงานบนระบบ Linux ได พัฒนาขึ้นมามากมายโดยเฉพาะอยางยิ่งโปรแกรมในตระกูลของ GNU (GNU's Not UNIX) และสิ่งที่สำคัญท่ีสดุ คือระบบ Linux เปนระบบปฏิบัติการประเภทฟรีแวร (Free Ware) คือ ไมเสียคา ใชจายในการซอื้ โปรแกรมระบบ Linux ปจ จุบันนีไ้ ดมกี ารนำระบบปฏิบตั ิการ Linux ไปประยุกตใชเปนระบบปฏิบัติการแบบเครือขายสำหรับงานดานตาง ๆ เชน ระบบ อินเทอรเน็ตภายในองคกร ใชในการเรยี นการสอน การทำวจิ ัยทางคอมพิวเตอร การพัฒนา โปรแกรม เปน ตน o Windows เปนระบบปฏิบัติการที่กำลังนิยมใชกันมากในปจจุบนั บริษัทไมโครซอฟตไดเริม่ ประกาศใช MS Window 95 ครั้งแรกเมื่อ 24 สิงหาคม ค.ศ. 1995 โดยมีความคิดที่วาจะ พัฒนามาแทน MS-DOS และ Window 3.x ดังนั้นลักษณะของ window 95 จึงคลายกับ ระบบปฏิบตั ิการที่มีทั้ง DOS และ Window อยูในตัวเดยี วกันแตเปน Window ที่มีลักษณะ พิเศษกวาเดิม เชน มีคุณสมบัติเปน Plug and Play ซึ่งสามารถจะรูจักฮารดแวรตาง ๆ ที่ ติดตั้งอยูในเครื่องไดโดยอัตโนมัติ มีลักษณะเปน GUI (Graphic-User Interface) ที่นำ รูปแบบของสัญลักษณภาพกราฟกเขามาแทนการปอนคำสัง่ ทีละบรรทัด เพื่อใหการใชงาน DOS ทำไดงายขึ้น ปจจุบันบริษัท Microsoft ไดพัฒนาระบบนี้อยางตอเนื่องจนถึงรุน Windows 10 และมีทั้งระบบที่เปน 32 บิต และ 64 บติ ดงั รปู ที่ 1 ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภูริวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

4 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) รปู ท่ี 1.1 ระยะเวลาวินโดวส แหลง ทม่ี า: https://th.wikipedia.org/wiki/ไมโครซอฟท_วินโดวส  iOS ระบบปฏบิ ัติการบนอุปกรณพกพา Smart Phone และ Tablet พฒั นาและจำหนายโดย บริษทั แอปเปล เปดตวั คร้งั แรกในป 2007 เพื่อใชบ น iPhone โดย iOS น้นั มตี น กำเนิดมาจาก MAC OS X (แมคโอเอสเทน็ ) และไดมกี ารพัฒนาเพ่มิ เติมเพ่อื ใชบ นอุปกรณพกพาอน่ื ๆ ของ แอปเปล เชน iPod Touch iPad iPad-Mini และ Apple TV ระบบปฏิบัติการนี้แตกตาง จาก Window phone ของ Microsoft และ Android ของ Google เนื่องจากแอปเปลไม อนุญาตใหน ำ iOS ไปติดตงั้ บนอปุ กรณอ นื่ ท่ีไมใ ชอ ุปกรณของแอปเปล รปู ที่ 1.2 อปุ กรณที่ใชร ะบบ iOS แหลง ท่ีมา: https://www.browserstack.com/ios-testing ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 5  Android ระบบปฏบิ ัตกิ ารสำหรบั อปุ กรณพกพา เชน Smart Phone Tablet Netbook เร่ิม พัฒนาโดยบรษิ ทั Android จากนั้นบริษทั Android ถูกซ้ือโดย Google และนำ Android ไป พัฒนาตอ ภายหลงั ถูกพัฒนาในนามของ Open Handset Alliance ทาง Google ไดเปดให นักพัฒนาสามารถแกไ ขโคด ตาง ๆ ดวยภาษาจาวา และควบคุมอุปกรณผานทางชุด Java Libraries ท่ี Google พัฒนาขึ้น โดย Android ถูกตั้งชื่อเลียนแบบหุนยนตในเรื่อง สตาร วอรส ที่ชื่อดรอยด ซึ่งเปนหุนยนตที่สรางขึ้นมาเลียนแบบมนุษยเปนซอฟ ตแวร ระบบปฏิบัติการที่มีโครงสรางแบบเรียงทับซอนหรือแบบสแต็ก (Stack) โดยใช Linux Kernel เปนพื้นฐานของระบบ และใชภาษา Java ในการพัฒนา มี Android SDK เปน เครื่องมือสำหรับการพัฒนาแอพพลิเคชั่น ระบบปฏบิ ัตกิ าร Android เริ่มพัฒนาเมื่อป พ.ศ. 2550 โดยบริษัท Android รวมกบั Google จากนน้ั ไดม กี ารรวมมือกนั กวา 30 บริษัทชั้นนำ เพ่อื พฒั นาระบบนี้ขึ้นโดยเอาชื่อขนมมาเปนช่อื เวอรช่นั ของ Android ปจจบุ นั เวอรชั่นลาสุด ของแอนดรอยด คือ Android 9 Pie ดังรูปที่ 1.3 รูปท่ี 1.3 เวอรช นั่ ของแอนดรอยด แหลงที่มา: https://mobiles.in/2018/09/28/android-completes-a-decade/ ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภูริวฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

6 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202)  Translation Program Translation Program คือ โปรแกรมระบบที่ทำหนาที่ในการแปลโปรแกรม หรือชดุ คำสั่งท่ี เขียนดวยภาษาที่ไมใชภาษาเคร่ืองหรือภาษาเครื่องที่ไมเขาใจใหเปนภาษาที่เครื่องเขาใจ และนำไป ปฏิบัติได เชน ภาษา BASIC, COBOL, C, PASCAL, FORTRAN, ASSEMBLY เปน ตน สำหรับตัวแปล นน้ั จะมอี ยู 3 แบบคือ o แอสแซมบลี (Assembler) เปน โปรแกรมทีใ่ ชแปลภาษาแอสแซมบลี ซง่ึ มลี กั ษณะการแปรที ละคำสัง่ เมอื่ ทำตามคำสั่งน้ันเสร็จแลว ก็จะแปลคำสั่งถดั ไปเรือ่ ย ๆ จนจบ o อินเตอรพรีเตอร (Interpreter) เปนตัวแปลภาษาระดับสูง โดยจะแปลพรอมกับทำงานตาม คำสั่งทีละคำสงั่ ตลอดไปทงั้ โปรแกรม ทำใหก ารแกไขโปรแกรมทำไดงา ยและรวดเรว็ การแปล โดยใชอนิ เตอรพ รเี ตอรจะไมส รา งโปรแกรมเรยี กใชงาน ดงั น้นั จะตอ งทำการแปลใหมทุกครง้ั ท่ี มีการเรียกใชงาน ตวั อยางตวั แปลภาษาท่ีใชต ัวแปลอนิ เตอรพ รเี ตอร เชน ภาษาเบสิก (BASIC) o คอมไพเลอร (Compiler) เปนตัวแปลภาษาระดับสูง เชน ภาษาปาสคาล ภาษาโคบอลและ ภาษาฟอรเเทรน การทำงานจะใชหลักการแปลโปรแกรมตนฉบับทั้งโปรแกรมใหเปน โปรแกรมเรียกใชงาน (executable program) ซึ่งจะถกู บันทึกไวในลักษณะของแฟม ขอมลู หรือไฟล เมื่อตอ งการเรียกใชง านโปรแกรมก็สามารถเรียกใชจากไฟลเรียกใชงานโดยไมตอ ง ทำการแปลหรือคอมไพลอีก ทำใหการทำงานเปนไปอยางรวดเรว็ ขณะที่คอมไพลโปรแกรม ตนฉบับที่เขียนขึ้นดวยภาษาระดับสูง คอมไพลเลอรจะตรวจสอบโครงสรางไวยากรณของ คำส่งั และขอ มลู ที่ใชในการคำนวณและเปรยี บเทยี บตอ จากนน้ั คอมไพลเ ลอรจะสรางรายการ ขอ ผดิ พลาดของโปรแกรม (Program Listing) เพอื่ ใชเ กบ็ โปรแกรมตนฉบับและคำส่ังท่ีเขียน ไมถูกตอ งตามกฎหรอื โครงสรา งของภาษานน้ั ๆ ไฟลน ั้นมปี ระโยชนในการชวยโปรแกรมเมอร ในการแกไขโปรแกรม (Debug)  Utility Program Utility Program คือ โปรแกรมระบบที่ทำหนาทใี่ นการอำนวยความสะดวกใหกับผูใชเครื่อง คอมพิวเตอร ใหสามารถทำงานไดสะดวก รวดเร็วและงายขึ้น เชน โปรแกรมที่ใชในการเรียงลำดบั ขอ มูล โปรแกรมโอนยา ยขอ มลู จากชนิดหนง่ึ ไปยงั อกี ชนิดหนึ่ง โปรแกรมรวบรวมขอ มลู 2 ชุดดวยกัน โปรแกรมคัดลอกขอมูล เปนตน สำหรับโปรแกรมท่ีทำงานในดา นน้ี ไดแก WinZip, Norton Utility, Winrar เปน ตน ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 7  Diagnostic Program Diagnostic Program คือ โปรแกรมระบบที่ทำหนาที่ตรวจสอบขอผิดพลาด ในการทำงาน ของอุปกรณตาง ๆ ของเครือ่ งคอมพิวเตอร ไดแก โปรแกรม QAPLUS โปรแกรม NORTON เปนตน และเมื่อพบขอผิดพลาดก็จะแจงขึ้นมาบนจอภาพใหทราบ เชน ถามีการตรวจสอบแลวปรากฏวา Keyboard บางปุมเสียไปก็จะแจงบอกขึ้นมาเปนรหัสใหผูใชทราบ หรือในกรณีที่ Card จอปกติไม สามารถแสดงภาพได ก็จะบอกในลักษณะของเสียงแทน เชนเดียวกับ RAM ถาเสียก็จะมีเสียงบอก ข้ึนมา 1.1.2 ซอฟตแวรประยกุ ต (Application Software) ซอฟตแวรประยุกต หมายถงึ โปรแกรมที่ผูใชคอมพิวเตอรเ ปนผูเ ขยี นขึน้ มาใชเ องเพือ่ สัง่ ให เครอื่ งคอมพวิ เตอรทำงานอยางใดอยา งหนง่ึ ตามทต่ี อ งการ ซงึ่ แบง ไดดงั น้ี  User Program User Program คือ โปรแกรมที่ผูใชเขียนขึ้นมาใชเองโดยใชภาษาระดับตาง ๆ ทาง คอมพิวเตอร เชน BASIC, COBOL, PASCAL, C, ASSEMBLY, FORTRAN, Visual Basic, Delphi, Java ฯลฯ ซึ่งจะใชภาษาใดขึ้นอยูกับความเหมาะสมของงานเหลานั้น เชน โปรแกรมระบบบัญชี โปรแกรมควบคุมสตอ็ กสนิ คา โปรแกรมแฟมทะเบยี นประวัติ โปรแกรมคำนวณภาษี โปรแกรมคิดเงิน เดือน เปนตน  Package Program คือ โปรแกรมสำเร็จรูป ซึ่งเปนโปรแกรมที่ถูกสรางหรือเขียนขึ้นมาโดยบริษัทตาง ๆ เสรจ็ เรยี บรอ ยแลว พรอ มทจี่ ะนำมาใชงานตาง ๆ ไดทนั ที ตวั อยา งเชน o Microsoft Office เปนโปรแกรมชุดออฟฟศของบริษัท Microsoft ที่รวมเอา โปรแกรมทีใ่ ชในสำนกั งานทว่ั ไปมาไวด วยกัน ซึง่ ประกอบไปดว ย Microsoft Word, Microsoft Excel, Microsoft Access, และ Microsoft Power Point ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

8 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) รปู ท่ี 1.4 Microsoft Office แหลง ทมี่ า: http://www.sharpcomputerclasses.com/Microsoft-Office-Tutorial_p_25.html o Graphic โปรแกรมท่ใี ชใ นการทำงานทางดานสรา งรูปภาพและกราฟก ตาง ๆ รวมทัง้ งานทางดานสิ่งพิมพ การทำโบรชัวร แผนพับ นามบัตร เชน Photoshop, Lightroom และ Illustrator เปน ตน รูปที่ 1.5 Graphic Software แหลง ท่มี า: http://www.myfreephotoshop.com/tag/software-icon o Web Browser โปรแกรมทีใ่ ชงานบน Internet เทานั้น โดยจะตอ งเรียกใชผานทาง Browser ซึง่ อาจจะเปน Internet Explorer โดยการตดิ ตงั้ ผานทางระบบปฏิบัตกิ าร วนิ โดวส หรือ ดาวนโ หลดขึ้นมาติดตัง้ ก็ได สำหรับโปรแกรมที่นยิ มใชใ นปจจุบัน เชน Google Chrome, Opera, Safari และ Firefox ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) 9 รูปที่ 1.6 Browser Software แหลงท่ีมา: http://kodepas.blogspot.com/2016/04/ 1.2 ภาษาที่ใชใ นการพฒั นาโปรแกรม เคร่ืองคอมพิวเตอรเปนอปุ กรณอ ิเล็กทรอนกิ สป ระเภทหนง่ึ การใชเ ครื่องคอมพิวเตอรทำงาน ไดน ้นั จะตอ งปอนคำสั่งใหก บั มันและตองเปนคำสง่ั ท่ีเคร่ืองคอมพิวเตอรเ ขาใจ การนำคำสัง่ มาเรียงตอ กนั ใหท ำงานอยางใดอยางหน่ึง เรียกวา โปรแกรม เม่ือโปรแกรมถกู ปอนเขาไปในเครื่องคอมพิวเตอร แลวเครื่องคอมพิวเตอรจะทำงานทีละคำสั่ง ภาษาที่คอมพิวเตอรเ ขาใจ เรียกวา ภาษาเครื่อง ซึ่งเปน รหัสเลขฐานสองเมื่อมีการปอ นภาษานเ้ี ขา ไปในเคร่อื งคอมพิวเตอร รหสั เลขฐานสองจะถูกเปลยี่ นเปน สัญญาณทางไฟฟาท่คี อมพิวเตอรเ ขา ใจ ภาษาคอมพิวเตอร (Computer Languages) หมายถึง ภาษาที่ใชสำหรับเขียนชุดคำส่ัง เพื่อใหคอมพิวเตอรทำงานตามที่กำหนด ซึ่งในปจจุบันมีภาษาคอมพิวเตอรที่ใชสำหรับการพัฒนา โปรแกรม อยูมากมายหลายภาษา เชน C, C++, C#, Basic, Java และ Phyton เปนตน โดยในแต ละภาษาจะมีหลักการเขียนและกฎเกณฑที่แตกตางกันไป แตทุก ๆ ภาษาจะมีลักษณะท่ีเหมือนกัน ดงั ตอ ไปน้ี  ภาษาคอมพิวเตอรท ุกภาษาตองมีคำสั่งในการรับขอ มูลจากภายนอกเขาสูคอมพิวเตอรแ ละ จะตอ งมีคำส่งั สำหรับใชใ นการแสดงผลขอ มูลท่ีผา นการประมวลผลแลว  ภาษาคอมพิวเตอรทุกภาษาจะตองมีคำสัง่ ที่ใชสำหรับการคำนวณทางคณติ ศาสตร คือ บวก ลบ คณู หาร  ภาษาคอมพวิ เตอรจ ะตอ งมีคำส่ังท่ีใชส ำหรับเปรียบเทียบเพอ่ื ใชสำหรับตัดสินใจในการเลือก ทิศทางการทำงานของโปรแกรม ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

10 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202)  สำหรับการสงขอ มูลไปเกบ็ บนั ทกึ ในสื่อบนั ทกึ อยางใดอยางหนง่ึ และมีคำสัง่ ทเ่ี รยี กขอมลู ที่เกบ็ อยูนั้นมาใชได ภาษาคอมพิวเตอรจะมีลักษณะเชนเดียวกับภาษาทุกภาษาบนโลกซึ่งจะ ประกอบไปดวย ตัวเลข ตัวอักษร คำศพั ท (Vocabularies) และ ไวยากรณ (Syntax) ภาษาคอมพิวเตอรที่ใชกันอยูนั้นก็มีการพัฒนาปรับปรุงเวอรช่ันกันตอเนื่อง และแนวโนม ความนิยมในภาษาหนึ่งกเ็ ปล่ียนแปลงไปตามเวลา ยกเวนภาษาคอมพิวเตอรในกลุมยอดนิยมซึ่งเปน ภาษาทน่ี ำมาใชส รางแอพพลเิ คชนั่ บนอุปกรณพกพา แอพพลเิ คชน่ั บนเดสกท อ็ ป หรอื ภาษาทใ่ี ชพ ัฒนา เวบ็ ไซต TechNotification.com ไดเรยี บเรยี งอนั ดบั ภาษาทค่ี วรฝก ทักษะมากท่สี ดุ สำหรบั วงการไอที ป 2019 ทจ่ี ะมาถึงไวดงั ตอไปนี้  Python เปนภาษายอดนิยมอนั ดบั แรกท่ีแนะนำใหฝ ก จนเชย่ี วชาญ เพราะนอกจากจะงา ยตอ การเรียนรูและใชงานดวยคำสั่งที่ดูเปนภาษาคนมากที่สุดแลว ยังนำมาประยุกตใชงานได คอนขางหลากหลาย เชน DevOps, Big data, Data Science, Data analysis และ Machine learning ปจจบุ ันเปน Python 3  C# แมจะดูเปนภาษาเกาที่นาจะตกยุคในไมชาแตจริง ๆ แลวกลับมีการพัฒนาตัวเองให ทำงานเขา กบั เทคโนโลยใี หมๆ ตลอดเวลา และยังเปน ภาษาครอบคลมุ ทใี่ ชพ ัฒนาไดทุกอยาง ทั้งเว็บไซต, แอพบนอุปกรณพกพา, หรือแมแตซอฟตแวรบนพีซี และทำงานไดบนทุก แพลตฟอรม อีกทั้งโครงสรางภาษายังเปนพื้นฐานของภาษาอื่น ๆ สวนใหญทีน่ ิยมใชในการ พฒั นาโปรแกรม  Java เปนภาษาท่อี อกแนวเทคนิคท่ีสามารถสรา งแอพพลิเคชั่นทซ่ี บั ซอ น ครอบคลมุ เกอื บทุก ความตองการในปจจบุ ัน ดว ยฟเ จอรทีม่ ปี ระโยชนม ากมาย รองรับไดทกุ ระบบปฏิบตั ิการไมวา จะเปน iOS, Mac, Windows, Linux และ Android โดย Java 11 ที่เพิ่งปลอยออกมาในป 2019 นน้ั จะเปนเวอรช นั่ ทป่ี รบั ปรงุ และเปล่ียนแปลงมากมายทำใหเ หมาะกบั การพัฒนาระบบ ตามแนวคิด Microservice ไดดีข้นึ กวา เดมิ มาก  JavaScript เปนภาษาพื้นฐานที่แทบทุกคนควรใชงานพื้นฐานได เนื่องจากการพัฒนา โปรแกรมหรือเวบ็ ตา ง ๆ น้ันจะมี JavaScript เขา มาเกย่ี วขอ งเสมอ โดยเฉพาะการสรางเว็บ ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู ิวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 11 ใหตอบสนองอยางรวดเร็วนาใชงาน รวมทั้งมีบทบาทสำคัญในฝงเซิรฟเวอรดวยเฟรมเวิรก ตา ง ๆ มากมายทีใ่ ชใ นการพฒั นาเว็บแบบมอื อาชพี  PHP แมจ ะดเู ปนภาษาเกา เชน เดียวกบั C# แตในสายตาของผเู ช่ยี วชาญในวงการการพัฒนา โปรแกรมแลวกย็ ังแนะนำใหเรยี นรูภาษายอดนิยมสำหรับสรา งเว็บตัวนี้ไว เพราะขนาดเว็บ แพลตฟอรม ใหญระดับโลกอยาง Facebook, Twitter และอีกมากมายกย็ งั ใช PHP สรางเว็บ ขึ้นมาทั้งหมด แถมยังเปนหน่ึงในภาษาที่จดั วางา ยตอการเรียนรูมากที่สุดอีกดวย จากคำสงั่ ตา ง ๆ ทด่ี ูเปน ภาษามนุษยอ านไดงา ยมากท่สี ุด  Swift เปนภาษาสำหรบั นักพัฒนาท่ีตองการพัฒนาแอพพลเิ คชัน่ บนไอโฟนในยุคนี้ ออกแบบ และสรางสรรคโดย Apple เพื่อใชสรางแอพพลิเคชั่นสำหรับ IOS, Mac, Apple TV และ Apple Watch ซึง่ Apple ออกแบบมาเพ่อื ใหนกั พัฒนามอี สิ ระยิ่งกวาท่ีเคย นอกจากนี้ Swift ยงั ใชง านงายและเปน โอเพนซอรส (Opensource)  Kotlin เปนภาษาสำหรับสรางแอพบนแอนดรอยด ถือเปนทางเลือกใหมแทนภาษาจาวา เนื่องจากใชเขยี นแอพไดงายและสะดวกกวา ซึ่งพัฒนาขึ้นมาโดย JetBrains บริษัทที่พฒั นา IDE ท่ีเรารจู กั กนั ดีคอื Intellij IDEA และ Android Studio เวอรช นั่ ในปจจุบนั นนั้ เอง 1.3 ขั้นตอนการเขยี นโปรแกรมหรือการพฒั นาโปรแกรม การเขยี นโปรแกรมคอมพิวเตอรใหทำงานตามท่ีเราตอ งการนั้น ผูเขียนโปรแกรมจะตองรูวา จะใหโปรแกรมทำอะไร มีขอมูลอะไรที่ตองใชกับโปรแกรมบาง และตองการเอาตพุตอยางไรจาก โปรแกรม รวมทั้งรูปแบบการแสดงผล ผูที่ทำการเขียนโปรแกรมจะตองทราบถึงขั้นตอนวิธีการ แกปญหาของโปรแกรม โดยเขียนขั้นตอนการพฒั นาเปนลำดับ จากนั้นจึงพัฒนาเปนโปรแกรมตาม ขั้นตอนที่ไดออกแบบไว โดยทั่วไปแลวขั้นตอนการพัฒนาโปรแกรมแบงไดเปน 6 ขั้นตอน คือ การ กำหนดและวิเคราะหปญหา การออกแบบโปรแกรม เขยี นโปรแกรม ทดสอบและแกไขโปรแกรม การ จัดทำเอกสาร และการบำรงุ รกั ษาโปรแกรม ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

12 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 1.3.1 การกำหนดและวิเคราะหป ญหา (Problem Analysis) ข้ันตอนน้เี ปน ขน้ั ตอนแรกสดุ ทน่ี กั เขยี นโปรแกรมจะตอ งทำ การใหค อมพิวเตอรแกปญ หาตาง ๆ ใหเราน้ัน เราจะตองมแี นวทางทแ่ี กไ ขปญ หาทเี่ หมาะสมใหก บั คอมพวิ เตอร เพือ่ ใหก ารทำงานเปนไป อยางมปี ระสทิ ธิภาพ การกำหนดและวิเคราะหป ญ หามีขนั้ ตอนยอย ๆ ดังตอ ไปน้ี  การกำหนดขอบเขตของปญ หา เพือ่ ใหทราบขั้นตอนการทำงานตา ง ๆ ดังน้ี o กำหนดจุดประสงคการทำงาน เพ่อื ใหทราบวา เขยี นโปรแกรมเพื่อตอ งการแกปญหา อะไร เชน ปญหาเกี่ยวกบั การคำนวณพ้ืนท่ีของสามเหล่ียม เปน ตน o กำหนดเปาหมายใหชดั เจน เพ่ือใหไดผลลพั ธท ่ตี อ งการ เชน โปรแกรมคำนวณพื้นท่ี ของสามเหลี่ยม ตอ งการคำนวณพนื้ ท่ี o รูปสามเหลี่ยมไดห ลายขนาดและแสดงผลเปน ตัวเลข o ศึกษาวิธีการแกปญหา กำหนดขอจำกัดและศึกษาความเปนไปไดเพื่อใชในการ แกปญหาตามวตั ถุประสงค เชน โปรแกรมคำนวณพ้ืนที่ของสามเหลี่ยม จะคำนวณ พื้นทไี่ ดเฉพาะรปู สามเหลย่ี มเทานน้ั  กำหนดขอ มลู นำเขา ซึง่ ประกอบหัวขอพจิ ารณาดังนี้ o กำหนดลักษณะการรบั ขอมลู เชน รบั ขอมูลจากแปนพมิ พ o รปู แบบขอมูลท่รี บั เขา มาเปนอยา งไร เชน ขอ มลู ชื่อนิสิตเก็บเปน ตวั อกั ษร  วธิ ีการประมวลผล เปนข้ันตอนทส่ี ำคัญในการแกป ญหา ประกอบดวยขอ กำหนดดงั นี้ o กำหนดวธิ กี ารหรือเทคนคิ ท่ีใชแ กปญหา ปญหาตาง ๆ จะมีวิธีการปญ หาแตกตางกัน ไปขนึ้ อยูกบั สภาพของปญ หาและผูแกปญ หา และปญหาหนง่ึ ๆ สามารถแกปญหา ไดดวยหลาย ๆ วธิ ีการ ดังน้นั ใหเลอื กวธิ กี ารแกปญหาท่เี หมาะสมกับปญ หานน้ั ๆ o กำหนดขัน้ ตอนทำงานใหชดั เจน เพอ่ื แกปญหาตามลำดบั การทำงานของวธิ ีการ  กำหนดผลลพั ธ o กำหนดรูปแบบการแสดงผล เชน แสดงผลลพั ธเ ปน ภาพกราฟฟก ทางจอภาพ o ตรวจสอบขอผิดพลาดและความถกู ตอ งของผลลพั ธ เชน ตรวจสอบขอผดิ พลาดจาก การคำนวณ ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 13  กำหนดโครงสรางขอ มลู ทีใ่ ช ประกอบดว ย o ภาษาที่ใชการเขียนโปรแกรม ซึ่งขึ้นอยูกับความถนัด ประเภทของงานและ คณุ สมบัติเฉพาะของเครอ่ื งคอมพิวเตอร o วธิ กี ารเก็บขอมูลและเรยี กใชต วั แปร 1.3.2 การออกแบบโปรแกรม (Program Design) เปนขั้นตอนที่นำเอาวธิ ีการจากการวิเคราะหงานมาเขียนเปนภาพหรอื สัญลักษณ เพราะถา เปน งานใหญ ๆ ที่มขี ้ันตอนมาก การเขยี นโปรแกรมจากการวิเคราะหง านโดยตรงจะทำตามไดลำบาก และการใชข อความหรอื คำอธิบายไมชดั เจนอาจทำใหงานผดิ พลาดได ดังนนั้ จึงนยิ มเปลี่ยนจากคำพูด หรือขอความในการวิเคราะหงานมาเปนรูปภาพ หรือสัญลักษณเสียกอน โดยใชคำอธิบายขอความ นน้ั ๆ เขียนเพิม่ เตมิ ในรปู ภาพหรือสัญลกั ษณด ังกลา วเรยี กวา “ผังงาน” (Flowchart) 1.3.4 การเขียนโปรแกรม (Coding) เปน การเปล่ียนขน้ั ตอนของวธิ ีการในผังงานใหอยูในรปู ภาษาคอมพิวเตอรภาษาใดภาษาหนึ่ง การเลอื กเขียนโปรแกรม โดยใชภ าษาคอมพิวเตอรภาษาใดนั้นขึ้นอยกู ับลกั ษณะและประเภทของงาน เชน ถาตองการพัฒนาเว็บไซตก็เลือกใชภาษา HTML และ JavaScript เปนตน นอกจากนี้ ยังตอง คำนึงถึงขีดจำกัดของเครอื่ งหรอื ขอ จำกัดของภาษานน้ั ทม่ี อี ยู และยังตอ งพิจารณาความถนัดและความ ชำนาญของผูเขยี นโปรแกรมดวยวาสามารถเขยี นโปรแกรมดวยภาษาทเ่ี ลอื กน้นั ไดห รือไม 1.3.5 ทดสอบและแกไ ขโปรแกรม (Testing and Verification) การทดสอบและแกไขโปรแกรม หมายถงึ การตรวจสอบความถูกตอ งของคำสง่ั หรือโปรแกรม ที่เขียนขึ้น และแกไขขอผิดพลาด (Bugs) ของโปรแกรมที่ไมสามารถใหผลลัพธตามตองการแกไข ขอ ผิดพลาดเรียกวา Debug โดยทวั่ ไปขอผิดพลาดทีเ่ กดิ จากการเขียนโปรแกรมมี 2 ชนดิ คือ  ขอผิดพลาดท่เี กิดจากการเขยี นรหัสคำสงั่ ไมถ กู ตองตามหลักไวยากรณของภาษาคอมพิวเตอร ทใ่ี ช ซ่งึ เรียกวา Syntax Error หรือ Coding Error เชน ตามกฎเกณฑข องภาษา Java การใช ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

14 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพวิ เตอร (11-413-202) คำสั่งในการพิมพขอความคือ “System.out.println()” ที่ S ตัวแรกเปนตัวพิมพใหญ แต ผูเขียนโปรแกรมอาจจะสะกดผิดเปน s ตัวพิมพเล็ก เปนตน ในรอบแปล (COMPILATION RUN) จะสามารถตรวจสอบ และใหขา วสารความผดิ พลาด (Error Message) ออกมาได  ขอผิดพลาดทางตรรกะ หรือเรียกกันวา Logic Errors หรือ Runtime Error เปน ขอผดิ พลาด ที่ทำใหผ ลลัพธไมถกู ตองตามวัตถปุ ระสงคของงาน เชน ผเู ขียนโปรแกรมตองการใหนำคา A ไปบวกกบั คา B แตเขียนเคร่ืองหมายเปนลบก็จะทำใหคาที่คำนวณไดไ มถกู ตอง ซึ่งสามารถ ตรวจสอบขอผิดพลาดน้ีไดโ ดยใชขอ มลู ทดสอบ (Test Data) หรอื ขอ มลู ทีท่ ราบคำตอบในขั้น ปฏิบตั กิ าร (Execution Run) ถา โปรแกรมถูกตอ ง ผลลพั ธท ่ีไดจ ะตอ งตรงกับคำตอบที่ทราบ ซึ่งในปจจบุ ันจะมีวิธีการที่เรยี กวา Unit Test เพื่อใชในการทดสอบขอผดิ พลาดสวนยอย ๆ ในโปรแกรม 1.3.6 การจัดทำเอกสาร (Program Documentation) การจัดทำเอกสารมคี วามสำคัญกับงานเขียนโปรแกรมอยา งมาก และอาจจะเร่ิมทำไปพรอม กบั การเขียนโปรแกรม โดยทว่ั ไปเอกสารทจ่ี ัดทำมอี ยูสองประเภทคือ คูม ือผใู ช (User’s Manual) และ คูมือโปรแกรมเมอร (Programmers Manual) ในเอกสารคูมือผใู ชจ ะอธิบายวธิ กี ารใชโปรแกรม สวน คูมือโปรแกรมเมอรจะมีรายละเอียดตาง ๆ เกี่ยวกับ ชื่อโปรแกรม ชื่อผูเขียนโปรแกรม วันที่เขียน โปรแกรม จุดประสงคของโปรแกรม สื่อท่ีใชบ นั ทกึ ขอมูลเขา ผลลพั ธท่ีได วิธกี ารหรอื ข้ันตอนตา ง ๆ ใน โปรแกรม รวมทั้งผังงาน ฯลฯ โดยที่เอกสารชนิดแรกจะเปน คูม อื การใชงานจะเปนประโยชนแกผูใช โปรแกรม และชนิดที่สองเปนคูมือสำหรบั โปรแกรมเมอรทีจ่ ะใชประโยชนสำหรับการปรบั ปรุงแกไข โปรแกรมในอนาคต 1.3.7 บำรุงรกั ษาโปรแกรม (Program Maintenance) การบำรงุ รักษาโปรแกรม คือ การปรับปรงุ แกไขโปรแกรมใหท ันสมัยสมกับภาวการณท ่ีเปน อยู เชน ถาเปนโปรแกรมคำนวณเงินรวมของเงินฝากธนาคาร เมื่อมีการเปลี่ยนแปลงอัตราดอกเบี้ยก็ จะตองแกไขปรับปรงุ อัตราดอกเบ้ียใหม นอกจากนี้ การบำรุงรักษาโปรแกรมยังรวมไปถึง การรักษา สื่อขอมูลที่โปรแกรมบนั ทึกอยใู หอยูในสภาพทีพ่ รอ มใชง านได ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู วิ ัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 15 1.4 ลกั ษณะของโปรแกรมทด่ี ี โปรแกรมท่ีดคี วรมคี ุณลักษณะพนื้ ฐาน ดังน้ี  มคี วามเทย่ี ง (Reliability) ขอ มูลชดุ เดยี วกันทำก่คี ร้งั ตองไดผลลพั ธเ ทา เดิม  มคี วามตรง (Validity) ผลลพั ธทีไ่ ดตรงตามหลกั มาตรฐานและขอกำหนดของโปรแกรม โดยมี ขอ ผดิ พลาดอยูใ นขอบเขตทยี่ อมรับได  ทนทาน (Rebuts) ถา มีขอ ผดิ พลาดเลก็ นอ ยเกิดขนึ้ โปรแกรมยงั สามารถทำงานตอ ไปได โดย มรี ายงานแจงขอ ผิดพลาดใหทราบ  ใชไดหลายระบบ (Portable) โปรแกรมใชภาษาท่ีไดร ับการยอมรับเปนมาตรฐานเชน ANSI ซง่ึ ไมผ กู พันกับระบบเครือ่ งแมเครอื่ งจะเปล่ยี นแปลงโปรแกรมอาจแกไขเพียงเล็กนอยเทา น้ัน  ใชง าย (User Friendly) เรียนรงู าย มรี ะบบใหความชว ยเหลือ Help  มีประสทิ ธิภาพ (Efficiency) สไตลการเขียนโปรแกรมใหท ำงานควรใชเวลาและหนว ยความ จะไมมากนกั  ปรับปรงุ งาย (Easy Change) ดึงขอ มูลนำเขาหรือผลลัพธป รบั เปลยี่ นไดงา ย  มีปฏกิ ริ ิยายอ นกลบั (Feedback) เม่อื กดแปน พมิ พควรมขี อความปรากฏในตำแหนงท่ีชัดเจน มิฉะนั้นผใู ชจะกดแปน พิมพซ ้ำ ๆ  มีรูปแบบที่แนน อน (Consistency) เชน ขอผิดพลาดหรือขอความเตือนควรอยูบรรทัดลาง เสมอ  ใชค วามจำของมนุษยน อยท่ีสุด เชน ทำงานดว ยเมนตู วั เลอื ก เปน ตน ตามคำกลา วทว่ี า Keep It Simple System (KISS) นั้นคือ เรียบงาย ใชสะดวก สั้นกะทัดรัด เที่ยงตรงตาม วัตถปุ ระสงคแ ละเปน คุณภาพทีด่ ีท่สี ุด ดังนั้นเมื่อตองเขียนโปรแกรมหรือพัฒนาโปรแกรมคอมพิวเตอรควรจะวเิ คราะหรายละเอยี ดของ งาน เขียนผังงาน โดยแสดงเปนรูปภาพตามลำดับ และเขียนโปรแกรมดว ยภาษาคอมพิวเตอรท่ีเลือก เมื่อทดสอบโปรแกรมแลว จึงนำไปไปใชงาน จัดทำเอกสารสำหรับผูใชงานโปรแกรม และสำหรับ ผพู ัฒนาโปรแกรมสำหรับการปรบั ปรุงแกไ ขในอนาคต ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู วิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

16 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) แบบฝกหัดบทท่ี 1 1. อธบิ ายความหมายของซอฟตแวรและความแตกตา งของประเภทซอฟตแวร 2. ใหน ักศึกษาเลอื กภาษาคอมพิวเตอร 1 ภาษา จากนั้นใหศ ึกษาประวัตคิ วามเปน มาของภาษา นัน้ พรอมยกตัวอยางคำส่ังพืน้ ฐาน 3. ใหน กั ศกึ ษาเลอื กซอฟตแวรป ระยุกต 1 โปรแกรม จากนน้ั ใหนักศึกษารีวิวโปรแกรมนั้น เชน ฟง กช นั่ การทำงาน จุดเดน จุดดอ ยหรือขอจำกัด ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 17 วิธกี ารสอนและกิจกรรม 1. สอนแบบบรรยายโดยใชส อ่ื ประกอบการสอน 2. ใหนักศกึ ษามีสว นรวมในกจิ กรรมระหวางการเรยี นการสอนโดยใชว ธิ กี ารถาม-ตอบ 3. ศกึ ษาคนควาตัวอยางซอฟตแ วรค อมพิวเตอรแ ละอภปิ รายผล เอกสารประกอบ เอกสารประกอบการสอน บทที่ 1 หลักสำคัญเกย่ี วกบั การ เขยี นโปรแกรม สอ่ื การสอน สอื่ ประกอบการสอน ไฟลนำเสนอ power point บทที่ 1 หลักสำคญั เกีย่ วกบั การเขียนโปรแกรม โสตทศั นวสั ดุ เคร่อื งฉายโปรเจคเตอร งานท่ีมอบหมาย 1. แบบฝก หดั ความรเู บอื้ งตน เก่ยี วกับหลกั สำคัญการเขียนโปรแกรม 2. ศกึ ษาการพฒั นาแอพพลเิ คช่นั ดวยภาษาตาง ๆ การวดั ผล 1. สังเกตพฤตกิ รรมการเรยี นในหอ งเรียน 2. สงั เกตพฤติกรรมการมสี ว นรว มในกจิ กรรมระหวา งการเรยี นการสอนในการถาม-ตอบ 3. ตรวจงานทมี่ อบหมาย 4. ทดสอบตามจดุ ประสงคก ารสอน บันทึกการสอนและขอสังเกต …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภูรวิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

18 เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ รู วิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 19 สัปดาหท่ี 2 ใบเตรียมการสอน เวลา 4 ชัว่ โมง บทที่ 2 การเขยี นผังงานสำหรับการเขียนโปรแกรมคอมพิวเตอร 2.1 ความหมายของการเขียนผงั งาน 2.2 ประเภทผงั งาน 2.3 สัญลกั ษณของผงั งาน 2.4 หลกั เกณฑในการเขยี นผงั งาน 2.5 ลกั ษณะการเขยี นผงั งาน 2.6 ตวั อยา งการเขียนผังงาน จุดประสงคการสอน 2.1 มีความรูความเขา ใจเกยี่ วกบั หลกั การเขยี นผังงาน 2.2 มคี วามรคู วามเขาใจเกี่ยวกับประเภทและความแตกตา งของผงั งาน 2.3 เขา ใจสัญลักษณของผงั งานและนำไปใชงานไดอยางถกู ตอง 2.4 สามารถเขียนผงั งานตามโจทยทไี่ ดร ับหมอบหมาย ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภ ูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

20 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) บทที่ 2 การเขยี นผงั งานสำหรับการเขียนโปรแกรมคอมพิวเตอร กอนที่จะเริ่มเขียนโปรแกรมคอมพิวเตอร จำเปนจะตองมีการออกแบบโปรแกรมเพื่อให ผูเขียนโปรแกรมหรือนักพัฒนาโปรแกรมมองภาพรวมทั้งหมดของโปรแกรม เชน โปรแกรมมีการ ทำงานอยางไร รับหรือแสดงขอมูลอยางไร เปนตน หนึ่งในเครื่องมือที่ชวยในการออกแบบที่ไดรบั ความนยิ ม คอื ผงั งาน (Flowchart) เนอื่ งจากใชสัญลกั ษณในการอธบิ าย ผูที่ไมมคี วามรูเกี่ยวกับการ เขียนโปรแกรมก็สามารถเขา ใจไดง า ย 2.1 ความหมายของการเขยี นผังงาน ผังงาน (Flowchart) เปนแผนภาพที่ใชออกแบบและอธิบายการทำงานของโปรแกรมโดย อาศัยรูปภาพ (Image) หรอื สญั ลักษณตา ง (Symbol) ท่ีหมายถงึ การทำงานหนึง่ ข้ันตอน สวนลูกศร จะแทนลำดับการทำงานข้ันตอนตาง ๆ รวมทั้งทิศทางการไหลของขอ มูลตั้งแตเริม่ จนไดผลลัพธตาม ตองการ ระบบงานทุกชนิดที่ผานการวิเคราะหเปน ลำดับขัน้ ตอนแลวจะสามารถเขียนเปนผังงานได นอกจากนี้การเขยี นแสดงอัลกอริทึม (Algorithm) โดยใชผังงานเปนเคร่ืองมือในการอธิบายสามารถ ออกแบบและเขาใจไดงายเพราะเปนมาตรฐานสากล และเมื่อนำผังงานไปเขียนโปรแกรมก็จะทำได สะดวกรวดเร็ว 2.2 ประเภทผงั งาน ผังงานทางคอมพวิ เตอรม ี 2 ประเภทคอื ผงั งานระบบ (System Flowchart) และผงั งาน โปรแกรม (Program Flowchart) 2.2.1 ผังงานระบบ (System Flowchart) ผังงานระบบ (System Flowchart) หรือผังงานในระดับกวาง ซึ่งจะเปนการแสดงขั้นตอน การทำงานของระบบทั้งหมด ผังงานระบบมักจะมีลักษณะยนยอ รวบรัด และแสดงเฉพาะตัวงานที่ จะตองทำในระบบเทานั้น ไมแสดงรายละเอียดวิธีทำวางานนั้นทำอยางไร ความสำคัญของผังงาน ระบบอยทู ี่การแสดงความสมั พนั ธร ะหวางงานตา ง ๆ ในระบบวามีความสมั พันธกนั อยางไร ต้งั แตเรื่อง ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภรู ิวัฒน เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 21 ของวสั ดอุ ุปกรณ บุคลากร และหนว ยงานท่ีเกี่ยวของ เชน ผังงานแสดงการคำนวณปริมาตรวงกลม 50 ดังแสดงในรปู ที่ 2.1 รปู ที่ 2.1 ตัวอยา งผังงานระบบ 2.2.2 ผังงานโปรแกรม (Program Flowchart) ผังงานโปรแกรม (Program Flowchart) หรือผังงานระดบั ละเอยี ด เปนภาพแผนผงั ท่แี สดง ลำดบั ขั้นตอนในการทำงานของโปรแกรม ซง่ึ จะแยกยอ ยมาจากผงั งานระบบ คอื ในแตล ะขั้นตอนจะ แสดงการทำงานแตล ะคำสง่ั โดยละเอยี ด และจัดลำดับข้ันตอนของโปรแกรม ต้ังแตเริ่มตนจากการรับ ขอ มลู การประมวลผล ไปจนถึงการแสดงผลลพั ธท่ีไดจากการประมวลผล เชน รูปที่ 2.2 ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภ รู วิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

22 เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ท่ี 2.2 ตวั อยางผงั งานโปแกรม 2.3 สญั ลกั ษณของผังงาน การเขยี นผงั งาน เปน การเขยี นแผนภาพเพ่ือแสดงขน้ั ตอนการทำงาน โดยนำภาพสัญลกั ษณตา ง ๆ มาเรียงตอกัน สัญลักษณที่นิยมใชในการเขียนผังงานนั้นมีหนวยงานที่ชื่อวา American National Standards Institute (ANSI) และ International Standard Organization (ISO) ไดร วมกนั กำหนด สัญลักษณมาตรฐานเพ่ือใชใ นการเขยี นผังงาน ดังตารางท่ี 2.1 ตารางที่ 2.1 สญั ลักษณของผังงาน สญั ลกั ษณ ชอ่ื เรยี ก ความหมาย เรม่ิ ตน และส้ินสดุ (Terminal) จุดเร่มิ ตนและสนิ้ สดุ ของผงั งาน สญั ลกั ษณการรับเขาหรอื แสดงผล แสดงการรบั ขอ มลู เขา หรอื แสดง (Input/Output symbol) ผลลัพธ โดยไมร ะบชุ นิดของ อปุ กรณในการรบั เขา หรอื แสดงผล ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภรู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ

เอกสารประกอบการสอน วชิ าการเขียนโปรแกรมคอมพิวเตอร (11-413-202) 23 สัญลักษณ ช่ือเรยี ก ความหมาย สญั ลักษณการนำขอมูลเขาดวยมือ แสดงการรบั ขอมูลเขา โดยมนุษย (Manual input symbol) เชน อาจใชแปนพิมพ (Keyboard) หรือ เมาส (Mouse) สญั ลักษณการทำงานดว ยมือ แสดงการทำงานทีท่ ำโดยมนุษย (Manual Operation Symbol) เชน การขนสง สญั ลกั ษณการประมวลผล แสดงการประมวลผล ไดแก การ (Process Symbol) คำนวณและการกำหนดคา สัญลักษณเ อกสาร (Document แสดงการแสดงผลลพั ธบ นกระดาษ Symbol) โดยใชเครอื่ งพมิ พ สญั ลกั ษณจอภาพ แสดงการแสดงผลลพั ธใ นขณะทีย่ ัง (Display Symbol) มีการประมวลผลอยู ตัวอยา งเชน การแสดงผลทางหนาจอภาพ สญั ลกั ษณการตัดสนิ ใจ (Decision แสดงการตัดสนิ ใจหรือการ Symbol) เปรียบเทยี บ สญั ลักษณการเตรยี ม แสดงการกำหนดตาง ๆ ลวงหนาใน (Preparation Symbol) การทำงานท่ีมีการทำงานซ้ำ สญั ลักษณจดุ ตอภายในหนา แสดงจดุ ตอ เน่ืองของผงั งาน (On-Page Connector Symbol) เดยี วกนั แตไมสะดวกท่จี ะใชเสน โยงหากนั ภายในสัญลักษณน ้ีจะมี หมายเลขกำกบั เพอื่ ไมใ หสบั สนวา จากจดุ ใดไปจุดใดในกรณที ี่มีการใช สัญลกั ษณน้หี ลายครัง้ ในผังงาน เดยี วกนั ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ รู วิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

24 เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) สญั ลกั ษณ ช่ือเรียก ความหมาย สญั ลักษณจุดตอเนื่องที่อยคู นละ แสดงจดุ ตอ เน่ืองของผงั งานเดวี กนั หนา (Off-Page Connector ซ่งึ อยคู นละหนา ภายในสญั ลักษณ Symbol) น้จี ะมหี มายเลขหรืออกั ษรกำกับ เพอื่ ไมใหส บั สนวาจากจดั ใดไปจดุ ใด สัญลักษณการรวม ในกรณที ีใ่ ชสญั ลกั ษณนห้ี ลายครงั้ (Merge Symbol) ในผงั งานเดียวกนั แสดงการนำขอ มลู ต้งั แต 2 ชดุ ขึน้ ไป มารวมเปนชดุ เดียวกัน สัญลักษณการแยก แสดงการแยกขอมลู ตง้ั แต 1 ชุด (Extract Symbol) ออกเปนหลายๆ ชุด สัญลกั ษณการรวมและการแยก แสดงใหเ หน็ ถึงการไดมาของขอมลู (Collate Symbol) ตัง้ แต 2 ชดุ ข้นึ ไป จากขอมูลต้งั แต 2 ชดุ ขน้ึ ไป สญั ลักษณการเรียง แสดงการเรยี งลำดับขอมูลใหเปน ไป (Sort Symbol) ตามลำดบั ทต่ี อ งการ สญั ลกั ษณลกู ศรแสดงลำดบั การ แสดงลำดบั การทำงาน ใชแสดง ทำงาน (Flow Line) ขั้นตอนการทำงาน โดยหัวลกู ศรจะ ชีข้ น้ั ตอนในลำดบั ตอ ๆ ไป สญั ลักษณแสดงการสงขอมลู ผาน แสดงถึงการสง ขอมูลผา นระบบ ระบบโทรคมนาคม โทรคมนาคม เชน โทรศัพท และ (Communication Link Symbol) โทรสาร สัญลกั ษณอธิบาย อธิบายสว นใด ๆ ของผังงานท่ี (Annotation Symbol) เพม่ิ เติมเพื่อใหเ กิดความเขา ใจมาก ข้นึ ____________________________________________________________________________________ เรียบเรียงโดย: อาจารยภูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 25 สญั ลักษณ ช่อื เรียก ความหมาย สญั ลกั ษณการเก็บขอ มูล แสดงถึงการเกบ็ ขอมูลโดยไมร ะบุ (Stored Data Symbol) ชนิดของอปุ กรณ สญั ลักษณบ ตั รเจาะรู (Punched แสดงการรับขอมลู เขา หรือ card symbol) แสดงผลโดยใชเ ทปกระดาษเจาะรู เปน สือ่ สัญลักษณเทปแมเ หลก็ (Magnetic แสดงการรับขอ มลู เขา หรอื tape symbol) แสดงผลโดยใชเทปแมเ หล็กหเปน สอื่ สัญลักษณจานแมเหล็ก (Magnetic แสดงการรับขอมูลเขา หรอื disk symbol) แสดงผลโดยใชจานแมเ หล็กเปน สื่อ 2.4 หลักเกณฑในการเขยี นผังงาน เพ่ือใหเ ปนมาตรฐานเดียวกนั การเขยี นผงั งานควรมลี กั ษณะดงั นี้  จะตองเขียนโดยใชสัญลกั ษณต า ง ๆ ท่ีถูกตองตามมาตรฐานท่กี ำหนดไว  สญั ลักษณห รอื ภาพหนงึ่ จะตอ งแทนหนง่ึ คำสัง่ เทานน้ั  ควรเขียนผังงานใหจบภายในหนาเดียว ถาเขียนมากกวาหนึ่งหนาตองใชสัญลักษณในการ เช่ือมตอ จดุ ระหวางหนา  การใชส ัญลักษณจ ดุ เริ่มตนและจุดสน้ิ สุด จะตองมีเพยี งอยางละหนง่ึ ตำแหนงเทาน้ัน ยกเวน การเขียนในลักษณะเพิ่มเติมที่เปนโมดูล (Module) หรือโปรแกรมยอย (Subprogram) ซ่ึง เปนสวนหนึ่งของผังงานจึงจะสามารถสรางขึ้นมาใหมเพื่อเปนจุดบอกการเริม่ ตนและสิน้ สุด ของโมดูลหรือโปรแกรมยอ ยนั้น ๆ  ทุกสัญลักษณท ี่เขยี นจะตองมที ิศทางเขาและออกเพียงหน่งึ ทศิ ทางเทาน้ัน ยกเวนสัญลักษณ จดุ เริม่ ตน จดุ ตอ จุดส้ินสุด และทางเลอื กในการตดั สินใจ ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู วิ ัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

26 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพวิ เตอร (11-413-202)  การเขยี นอธิบายข้ันตอนการทำงานโดยเรยี งลำดับกอ นหลัง ดงั น้ี o กำหนดคาเริ่มตน ใหก ับตัวแปร o Input คือ การรับขอมลู เขา o Process คอื ขัน้ ตอนการประมวลผลหรือคำนวณ o Output คือ การแสดงผลลพั ธห รือคาตวั แปรท่ไี ดจ ากการประมวลผล  ทิศทางการเขียนผังงาน ควรเรยี งลำดบั จากบนลงลา งหรอื จากซา ยไปขวาเทานน้ั  ไมค วรเขียนข้นั ตอนการทำงานแบบขามลำดับ สลับไปมายงุ ยาก และไมม ีเสน ทศิ ทางโยงไปมา ตัดกัน  ควรมกี ารทดสอบผังงานกอนท่ีจะนำไปเขยี นโปรแกรม  ควรเขียนหัวลกู ศรกำกับทศิ ทางการไหลของขอ มลู เสมอ  ไมควรปลอยทิ้งเสนการไหลของขอมูล (Flow Line) เอาไวเฉย ๆ โดยไมไดมีการเชื่อมตอ ระหวา งขน้ั ตอนหน่งึ ไปสูอ กี ขน้ั ตอนหน่ึง  คำอธิบายภายในผังงานควรเขยี นดวยขอ ความท่สี ้นั ๆ และเขา ใจงาย  ในบางกรณีอาจใชสญั ลักษณคำอธบิ าย เพื่ออธิบายสว นของผังงานเพิม่ เติมเพื่อความเขาใจ และอธิบายกระบวนการตาง ๆ ของอลั กอรทิ ึมที่ไดออกแบบเอาไว  ควรเขียนชือ่ ผงั งาน ชื่อผูเขียน วันที่เขียน และหมายเลขหนา รวมทั้งเขียนผังงานใหสะอาด เรยี บรอ ย 2.5 ลกั ษณะการเขยี นผังงาน ลักษณะการเขียนผงั งานสามารถแบง ตามโครงสรางได 3 โครงสรา งดงั ตอไปน้ี  การเขยี นผังงานกบั โครงสรา งควบคุมแบบลำดับ (Sequential Structure)  การเขียนผังงานกบั โครงสรา งควบคุมแบบการตดั สินใจ (Decision Structure) o รปู แบบทางเลือกทางเดียว (Single Alternative IF) o รปู แบบทางเลือกสองทาง (Double Alternative IF-ELSE) o รปู แบบทางเลือกหลายทาง (Multiple Alternative IF-ELSE-IF) ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภ ูริวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

เอกสารประกอบการสอน วิชาการเขยี นโปรแกรมคอมพิวเตอร (11-413-202) 27  การเขียนผงั งานกับโครงสรางควบคุมแบบการทำซ้ำ (Iteration Structure) o รูปแบบ While o รูปแบบ Do-While o รูปแบบ Repeat-Until (Do-Until) o รปู แบบ For 2.5.1 การเขยี นผังงานกับโครงสรา งควบคมุ แบบลำดบั (Sequential Structure) เปนลักษณะโครงสรา งของโปรแกรมหรือการทำงานที่เปนลำดับขั้นตอนเรียงกันไป โดยไมมี การขา มขั้นตอน หรอื ยอนกลบั ดงั ตัวอยา งเชน ผงั งานแสดงการคำนวณคา x จากสูตร x=a+b โดยรบั คา a และ b ทางแปน พิมพ และแสดงผลลัพธท างจอภาพดงั รปู ที่ 2.3 รปู ท่ี 2.3 ตวั อยางผงั งานแบบลำดบั 2.5.2 การเขียนผังงานแบบมที างเลือกการทำงาน (Decision Structure) เปนโครงสรางผังงานที่มีลักษณะการทำงานแบบมีเงื่อนไขทางตรรกะ โดยใชประโยชนจาก พีชคณิตและบูลีน เพื่อใหประมวลผลลักษณะตดั สินใจ เลือกทศิ ทางการทำงานตามคำสัง่ ที่กำหนดไว เชน ผงั งานแสดงผลการเรยี นโดยรับคาคะแนนนักศกึ ษาทางแปน พิมพ ถา คะแนนมากกวา หรือเทากับ 50 ใหแสดงขอความวา “Pass” แตถา นอ ยกวา 50 ใหแสดงขอความ “Fail” ท่หี นาจอ ดงั รปู ท่ี 2.4 ____________________________________________________________________________________ เรยี บเรยี งโดย: อาจารยภรู ิวฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจัดการ

28 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202) รปู ที่ 2.4 ตัวอยางผงั งานแบบเลือกทำ การเขียนโครงสรางผงั งานแบบมที างเลือกสามารถแบง ออกเปน ลกั ษณะการเขยี นดงั น้ี  ผงั งานแบบมีทางเลือกโดยใชค ำสัง่ IF o IF แบบทางเลือกเดียว (Single Selection) จะทำการตรวจสอบเงอ่ื นไข ถาเปน จรงิ จะไปทำคำสง่ั ทำงาน ถา เปน เทจ็ ก็จะออกจากโครงสรา งโดยมรี ูปแบบการ เขียนดังรูปท่ี 2.5 รูปท่ี 2.5 ตวั อยาง IF แบบทางเลอื กเดียว ____________________________________________________________________________________ เรยี บเรียงโดย: อาจารยภูรวิ ฒั น เลศิ ไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ

เอกสารประกอบการสอน วชิ าการเขยี นโปรแกรมคอมพวิ เตอร (11-413-202) 29 o IF-ELSE แบบสองทางเลอื ก (Double Selection) จะทำการตรวจสอบเงอื่ นไข ถา เปน จรงิ จะไปทำคำสง่ั ทำงาน 1 แลว ออกจากโครงสราง ถา เปนเทจ็ จะไปทำ คำส่ังทำงาน 2 แลว ออกจากโครงสรา ง ซง่ึ มรี ูปแบบการเขียนดงั รปู ที่ 2.6 รูปที่ 2.6 ตัวอยา ง IF แบบสองทางเลอื ก o IF-ELSE-IF แบบหลายทางเลือก (Multi Selection) เปนการตรวจสอบแบบ หลายเงือ่ นไข ทำใหมีทางออกไดหลายทาง ซึ่งเปนการนำโครงสรางของ IF มา ซอนกันเพ่อื ใหไดเง่อื นไขมากขน้ึ ตามความตอ งการ โดยมีรูปแบบการเขยี นดงั รปู ท่ี 2.7 รูปท่ี 2.7 ตวั อยาง IF แบบหลายทางเลือก ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูรวิ ฒั น เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยกี ารจดั การ

30 เอกสารประกอบการสอน วิชาการเขียนโปรแกรมคอมพิวเตอร (11-413-202)  ผังงานที่มีมากกวา 2 ทางเลือกจากการใชคำสั่ง CASE เปนการตรวจสอบเงื่อนไข ของตวั แปรตรวจสอบ วามีคา ตรงกบั คาใด คา ดังกลา วจะเปน ตัวบอกกิจกรรมที่ตอง ทำ โดยมรี ูปแบบการเขียนดังรูปที่ 2.8 รปู ท่ี 2.8 ตัวอยางผงั งานคำสง่ั CASE 2.5.3 การเขยี นผงั งานแบบมีการทำงานวนซำ้ (Iteration Structure) โปรแกรมสวนใหญจะมคี ำส่ังสำหรับการทำงานซำ้ หรอื เรยี กวา ลูป (Loop) โดยการทำซำ้ ของ โปรแกรมจะอยภู ายใตเงอ่ื นไข จรงิ หรอื เทจ็ ตามทผี่ ูเขียนโปรแกรมไดอ อกแบบไว รปู แบบของการวน ซ้ำมดี ังนี้  WHILE โครงสรางคำสั่งจะทำการตรวจสอบเงื่อนไข ถาเงื่อนไขเปนจริง ก็จะทำ กิจกรรมนน้ั ซ้ำไปเรือ่ ย ๆ เมื่อเงื่อนไขเปน เทจ็ จะหยุดทำซำ้ แลว ออกจากลูปไป เชน โปรแกรมแสดงตวั เลข 1-10 ดงั รปู ที่ 2.9 รูปท่ี 2.9 ตวั อยา งผังงานคำส่งั While ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ


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