เอกสารประกอบการสอน 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 ____________________________________________________________________________________ เรียบเรยี งโดย: อาจารยภ ูริวัฒน เลิศไกร สาขาระบบสารสนเทศ คณะเทคโนโลยีการจดั การ
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228