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 วิชา การเขียนโปรแกรมคอมพวิเตอร์เพื่องานสารสนเทศ1

วิชา การเขียนโปรแกรมคอมพวิเตอร์เพื่องานสารสนเทศ1

Published by lavanh9979, 2021-08-23 04:59:24

Description: วิชา การเขียนโปรแกรมคอมพวิเตอร์เพื่องานสารสนเทศ1

Search

Read the Text Version

เอกสารประกอบการสอน รายวชิ าการเขยี นโปรแกรมคอมพวิ เตอรเ์ พือ่ งานสารสนเทศ 1 (Computer Programming for Information Work 1) รหสั วิชา IS50202 วราภรณ์ ขยายผล วท.ม. (เทคโนโลยีสารสนเทศ) สาขาวชิ าสารสนเทศศาสตร์ คณะมนษุ ยศาสตร์และสงั คมศาสตร์ มหาวทิ ยาลยั ราชภัฏอดุ รธานี 2560

คำนำ เอกสารประกอบการสอนรายวิชา การเขียนโปรแกรมคอมพิวเตอร์เพ่ืองานสารสนเทศ 1 รหัสวิชา IS50202 น้ี เป็นรายวิชาเอกบังคับสาหรับนักศึกษาสาขาวิชาสารสนเทศศาสตร์ เอกสารเล่ม น้ีจะช่วยให้นักศึกษมีความรู้ความเข้าใจเน้ือหาในรายวิชามากย่ิงข้ึน โดยผู้เขียนได้แบ่งเน้ือหาในการ เรยี นการสอนไว้ 7 หวั ข้อเรื่อง ประกอบด้วย ความรู้พน้ื ฐานสาหรบั การเขียนโปรแกรม โครงสร้างการ เขียนโปรแกรม ความรู้พ้ืนฐานการเขียนโปรแกรมบนอินเทอร์เนต็ ความรู้พื้นฐานเก่ียวกับภาษา PHP ฟังก์ชั่น (Functions) ของภาษา PHP การจัดการไฟล์และไดเรคทอรีด้วยภาษา PHP และการสร้าง ฟอรม์ (HTML Form) รบั ส่งข้อมลู ผู้เขียนได้ศึกษาค้นคว้าข้อมูลเอกสาร ตารา และแนวความคิดจากเจ้าของผลงานต่างๆ ดังที่ ปรากฏในเอกสารอ้างอิง ผู้เขียนขอขอบพระคุณเป็นอย่างสูงไว้ ณ ที่น้ี ผู้เขียนหวังว่าเอกสารเล่มนี้จะ อานวยประโยชน์ตามจุดประสงคท์ ี่ต้ังไว้ วราภรณ์ ขยายผล มนี าคม 2560

สารบัญ หนา้ คานา ................................................................................................................................. ก สารบญั ............................................................................................................................. ค สารบัญภาพ ...................................................................................................................... ช สารบัญตาราง ..................................................................................................................... ฎ แผนบริหารการสอนประจารายวิชา .................................................................................... ฐ แผนบริหารการสอนประจาบทที่ 1....................................................................................... 1 บทท่ี 1 ความรู้พน้ื ฐานสาหรับการเขยี นโปรแกรม ............................................................... 3 ระบบคอมพิวเตอร์ .......................................................................................................... 3 โปรแกรมคอมพวิ เตอร์ .................................................................................................... 4 ความหมายของโปรแกรมคอมพิวเตอร์ .................................................................... 4 ภาษาคอมพิวเตอร์ ................................................................................................... 4 อัลกอริทมึ ................................................................................................................ 6 ขั้นตอนการเขยี นโปรแกรม ...................................................................................... 24 สรปุ ................................................................................................................................ 27 แบบฝกึ หดั ...................................................................................................................... 28 เอกสารอ้างองิ ................................................................................................................. 29 แผนบริหารการสอนประจาบทที่ 2....................................................................................... 31 บทที่ 2 โครงสรา้ งการเขยี นโปรแกรม ................................................................................. 33 โครงสร้างแบบตามลาดับ (Sequence Structure) ....................................................... 33 โครงสรา้ งแบบทางเลือก (Selection Structure) …....................................................... 35 โครงสร้างแบบวนรอบ (Loop Structure) ..................................................................... 38 สรปุ ................................................................................................................................ 42 แบบฝึกหัด ...................................................................................................................... 42 เอกสารอ้างอิง ................................................................................................................. 43 แผนบรหิ ารการสอนประจาบทที่ 3....................................................................................... 45 บทที่ 3 ความรู้พืน้ ฐานการเขียนโปรแกรมบนอนิ เทอรเ์ น็ต .................................................. 47 อินเทอรเ์ น็ต .................................................................................................................... 47 เวิลด์ไวดเ์ ว็บ (World Wide Web : WWW) .................................................................. 49

ง สารบัญ (ตอ่ ) หนา้ เว็บเบราวเ์ ซอร์ (Web Browsers) .................................................................................. 50 เวบ็ เซิรฟ์ เวอร์ (Web Servers) ....................................................................................... 51 ยูอาร์แอล (Uniform Resource Locators : URL) ....................................................... 51 โพรโทคอลเอชทีทีพี (The Hypertext Transfer Protocol : HTTP) ........................... 52 ภาษาท่ีใชใ้ นการเขยี นโปรแกรม ..................................................................................... 52 ภาษา HTML ........................................................................................................... 52 ภาษา PHP .............................................................................................................. 53 การเตรียมความพร้อมในการเขียนโปรแกรมภาษา PHP ................................................ 54 สรปุ ................................................................................................................................ 55 แบบฝกึ หัด ...................................................................................................................... 55 เอกสารอ้างอิง ................................................................................................................. 56 แผนบริหารการสอนประจาบทที่ 4....................................................................................... 57 บทที่ 4 ความรู้เบื้องต้นเก่ียวกับภาษา PHP ........................................................................ 59 59 หลกั การทางานของภาษา PHP ...................................................................................... 60 รปู แบบของภาษา ........................................................................................................... 61 ตัวแปร (Variable) และค่าคงที่ (Constant) .................................................................. 66 คาส่งั ภาษา PHP เบ้อื งตน้ .............................................................................................. 70 ตัวดาเนนิ การ .................................................................................................................. 75 โครงสรา้ งควบคมุ ………………………………........................................................................ 75 81 กลุ่มคาสัง่ แบบทางเลือก .......................................................................................... 87 กลุ่มคาสัง่ แบบวนรอบ ............................................................................................. 89 กลุ่มคาสั่งแบบกระโดดออกจากคาสัง่ วนรอบ .......................................................... 89 สรุป ................................................................................................................................ 91 แบบฝกึ หัด ...................................................................................................................... เอกสารอา้ งองิ ................................................................................................................. แผนบริหารการสอนประจาบทที่ 5....................................................................................... 93 บทที่ 5 ฟังกช์ ัน (Functions) ของภาษา PHP ................................................................... 95 95 ลกั ษณะทัว่ ไปของฟังก์ชัน ............................................................................................... 95 การประกาศฟงั กช์ ัน ........................................................................................................ 96 การเรยี กใช้งานแบบไมม่ กี ารส่งผา่ นคา่ ........................................................................... 97 การเรยี กใช้งานแบบมีการส่งผ่านค่า ...............................................................................

จ สารบัญ (ตอ่ ) หนา้ การคืนค่าจากฟงั กช์ นั ................................................................................................ 98 การสง่ ผ่านค่าให้แก่ฟงั กชัน ....................................................................................... 98 ขอบเขตการเรียกใช้ตวั แปร ....................................................................................... 100 การนาเข้าสคริปตจ์ ากไฟล์อน่ื มาใชง้ าน ..................................................................... 102 การเรียกใช้ฟงั ก์ชนั ที่มอี ยูใ่ น PHP ……....................................................................... 103 สรุป ............................................................................................................................. 114 แบบฝกึ หัด .................................................................................................................. 115 เอกสารอา้ งอิง ............................................................................................................. 116 แผนบรหิ ารการสอนประจาบทที่ 6....................................................................................... 117 บทท่ี 6 การจดั การไฟลด์ ้วยภาษา PHP .............................................................................. 119 ไฟล์ข้อมูล ....................................................................................................................... 119 การเปิดและปิดไฟล์ข้อมูล ........................................................................................ 120 การอา่ นขอ้ มลู จากไฟล์ข้อมูล ................................................................................... 122 การเขียนข้อมลู ลงไฟล์ข้อมูล .................................................................................... 125 การจัดการไฟล์ ........................................................................................................ 127 ไดเรกทอรี ....................................................................................................................... 130 การเปิดและปิดไดเรกทอรี ....................................................................................... 131 การอา่ นรายช่ือไฟล์และไดเรกทอรีย่อยในไดเรกทอรี .............................................. 131 การสรา้ งไดเรกทอรี ................................................................................................. 132 การลบไดเรกทอรี .................................................................................................... 133 การหาไดเรกทอรปี จั จบุ นั ........................................................................................ 133 สรุป ................................................................................................................................ 135 แบบฝกึ หัด ...................................................................................................................... 135 เอกสารอา้ งองิ ................................................................................................................ 136 แผนบรหิ ารการสอนประจาบทที่ 7....................................................................................... 137 บทที่ 7 การสรา้ งฟอรม์ (HTML Form) รบั สง่ ขอ้ มูล .......................................................... 139 การทางานของฟอรม์ ...................................................................................................... 139 การสรา้ งฟอร์มรบั ข้อมูล ................................................................................................. 140 ช่องรับขอ้ มลู ตา่ งๆ ในฟอรม์ ........................................................................................... 142 การส่งผ่านขอ้ มูลระหว่างเวบ็ เพจ .................................................................................... 161 คกุ กี้ (Cookie) และ เซสช่ัน (Session) .......................................................................... 162 สรปุ ................................................................................................................................ 164

ฉ หน้า แบบฝึกหดั ...................................................................................................................... 165 เอกสารอ้างองิ ................................................................................................................. 167 บรรณานกุ รม ...................................................................................................................... 169 .

สารบัญภาพ ภาพท่ี หนา้ 1.1 ผงั งานระบบการสร้างใบกากับสนิ ค้า ................................................................................. 14 1.2 ผังงานโปรแกรมสาหรับหาผลรวมของตัวแปร a, b และ c แล้วเก็บไวใ้ นตัวแปร sum ....... 15 1.3 ผังงานโปรแกรมแสดงการหาผลรวมตวั เลข 2 จานวน ......................................................... 20 1.4 ผังงานโปรแกรมแสดงการวดั ผลการเรียนของนักเรยี น ........................................................ 21 1.5 ผังงานโปรแกรมให้แสดงค่าทีเ่ ก็บในตวั แปร N ..................................................................... 22 1.6 ผงั งานโปรแกรมแสดงผลรวมของตัวเลขต้ังแต่ 1 ถงึ N ........................................................ 23 1.7 ข้ันตอนการวเิ คราะหป์ ัญหา ................................................... ............................................ 24 2.1 ผังงานและรหสั เทยี มโปรแกรมโครงสรา้ งแบบตามลาดับ ..................................................... 33 2.2 ผังงานและรหัสเทียมโปรแกรมหาผลคูณของตวั เลข ............................................................ 34 2.3 ผังงานและรหัสเทียมโปรแกรมโครงสร้างแบบทางเลือก ...................................................... 35 2.4 ผงั งานและรหสั เทยี มโปรแกรมโครงสรา้ งแบบ 1 ทางเลอื ก ................................................. 36 2.5 ผงั งานและรหัสเทียมโปรแกรมโครงสรา้ งแบบหลายทางเลือก ............................................. 37 2.6 ผังงานและรหัสเทียมโปรแกรมโครงสรา้ งแบบวนรอบ ......................................................... 39 2.7 ผังงานและรหสั เทยี มโปรแกรมโครงสรา้ งแบบดาเนนิ การวนรอบกอ่ นแลว้ จงึ ตรวจสอบ เง่อื นไขเพื่อทาซา้ ........................................................................................................................ 40 2.8 ผงั งานและรหัสเทยี มโปรแกรมโครงสรา้ งแบบทาซา้ ตามจานวนรอบท่ีกาหนด .................... 41 3.1 เครอื ข่ายอนิ เทอรเ์ นต็ ........................................................................................................... 49 3.2 บริการเวลิ ด์ไวด์เวบ็ .............................................................................................................. 50 3.3 โปรแกรมเว็บเบราวเ์ ซอร์ ...................................................................................................... 51 3.4 ตัวอยา่ งเวบ็ เซิร์ฟเวอร์ทใ่ี ชง้ านอยใู่ นปัจจบุ ัน ........................................................................ 51 3.5 การพิมพ์ยูอารแ์ อล ............................................................................................................... 52 3.6 โครงสร้างและแท็กมาตรฐานภาษา HTML .......................................................................... 53 3.7 การเขยี นโปรแกรมภาษา PHP ดว้ ย DreamweaverCS6 ................................................... 54 3.8 การทดสอบโปรแกรมภาษา PHP ผา่ นทางเว็บเบราว์เซอร์ .................................................. 55 4.1 หลักการทางานของภาษา PHP (ทมี่ า guru99, 2017) ........................................................ 59 4.2 การใส่คาอธิบายลงในโปรแกรม ........................................................................................... 66 4.3 คาสัง่ if แสดงในรูปแบบผังงาน .......................................................................................... 76 4.4 คาสัง่ if…else แสดงในรปู แบบผังงาน ................................................................................ 77 4.5 คาสั่ง if… elseif แสดงในรูปแบบผงั งาน ............................................................................ 79 4.6 คาส่ัง switch … case แสดงในรปู แบบผังงาน, ท่มี า : (zentut, 2017) ............................. 81

ซ สารบญั ภาพ (ตอ่ ) หนา้ 4.7 คาส่ัง while แสดงในรปู แบบผังงาน .................................................................................... 82 4.8 คาส่ัง do … while แสดงในรปู แบบผังงาน ......................................................................... 83 4.9 คาส่งั for แสดงในรปู แบบผงั งาน ......................................................................................... 85 7.1 หน้าจอลอ็ กอิน (Login Form) ............................................................................................ 139 7.2 การทางานของฟอรม์ (Form HTML) .................................................................................. 140 7.3 ผลการสง่ ข้อมลู แบบ get ..................................................................................................... 141 7.4 ผลการสง่ ข้อมลู แบบ post ................................................................................................... 142 7.5 เครอ่ื งมือ Forms ที่ใชใ้ นการสร้างฟอร์ม ............................................................................. 143 7.6 การสรา้ งฟอร์มรบั ข้อมูลด้วยโปรแกรม Dreamweaver ...................................................... 144 7.7a การเลอื กแทก็ <table> .................................................................................................... 145 7.7b ขัน้ ตอนการสร้างตาราง .................................................................................................... 145 7.7c ตารางและการกาหนดคุณสมบัติของตาราง ....................................................................... 146 7.8a ใสร่ ายละเอียดทต่ี อ้ งการลงในตาราง .................................................................................. 146 7.8b การกาหนด Properties ของ “text field” สาหรบั กรอกช่ือ .......................................... 147 7.8c การกาหนด Properties ของ “text field” สาหรับกรอกนามสกุล .................................. 147 7.9 ผลลพั ธแ์ ละชุดคาสงั่ การแทรกชอ่ งรับบรรทดั เดียวสาหรบั กรอกช่ือ และนามสกลุ .............. 147 7.10 แทรกช่องรับบรรทดั เดียวสาหรบั กรอกรหัสผใู้ ช้ ................................................................ 149 7.11 แทรกช่องรบั รหสั ผ่านบรรทัดเดยี วสาหรบั กรอกรหสั ผา่ น .................................................. 149 7.12 ผลลพั ธ์การแทรกช่องรับรหสั ผ่านบรรทัดเดียวสาหรับกรอกรหสั ผใู้ ช้ และรหัสผา่ น ………. 149 7.13 ขน้ั ตอนการเพ่ิมช่องรบั ขอ้ มูลแบบกลอ่ งตวั เลือก (checkbox) “วชิ าการ หนังสอื เรียน” .. 150 7.14 เพม่ิ กล่องตวั เลือก “นวนยิ าย เรอ่ื งสัน้ การต์ ูน” ................................................................ 151 7.15 เพ่มิ กลอ่ งตวั เลือก “วารสาร หนังสอื พิมพ์ นติ ยสาร” ........................................................ 151 7.16 เพ่ิมกล่องตวั เลือก “ท่วั ไป” ............................................................................................... 152 7.17 การเพ่ิมกล่องตัวเลือกของประเภทหนังสอื ที่ชอบอา่ น ....................................................... 152 7.18 ขั้นตอนการเพิ่มปมุ่ ตวั เลือก “เพศ” (radio button) สาหรบั “ชาย” .............................. 153 7.19 ขน้ั ตอนการเพ่มิ ปมุ่ ตวั เลือก “เพศ” (radio button) สาหรับ “หญงิ ” .............................. 154 7.20 การเพ่ิมปุ่มตวั เลอื ก “เพศ” ปุ่มทีใ่ ห้เลือกคือ “ชาย” และ “หญิง” ................................... 154 7.21 ขั้นตอนการเพมิ่ ชอ่ งรับช่ือไฟล์ .......................................................................................... 155 7.22 ขัน้ ตอนการเพมิ่ ปุ่ม “Submit” ......................................................................................... 156 7.23 ข้นั ตอนการเพมิ่ ป่มุ “Reset” ............................................................................................ 157 7.24 ขน้ั ตอนการเพม่ิ ชอ่ งรับหลายบรรทดั “ทอี่ ยู่” .................................................................... 158

ฌ สารบญั ภาพ (ตอ่ ) หน้า 7.25 ขนั้ ตอนการเพ่มิ รายการตัวเลอื ก “คณะท่สี งั กดั ” .............................................................. 160 7.26 หนา้ จอฟอร์มรบั สมัครสมาชิกห้องสมุด .............................................................................. 161 7.27 การกาหนดแอตตริบิวตข์ องแทก็ <form> ที่ DreamweaverCS6 ................................... 161 7.28 ชุดคาส่ังในโปรแกรม member_list.php สาหรบั แสดงค่าออกทางหน้าเว็บ .................... 162



ฎ สารบัญตาราง ตารางท่ี หนา้ 1.1 สญั ลักษณ์ ลาดบั ความสาคัญของการทางานของเคร่ืองหมายการคานวณ .......................... 8 1.2 ผลลัพธข์ องการเปรยี บเทียบประโยคคาสั่งเงอื่ นไขตามหลกั การทางพชี คณติ แบบบลู ีน ....... 9 1.3 สญั ลักษณ์มาตรฐานในการเขียนผังงานโปรแกรม ................................................................ 16 4.1 ตวั ดาเนินการเก่ยี วกบั ตัวเลข ............................................................................................... 70 4.2 ตวั ดาเนนิ การในการกาหนดคา่ ใหก้ บั ตวั แปร ....................................................................... 72 4.3 ตัวดาเนินการเปรียบเทียบ ................................................................................................... 73 4.4 ตัวดาเนนิ การทางตรรกะ ..................................................................................................... 74 5.1 รหัสรปู แบบการแสดงผลวนั ท่ี และเวลา ............................................................................. 105 6.1 ฟงั กช์ นั ในภาษา PHP สาหรับจัดการไฟล์ ............................................................................ 120 6.2 วิธกี ารเปดิ ไฟล์ในภาษา PHP ............................................................................................... 120 6.3 ฟงั กช์ นั ในภาษา PHP สาหรับจดั การไดเรกทอรี .................................................................. 130 7.1 รายละเอียดแอตตริบวิ ต์หลกั ของ แทก็ <form> ................................................................. 141 7.2 รายละเอยี ดค่าท่ีกาหนดใหก้ ับแอตตริบิวต์ type ของแทก็ <input> ................................. 142



ฐ แผนบรหิ ารการสอนประจาวชิ า 3(2-2-5) รหสั วชิ า IS50202 รายวชิ า การเขียนโปรแกรมคอมพิวเตอรเ์ พ่อื งานสารสนเทศ 1 (Computer Programming for Information Work 1) คาอธบิ ายรายวิชา ศึกษาหลักการพ้ืนฐานในการเขียนโปรแกรมคอมพิวเตอร์ ภาษาคอมพิวเตอร์ โครงสร้าง โปรแกรม ข้ันตอนการพัฒนาโปรแกรม แนวคิดทางคณิตศาสตร์และหลักไวยากรณ์สาหรับการเขียน โปรแกรม ฝึกปฏิบตั กิ ารเขยี นโปรแกรมคอมพิวเตอร์เบ้ืองต้นเพ่ืองานสารสนเทศ วตั ถุประสงค์ท่วั ไป 1. เพ่ือให้มีความรู้ความเข้าใจเก่ียวกับหลักการพ้ืนฐานในการเขียนโปรแกรมคอมพิวเตอร์ ภาษาคอมพวิ เตอร์ และโครงสรา้ งโปรแกรม 2. เพื่อให้มคี วามรู้ความเข้าใจเก่ียวกบั ขั้นตอนการพัฒนาโปรแกรม แนวคิดทางคณิตศาสตร์ และหลกั ไวยากรณส์ าหรบั การเขยี นโปรแกรม 3. เพือ่ ให้สามารถเขียนโปรแกรมคอมพิวเตอรเ์ บอื้ งตน้ เพ่ืองานสารสนเทศ เน้อื หา 8 ชว่ั โมง บทท่ี 1 ความรู้พื้นฐานสาหรบั การเขยี นโปรแกรม ระบบคอมพวิ เตอร์ โปรแกรมคอมพิวเตอร์ ความหมายของโปรแกรมคอมพวิ เตอร์ ภาษาคอมพวิ เตอร์ อัลกอริทมึ ขัน้ ตอนการเขียนโปรแกรม สรปุ แบบฝึกหดั บทท่ี 2 โครงสร้างการเขียนโปรแกรม 8 ชั่วโมง โครงสรา้ งแบบตามลาดับ (Sequence Structure)

ฑ โครงสรา้ งแบบทางเลือก (Selection Structure) โครงสรา้ งแบบวนรอบ (Loop Structure) สรุป แบบฝกึ หดั บทที่ 3 ความรู้พน้ื ฐานการเขียนโปรแกรมบนอินเทอรเ์ นต็ 8 ชั่วโมง อินเทอร์เนต็ เวลิ ด์ไวดเ์ ว็บ (World Wide Web : WWW) เว็บเบราว์เซอร์ (Web Browsers) เวบ็ เซริ ฟ์ เวอร์ (Web Servers) ยอู ารแ์ อล (Uniform Resource Locators : URL) โพรโทคอลเอชทที ีพี (The Hypertext Transfer Protocol : HTTP) ภาษาท่ใี ชใ้ นการเขียนโปรแกรม ภาษา HTML ภาษา PHP การเตรียมความพร้อมในการเขยี นโปรแกรมภาษา PHP สรุป แบบฝกึ หดั บทที่ 4 ความรู้เบ้ืองตน้ เกยี่ วกับภาษา PHP 12 ชั่วโมง หลักการทางานของภาษา PHP รปู แบบของภาษา ตัวแปร (Variable) และค่าคงที่ (Constant) คาสง่ั ภาษา PHP เบอื้ งต้น ตวั ดาเนนิ การ โครงสร้างควบคมุ กล่มุ คาสั่งแบบทางเลือก กลมุ่ คาสั่งแบบวนรอบ กล่มุ คาส่งั แบบกระโดดออกจากคาสัง่ วนรอบ สรปุ แบบฝึกหัด บทที่ 5 ฟังกช์ ัน (Functions) ของภาษา PHP 8 ชวั่ โมง ลกั ษณะท่ัวไปของฟังก์ชัน การประกาศฟังก์ชัน การเรียกใชง้ านแบบไม่มกี ารส่งผ่านค่า

การเรียกใช้งานแบบมีการส่งผ่านค่า ฒ การคืนคา่ จากฟงั กช์ ัน การส่งผา่ นค่าให้แก่ฟังกชัน 4 ชวั่ โมง ขอบเขตการเรยี กใช้ตวั แปร 16 ชวั่ โมง การนาเข้าสคริปต์จากไฟล์อนื่ มาใชง้ าน การเรียกใช้ฟงั ก์ชนั ท่ีมอี ยใู่ น PHP สรุป แบบฝึกหัด บทท่ี 6 การจดั การไฟล์ดว้ ยภาษา PHP ไฟล์ข้อมลู การเปดิ และปดิ ไฟลข์ ้อมูล การอ่านข้อมูลจากไฟล์ข้อมูล การเขยี นข้อมลู ลงไฟล์ข้อมูล การจดั การไฟล์ ไดเรกทอรี การเปิดและปิดไดเรกทอรี การอ่านรายช่ือไฟล์และไดเรกทอรียอ่ ยในไดเรกทอรี การสร้างไดเรกทอรี การลบไดเรกทอรี การหาไดเรกทอรปี จั จุบนั สรปุ แบบฝึกหดั บทท่ี 7 การสรา้ งฟอร์ม (HTML Form) รบั ส่งขอ้ มลู การทางานของฟอร์ม การสร้างฟอร์มรบั ข้อมลู ชอ่ งรบั ข้อมูลตา่ งๆ ในฟอร์ม การสง่ ผา่ นข้อมูลระหวา่ งเว็บเพจ คกุ กี้ (Cookie) และ เซสช่ัน (Session) สรปุ แบบฝกึ หดั

ณ วธิ สี อนและกิจกรรม 1. ต้ังคาถามให้นกั ศกึ ษาตอบพร้อมแสดงความคิดเหน็ 2. ร่วมอภปิ รายเน้อื หาและทาแบบฝึกหดั ในชนั้ เรยี น 3. มอบหมายแบบฝึกหดั เปน็ การบา้ น 4. บรรยายและสาธติ โดยใช้ตัวอย่างประกอบ 5. สาธิตการเขยี นโปรแกรมด้วยโปรแกรม Adobe Dreamweaver 6. นกั ศึกษาฝึกเขียนโปรแกรมด้วยโปรแกรม Adobe Dreamweaver สอ่ื การเรียนการสอน 1. เอกสารประกอบการสอนการเขยี นโปรแกรมคอมพวิ เตอร์เพือ่ งานสารสนเทศ 1 2. เครอ่ื งคอมพิวเตอร์ 3. โปรแกรม Microsoft PowerPoint 4. โปรแกรม Appserv 5. โปรแกรม Adobe Dreamweaver 6. โปรแกรมประเภท Web Browser : Google Chrome 7. สื่อออนไลน์ชว่ ยสอน : โปรแกรม Google Classroom การวัดผลและการประเมินผล 1. การวัดผล 70 คะแนน 1.1. คะแนนระหวา่ งภาคเรยี น 10 คะแนน 1.1.1. ความสนใจและการมสี ่วนร่วมในชนั้ เรยี น 35 คะแนน 1.1.2. งานและกิจกรรมท่ีได้รบั มอบหมาย 25 คะแนน 1.1.3. ทดสอบกลางภาคเรยี น 30 คะแนน 1.2. คะแนนปลายภาคเรยี น ทดสอบโดยการปฏบิ ตั ิ 2. การประเมินผล เกณฑ์การให้คะแนนระดบั องิ เกณฑด์ ังนี้ ระดบั คะแนน เกรด 80 - 100 A 75 - 79 B+ 70 - 74 B 65 - 69 C+ 60 - 64 C 55 - 59 D+ 50 - 54 D 0 - 49 F



แผนบริหารการสอนประจาบทท่ี 1 เนือ้ หาประจาบทท่ี 1 ความรู้พื้นฐานสาหรับการเขียนโปรแกรม ระบบคอมพิวเตอร์ โปรแกรมคอมพิเตอร์ ความหมายของโปรแกรมคอมพิวเตอร์ ภาษาคอมพิวเตอร์ อัลกอริทึม ข้นั ตอนการเขยี นโปรแกรม วัตถปุ ระสงคเ์ ชิงพฤตกิ รรม เมอื่ ศึกษาบทเรยี นนแ้ี ลว้ ผเู้ รยี นมีพฤติกรรมดังนี้ 1. อธิบายความหมายเก่ียวกับระบบคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์ ภาษาคอมพิวเตอร์ และอัลกอรทิ มึ 2. จาแนกประเภทของภาษาคอมพิวเตอร์ 3. จาแนกการทางานพืน้ ฐานของระบบคอมพิวเตอร์ 4. สามารถบอกขัน้ ตอนการเขียนโปรแกรม 5. สามารถเขียนอลั กอริทึมในรูปแบบผงั งานและรหสั เทยี มแกไ้ ขปัญหาตามแบบฝึกหัดประจา บทได้ วธิ ีสอนและกจิ กรรมการเรียนการสอน 1. วธิ สี อน 1.1 บรรยาย 1.2 อภปิ ราย ค้นควา้ เพิ่มเตมิ 1.3 นกั ศึกษาทาแบบฝึกหดั และผ้สู อนตรวจแบบฝกึ หดั 1.4 มอบหมายแบบฝึกหัดเป็นการบ้านเพ่ือทบทวนบทเรยี น 2. กิจกรรมการเรยี นการสอน สัปดาห์ 1-2 (8 ชัว่ โมง) 2.1 ผสู้ อนชี้แจงคาอธบิ ายรายวชิ า วธิ ีการเรียนการสอน การประเมินผลให้ผ้เู รยี น ทราบ และสร้างข้อตกลงรว่ มกันในช้นั เรียน 2.2 ผูส้ อนอธบิ ายเนอื้ หา เปิดโอกาสให้ผเู้ รียนซกั ถามปัญหาในหวั ขอ้ ท่ียงั ไมเ่ ข้าใจ ใหผ้ เู้ รียนคน้ คว้าเพ่ิมเติมจากอินเตอร์เน็ตและเอกสารประกอบการสอน อภิปราย และสรุปเน้ือหา สาระสาคญั

2 2.3 ผ้เู รยี นทาแบบฝกึ หดั ประจาบทและตอบคาถามลงใน Google Classroom เพอื่ ให้ผู้สอนตรวจ อธบิ ายเพ่ิมเติม และสรุปคาตอบทถี่ ูกต้อง ส่อื การเรยี นการสอน 1. เอกสารประกอบการสอนการเขยี นโปรแกรมคอมพวิ เตอร์เพือ่ งานสารสนเทศ 1 2. เคร่อื งคอมพวิ เตอร์ 3. PowerPoint เน้อื หาบทที่ 1 4. สื่อออนไลนช์ ่วยสอน : โปรแกรม Google Classroom การวดั ผลและประเมินผล 1. การวดั ผล สงั เกตจากการตอบคาถาม ตรวจแบบฝึกหัด 2. การประเมนิ ผล ผูเ้ รยี นสามารถตอบคาถามและทาแบบฝึกหัดได้ถกู ต้อง ร้อยละ 80

บทท่ี 1 ความรู้พื้นฐานสาหรับการเขียนโปรแกรม การเขียนโปรแกรมคอมพิวเตอร์ให้ตรงตามความต้องการในการใช้งานนั้น ผู้เขียนโปรแกรม ควรศึกษารายละเอียดที่เกี่ยวข้อง เพ่ือจะได้นาไปประยุกต์ในการเขียนโปรแกรมระบบงานต่างๆ ได้ อย่างเหมาะสมและมีประสิทธิภาพ ซ่ึงในบทนี้ได้เตรียมเนื้อหาสาหรับผู้เริ่มต้นและสนใจการเขียน โปรแกรมคอมพิวเตอร์ โดยมีเนื้อหาเกี่ยวกับระบบคอมพิเตอร์ ความหมายโปรแกรมคอมพิวเตอร์ ภาษาคอมพวิ เตอร์ ความหมายและหลกั การเขยี นอัลกอริทมึ และข้นั ตอนการเขียนโปรแกรม ระบบคอมพวิ เตอร์ ระบบคอมพิวเตอร์หมายถึงการทางานบนเคร่ืองคอมพิวเตอร์ท่ีมีองค์ประกอบของฮาร์ดแวร์ ซอฟต์แวร์ ข้อมูลนาเข้า กระบวนการ และผลลัพธ์ท่ีทางานประสานกัน เพ่ือทางานบางอย่างให้เสร็จ สิ้น ซึ่งรายละเอียดขององค์ประกอบต่างๆ มีดังนี้ (โอภาส เอี่ยมสิริวงค์, 2557: 31; Joyce Farrell, 2013: 2-4) 1. ฮาร์ดแวร์ (Hardware) หมายถึงอุปกรณ์ต่างๆ ท่ีเกี่ยวข้องหรือทางานร่วมกันกับเเคร่ือง คอมพิวเตอร์ สามารถมองเห็นด้วยตาและจับต้องได้ เช่น แป้นพิมพ์ จอภาพ เมาส์ ลาโพง และ เคร่อื งพมิ พ์ เปน็ ตน้ ฮาร์ดแวรส์ ามารถแบ่งออกได้ 4 หน่วยตามลักษณะการทางาน ดังนี้ 1.1 หน่วยรับข้อมูล (Input Unit) หน้าท่ีของหน่วยนี้คือ นาเข้าข้อมูลจากผู้ใช้ไปยังหน่วย ประมวลผลกลาง ฮาร์ดแวร์ท่ีทาหน้าท่ีในหน่วยน้ีคือ แป้นพิมพ์ เมาส์ เคร่ืองอ่านภาพ ปากกาแสง และหนา้ จอแบบสมั ผัส เปน็ ต้น 1.2 หน่วยประมวลผลกลาง (Central Processing Unit : CPU) ทาหน้าที่ปฏิบัติตาม คาสง่ั ทรี่ ับเข้ามาจากหนว่ ยรับขอ้ มลู เพอ่ื ประมวลผลให้ได้ผลลพั ธต์ ามทตี่ อ้ งการ 1.3 หน่วยแสดงผล (Output Unit) มีหน้าท่ีนาข้อมูลหรือผลลัพธ์ที่ได้จากการประมวลผล ไปแสดงออกให้ผู้ใช้งานได้รบั รู้ สามารถแสดงออกในลักษณะกระดาษผ่านเครื่องพิมพ์ เสียงผ่านลาโพง และผา่ นจอภาพ เปน็ ตน้ 1.4 หน่วยเก็บข้อมูลสารอง (Storage Unit) หน่วยนี้จะทาหน้าท่ีเก็บข้อมูลท่ีได้จากการ ประมวลผลนาไปเก็บไว้ในหน่วยความจาสารอง (ฮาร์ดดิสก์) ของเครื่องคอมพิวเตอร์ เพ่ือจะได้นา ข้อมูลทเ่ี กบ็ ไวน้ นั้ ไปใชใ้ นประมวลผลงานบางอย่างต่อไป 2. ซอฟต์แวร์ (Software) หมายถึง โปรแกรมหรือชดุ คาส่ังท่ีนกั เขยี นโปรแกรมสร้างขึ้นมาส่ัง ให้คอมพิวเตอร์ทางานตามข้ันตอนท่ีส่ังให้ดาเนินการ หรือควบคุมการทางานของฮาร์ดแวร์ ซ่ึงเขียน ข้นื ดว้ ยภาษาคอมพวิ เตอร์ สามารถแบง่ ออกเป็น 2 ประเภทคอื 2.1 ซอฟต์แวร์ระบบ (System Software) เป็นโปรแกรมท่ีพัฒนาข้ึนมาเพื่อควบคุมการ ทางานของฮาร์ดแวร์ เพื่อรองรับการประมวลผลหรือทางานตามคาส่ังของผู้ใช้ ควบคุมการเข้าใช้ ทรัพยากรของเครื่องคอมพิวเตอร์ แบ่งปันการใช้งานอุปกรณ์เพ่ือหลีกเลี่ยงการทางานท่ีขัดแย้งกัน ตวั อยา่ งซอฟต์แวรป์ ระเภทนี้เชน่ Windows, Linux หรือ UNIX เปน็ ตน้

4 2.2 ซอฟต์แวร์ประยกุ ต์ (Application Software) เป็นโปรแกรมท่ีพัฒนาข้ึนมาเพื่อทางาน อย่างใดอย่างหน่ึงตามความต้องการของผู้ใช้เป็นหลัก อีกท้ังยังทางานอยู่บนซอฟต์แวร์ระบบ เช่น โปรแกรมประมวลผลคา (word processing programs) โปรแกรมตารางคานวณ (spreadsheets) โปรแกรมเงินเดือน (payroll programs) โปรแกรมคลังส้ินค้า (inventory programs) และ โปรแกรมเกม เป็นตน้ 3. สว่ นนาเข้า (Input) เป็นส่งิ ท่ีนาเข้าสูร่ ะบบ เพ่ือใหโ้ ปรแกรมนาไปประมวลผลให้ไดผ้ ลลัพธ์ ตามวัตถุประสงค์ที่กาหนดไว้ ตัวอย่างข้อมูลนาเข้า เชน่ ข้อมูลสินค้า ลูกค้า และบุคคล เป็นตน้ ขอ้ มูล เหล่านี้สามารถนาเข้าในลักษณะของรูปภาพ เสียง ข้อความและตัวเลข เก็บไว้ในหน่วยความจาของ คอมพิวเตอร์ 4. กระบวนการ (Processing) การประมวลผลข้อมูลท่ีนาเข้าสู่ระบบคอมพิวเตอร์ ซ่ึงอาจ ประมวลผลเก่ียวกับการตรวจสอบความถูกต้องของข้อมูล การคานวณค่าบางค่า การจัดเก็บข้อมูล บางอย่าง จากงานทก่ี ล่าวมาข้างต้นจะเป็นหนา้ ท่ีของฮารด์ แวรป์ ระเภทหนว่ ยประมวลผลกลาง (CPU) 5. ผลลัพธ์ (Output) หรือสิ่งท่ีนาออกจากกระบวนการเพื่อนาไปจัดเก็บไว้ในหน่วยความจา ของเครอ่ื งคอมพิเตอร์ในลักษณะฐานข้อมูล มีการส่งตอ่ ไปยังกระบวนการถัดไป หรือส่งไปเคร่ืองพิมพ์ หรือจอภาพ เป็นต้น โปรแกรมคอมพิวเตอร์ เพื่อให้เข้าใจถึงการเขียนโปรแกรมคอมพิวเตอร์ในหัวข้อน้ีจึงได้กล่าวถึงความหมาย ภาษาคอมพิวเตอร์ อัลกอริทึมดังมีรายละเอียดต่อไปนี้ (รุ่งทิวา เสาร์สิงห์, 2546: 20-35; สานนท์ เจริญฉาย, 2544: 10-28; Joyce Farrell, 2013: 7-14) 1. ความหมายของโปรแกรมคอมพวิ เตอร์ โปรแกรมคอมพิวเตอร์ (computer program) หมายถึง ชุดของคาส่ังท่ีเขียนข้ึนเพ่ือสั่งให้ คอมพิวเตอร์ทางานตามท่ีต้องการ ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียน ชุดคาสั่งด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทางานตามโปรแกรมที่เรา เขียนขึ้น ดังนั้นผู้เขียนโปรแกรม (programmer) จาเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ แล้วฝึกทักษะ การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความชานาญ เพ่ือให้สามารถเขียน โปรแกรมคอมพวิ เตอร์ได้อยา่ งมปี ระสิทธิภาพ 2. ภาษาคอมพิวเตอร์ ภาษาคอมพิวเตอร์ (computer language) หมายถึง สัญลักษณ์ท่ีผู้คิดพัฒนา ภาษากาหนดข้ึนมาเพื่อใช้แทนคาส่ังส่ือสาร สั่งงานระหว่างมนุษย์กับตัวเครื่องคอมพิวเตอร์และ อุปกรณต์ อ่ พว่ งอนื่ ๆ (รุ่งทวิ า เสารส์ งิ ห์, 2546: 25) ภาษาคอมพิวเตอร์ หมายถึง ภาษาที่ใช้สื่อสารกับเครื่องคอมพิวเตอร์ และสามารถ นามาใชเ้ ขยี นโปรแกรมคอมพิวเตอร์สัง่ ให้คอมพวิ เตอร์ทางานตามคาส่ังนั้นได้

5 2.1 ประเภทของภาษาคอมพิวเตอร์ สามารถแยกได้ 4 ประเภทดงั น้ี 2.1.1 ภาษาเคร่ือง (machine language) เปน็ ภาษาท่ีสามารถตดิ ตอ่ ส่ือสารกับ เคร่ืองคอมพิวเตอร์ได้โดยตรง เพราะว่าการเขียนคาสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข 0 และ 1 ที่เคร่ืองคอมพิวเตอร์สามารถเข้าใจได้โดยไม่ต้อง แปล ตัวอย่างเช่น การบวกแทนด้วยรหัสท่ีเป็นภาษาเคร่ืองคือ 10101010 หรือ เลข 9 เปลย่ี นเปน็ เลขฐานสอง 00001001 เปน็ ต้น ข้อเสียของภาษาเคร่ือง คือ เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียน ภาษาเคร่ืองที่แตกต่างกัน และเกิดความยุ่งยากในการปรับปรุงแก้ไข ทาให้เกิดความไม่สะดวกในการ ใช้งาน ดงั น้นั ภาษาเครือ่ งจงึ ไมเ่ หมาะกบั ผ้เู ริ่มต้นเขยี นโปรแกรม ข้อดีของภาษาเครื่อง คือ สามารถเข้าถึงตัวเคร่ืองโดยตรงได้ โดยไม่ต้องผ่าน การแปลรหสั เหมอื นภาษาประเภทอน่ื จึงสามารถประมวลผลรหัสคาสงั่ ไดอ้ ย่างรวดเรว็ 2.1.2 ภาษาแอสเซมบลี (assembly language) หรอื ภาษาสัญลักษณ์ สามารถ เรียกอีกอย่างว่าภาษาระดับต่า ซ่ึงเป็นภาษาคอมพิวเตอร์ที่พัฒนาข้ึนมาเพื่อให้ผู้เขียนโปรแกรม สามารถเขียนโปรแกรมติดต่อกับคอมพิวเตอร์ได้ง่ายกว่าภาษาเครื่อง ส่วนการเขียนคาสั่งใน ภาษาแอสเซมบลีจะใช้คาย่อของภาษาอังกฤษและอ้างถึงตาแหน่งที่อยู่ภายในคอมพิวเตอร์เป็นส่วน ใหญ่ เชน่ เขยี นคาส่ังภาษาแอสเซมบลใี นการบวกเลข 2 จานวนคือ 8 กบั 10 ดงั น้ี MOV AX, 8 MOV BX, 10 ADD AX, BX 2.1.3 ภาษาระดับสูง (high level language) เป็นภาษาท่ีพัฒนาต่อเน่ืองจาก ภาษาระดับต่าที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซมบลีและภาษาเครื่อง ทั้งน้ีก็ เพราะการเขียนคาสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ ซ่ึงอ่านแล้วเข้าใจได้ง่ายกว่า ภาษาแอสเซมบลี เช่น ใช้คาว่า READ, WRITE, PRINT และ COMPUTE เป็นต้น ตัวอย่างของภาษา ระดับสูงได้แก่ ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล (COBOL) ภาษาเบสิก (BASIC) ภาษา ปาสคาล (PASCAL) และภาษาซี (C) เป็นตน้ 2.1.4 ภาษาระดับสูงมาก (very high level language) ภาษาระดับสูงมาก บางครั้งเรียกว่า Fourth Generation Languages (4GLs) เป็นภาษาท่ีมีลักษณะสาคัญ คือ ผู้เขียน โปรแกรมไม่ต้องบอกวิธีการทางานโดยละเอียด เพียงแต่ระบุคาสั่งให้ทางานส้ัน ๆ ให้ภาษาระดับสูง มากเข้าใจก็พอ ส่วนวิธีการคานวณหรือการทางานภาษาระดับสูงมากจะเป็นผู้จัดการเองท้ังส้ิน บางคร้ังเรียกว่า non-procedure language ตัวอย่างภาษาระดับสูงมาก ได้แก่ ภาษาเอสคิวแอล (Structured Query Language : SQL) ซ่ึงนิยมใช้กันในซอร์ฟแวร์ระบบจัดการฐานข้อมูล เช่น ORACLE, SQL Server และ MySQL เปน็ ตน้

6 2.2 ตัวแปลภาษาคอมพิวเตอร์ (Translator Program) คือโปรแกรมสาหรับแปลภาษาที่ พัฒนาข้ึนเป็นภาษาเคร่ืองหรือแปลงเป็นเลขฐานสอง จากการพฒั นาภาษาคอมพิวเตอร์ประเภทต่างๆ ตงั้ แตภ่ าษาสญั ลกั ษณ์ไปจนถึงภาษาระดับสูงมาก จะมีการพัฒนาโปรแกรมสาหรบั แปลภาษาควบคู่ไป ดว้ ย เพ่ือให้เครื่องสามารถประมวลผลคาสั่งของภาษาคอมพิวเตอร์ได้ ตัวแปลภาษาสามารถแบ่งตาม ลักษณะการแปลได้ดังนี้ 2.2.1 โปรแกรมแปลภาษาแบบแอสเซมเบลอร์ (Assembler) เป็นโปรแกรมท่ีใช้ แปลคาส่งั ในการเขียนโปรแกรมท่ีพัฒนาดว้ ยภาษาแอสเซมบลเี ป็นภาษาเครื่อง 2.2.2 โปรแกรมแปลภาษาแบบอินเตอร์พรีเทอร์ (Interpreter) ทาหน้าที่แปล โปรแกรมภาษาระดับสูงเป็นภาษาเครื่อง โดยจะแปลโปรแกรมทีละประโยค เม่ือพบข้อผิดพลาดจะ หยุดทางาน เพื่อให้ดาเนนิ การแกไ้ ขคาสงั่ ทผ่ี ิด จากนนั้ จึงจะเร่ิมประมวลผลคาสัง่ ใหม่ 2.2.3 โปรแกรมแปลภาษาแบบคอมไพเลอร์ (Compiler) แปลโปรแกรมภาษา ระดับสูงเช่นเดียวกับแบบอินเตอร์พรีเทอร์ แต่เป็นการแปลทั้งโปรแกรม ผลลัพธ์การแปลทั้ง โปรแกรมเรียกวา่ ออบเจ็คโคด (Object Code) หลังจากนัน้ จงึ นาโปรแกรมดงั กล่าวเช่ือมโยงเข้ากับ ระบบเพื่อเปลเปน็ ภาษาเครอื่ ง 3. อลั กอริทมึ การศึกษาอลั กอรทิ ึมให้เข้าใจจะทาให้ผเู้ รียนสามารถนาไปประยกุ ต์ในการเขียนโปรแกรม ได้อย่างเหมาะสมและมแี นวทางการแก้ไขปัญหา ซึ่งมรี ายละเอยี ดของอัลกอริทึมดังน้ี 3.1 ความหมายของอัลกอรทิ มึ คาว่า Algorithm มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในยุคศตวรรษที่ 9 อ ะ บู อั บ ดิ ล ห าหุ บิ น มู ซ า อั ล ค อ ว าริซ มี ย์ (Abu Abdillah Muhammad bin Musa al- Khawarizmi) คาว่า al-Khawarizmi ได้เพี้ยนเป็น Algorithm เม่ืองานเขียนของเขาได้รับการแปล เป็นภาษาละติน แล้วกลายเป็น Algorithm ซ่ึงหมายถึงกฎท่ีใช้ในการคิดคานวณเลขคณิต และได้ กลายมาเป็นคาวา่ ขั้นตอนวธิ ีการ ในช่วงศตวรรษท่ี 18 ในปัจจุบนั คานไี้ ดม้ ีความหมายที่กว้างข้ึน โดย หมายรวมถึงข้นั ตอนวิธกี ารในการแกป้ ัญหาต่างๆ ราชบัณฑิตยสถาน ได้บัญญัติคาว่า อัลกอริทึม เป็นภาษาไทยว่า ข้ันตอนวิธี ซึ่งมี ความหมายว่า เป็นลาดับของข้ันตอนการคานวณท่ีใช้แก้ปัญหา โดยการเปลี่ยนข้อมูลนาเข้าของ ปัญหา (input) ออกมาเป็นผลลพั ธ์ (output) ขนั้ ตอนวิธดี งั กล่าวนน้ั สามารถนามาเขียนเป็นโปรแกรม คอมพวิ เตอร์ได้ (ราชบัณฑติ ยสถาน พ.ศ. 2546, 2546: 5) อัลกอริทึม หรือ ขั้นตอนวิธี หมายถึง ขั้นตอนการประมวลผลหรือวิธีการทางานอย่าง ใดอย่างหน่ึง ซ่ึงสามารถแบ่งออกเป็นข้ันตอนย่อย ๆ มีการอธิบายลาดับขั้นตอนการประมวลผลใน ลักษณะข้อความเร่ิมตั้งแต่ต้นจนจบสิ้นการทางาน อัลกอริทึมช่วยให้นักเขียนโปรแกรมเห็นข้ันตอน

7 การเขียนโปรแกรมในการแก้ไขปัญหาท่ีชัดเจนข้ึน จากอัลกอริทึมสามารถแปลงเป็นภาษาทาง คอมพวิ เตอรเ์ พ่ือสง่ั ใหค้ อมพิวเตอรท์ างานตามทตี่ ้องการได้ ตวั อยา่ งที่ 1.1 อัลกอริทึมของการเดนิ ทางมาเรียนมีดังน้ี 1. หลังต่ืนนอน อาบนา้ ล้างหน้า แปรงฟัน 2. แต่งตวั มาเรยี น 3. กนิ อาหารเชา้ 4. เดนิ ทางมาเรยี น 5. เขา้ ห้องเรยี น เมื่อได้ปฏิบัติตามอัลกอริทึมดังกล่าวแล้วก็สามารถเดินทางมาเรียนหนังสือได้ แต่ อัลกอรทิ ึมทีจ่ ะเดนิ ทางมาเรยี นนน้ั มดี ้วยกันหลายวธิ ี ซึ่งไมจ่ าเป็นต้องเหมอื นกันก็ได้ นั่นหมายความว่า อัลกอริทึมที่ใช้ในการแก้ไขปัญหาทางคอมพิวเตอร์สามารถมีได้หลายวิธีขึ้นอยู่กับความเหมาะสมและ แนวทางท่คี ิดว่าดีท่ีสดุ ในแต่ละสถานการณ์ อัลกอรทิ มึ ที่ใชใ้ นการแก้ไขปญั หาทางคอมพวิ เตอรก์ ็ไมต่ า่ ง จากอัลกอริทึมของการเดินทางมาเรียน แต่จะต่างกนั ตรงรูปแบบของประโยคท่ีใช้ โดยอัลกอริทึมท่ีใช้ ในการแกไ้ ขปัญหาทางคอมพิวเตอรจ์ ะเขยี นเป็นประโยคภาษาอังกฤษท่ีไม่มีรปู แบบการเขยี นท่ชี ัดเจน 3.2 หลักการเขียนอัลกอรทิ มึ เพือ่ ให้ไดอ้ ัลกอริทมึ ที่สามารถนาไปใช้ได้อย่างมีประสิทธิภาพและเหมาะสม ดงั น้ันจึงมี หลกั การเขียนอัลกอริทึมพื้นฐานดังนี้ 3.2.1 ภาษาท่ีใชค้ วรอ่านเข้าใจงา่ ย ไมก่ ากวม 3.2.2 มีลาดบั ข้ันตอนการทางานกอ่ น-หลัง ที่ชดั เจน 3.2.3 ไดผ้ ลลพั ธ์ที่ถกู ต้องเม่ือใช้ในการแก้ไขปัญหา 3.2.4 สามารถประมวลผลดว้ ยเครื่องคอมพิวเตอรไ์ ด้ 3.2.5 อลั กอริทึมต้องมจี ุดสิน้ สดุ หลงั จากดาเนินงานตามระยะเวลาท่ีกาหนด 3.3 คณุ สมบตั กิ ารทางานพ้นื ฐานของระบบคอมพวิ เตอร์ ก่อนที่จะศึกษาการเขียนอัลกอริทึม ควรมีความเข้าใจถึงคุณสมบัติการทางานพ้ืนฐาน ของระบบคอมพิวเตอร์ก่อน เพ่ือนาไปใช้ในการเขียนอัลกอริทึมได้ถูกต้อง ซึ่งระบบคอมพิวเตอร์มี คณุ สมบตั ิการทางานพ้ืนฐาน 5 ด้านดงั น้ี 3.3.1 ด้านหน่วยความจา สาหรับการเขยี นโปรแกรมคอมพิวเตอรต์ ้องเกี่ยวขอ้ งกับการ ใช้งานพื้นที่ในหน่วยความจาของระบบคอมพิวเตอร์ ซ่ึงจะกาหนดเป็นสัญลักษณ์แทนพ้ืนที่ใน หนว่ ยความจาเรียกว่า ตวั แปร โดยตวั แปรนัน้ จะใช้อ้างอิงข้อมูลหรือพืน้ ท่ใี นหนว่ ยความจา เช่น

8 X= 10 ตวั แปร X จากประโยคขา้ งต้นเปน็ การกาหนดค่า 10 เก็บไว้ในพ้ืนทีใ่ นหนว่ ยความจาท่ีชื่อ X หรือ Total= Total + Sum จากประโยคข้างต้นเป็นการนาค่าในตัวแปร Sum ไปบวกเข้ากับค่าในตัวแปร Total แล้วนาผลลัพธ์ที่ได้เก็บไว้ท่ีตัวแปร Total ซึ่งค่าใหม่ท่ีได้จะเก็บทับค่าเดิมในตัวแปร Total คาสั่ง ประเภทน้จี ะใชใ้ นการสะสมคา่ หรอื เปลีย่ นแปลงคา่ ในตวั แปรเดมิ Tax = Salary * 0.07 จากประโยคข้างต้นเป็นการนาค่าที่เก็บไว้ในตัวแปร Salary คูณกับ 0.07 แล้วนา ผลลพั ธท์ ไ่ี ดเ้ กบ็ ไว้ทีต่ วั แปร Tax 3.3.2 ด้านการคานวณ ระบบคอมพิวเตอร์สามารถทาการบวก ลบ คูณ หาร โดยจะ พิจารณาเลือกประมวลผลตามลาดับความสาคัญของเคร่ืองหมายการคานวณ ท่ีแสดงในนิพจน์ เครื่องหมายการคานวณและลาดับความสาคญั ของการทางานดังแสดงตามตารางที่ 1.1 ตารางที่ 1.1 สัญลกั ษณ์ ลาดับความสาคัญของการทางานของเคร่อื งหมายการคานวณ เครือ่ งหมายการคานวณ การทางาน ลาดับความสาคัญ วงเล็บ ของการทางาน () ยกกาลงั ** หรอื ˆ หาร 1 คูณ 2 / ลบ 3 * บวก 3 - 4 + 4 โดยจะดาเนินการในวงเล็บก่อน ต่อด้วยยกกาลัง หรือกรณีที่ลาดับความสาคัญเท่ากัน เช่น การหาร และการคณู จะดาเนนิ การจากซ้ายไปขวา เป็นตน้ 3.3.3 ด้านการเปรียบเทียบเชิงตรรกะ ระบบคอมพิวเตอร์มีความสามารถในการ ประมวลผลเชิงเปรียบเทียบ โดยพจิ ารณาเงอื่ นไขตามหลักการทางพีชคณิต เพ่ือกาหนดทางเลอื กการ ทางาน หรือตัดสินใจวา่ หากเง่ือนไขเป็นจริงจะให้ดาเนินการคาส่ังใด กรณีเป็นเท็จให้ดาเนินการคาส่ัง ใด ดังน้ันในการเขียนโปรแกรมคอมพิวเตอร์จะต้องศึกษาวิธีใช้สัญลักษณ์ในการเขียนประโยคคาส่ัง แบบเงื่อนไขของแต่ละภาษาคอมพิวเตอร์ที่กาหนดให้เลือกใช้ สัญลักษณ์พีชคณิตในการเขียนประโยค คาสั่งเง่ือนไขดังนี้ = (เท่ากับ), > (มากกว่า), < (น้อยกว่า), <= (น้อยกว่าหรือเท่ากับ), >= (มากกว่า หรอื เท่ากับ), <> (ไมเ่ ท่ากับ) เป็นตวั อยา่ ง 1.2 การนาสัญลักษณพ์ ีชคณติ ไปใชง้ าน

9 ตัวอยา่ ง 1.2 การเขียนนิพจน์ Sex= Female คาส่ังเงื่อนไข I F (Sex = Male) Discount = Total* 0.05 Else Discount = Total* 0.02 End I F จากนิพจน์ข้างต้น กาหนดให้ตัวแปร Sex มีค่าเท่ากับ Female มีประโยคคาส่ัง เงือ่ นไขคือ Sex=Male (ถามวา่ เป็นผู้ชายหรอื ไม่) และประโยคสาหรับสั่งให้ทางานมี 2 กรณี คือถ้า เป็นจริงให้ทาประโยคคาส่ัง Discount = Total*0.05 (มีส่วนลดสาหรับผู้ชาย 5%) และถ้าเป็นเท็จ ให้ทาประโยคคาสงั่ Discount = Total*0.02 (มีส่วนลดสาหรับผ้หู ญิง 2%) ส่วนสญั ลักษณพ์ ีชคณิตท่ีใช้เชอื่ มประโยคคาสงั่ เงื่อนไข จะตอ้ งใช้สัญลักษณ์เพิม่ เติม เพื่อให้ได้ข้อสรุปการทางานว่าเป็นจริงหรือเป็นเท็จ สมมุติให้ X และ Y เป็นผลลัพธ์ของการ เปรียบเทียบประโยคคาสั่งเงื่อนไข และต้องการหาข้อสรุปของการทางาน โดยจะนาหลักการทาง พชี คณิตแบบบลู นี มาพิจารณาดงั ตารางท่ี 1.2 ตารางที่ 1.2 ผลลพั ธ์ของการเปรียบเทียบประโยคคาสง่ั เงื่อนไขตามหลักการทางพชี คณติ แบบบลู นี X Y X AND Y X OR Y NOT X TT T TF TF F TF FT F TT FF F FT ตวั อย่าง 1.3 การเขยี นนิพจน์ทใ่ี ชเ้ ชื่อมประโยคคาสงั่ เงื่อนไข Sex= Female, Total= 500 คาเชือ่ มประโยค I F (Sex = Male) AND (Total > = 1000) คาสัง่ เง่ือนไข Discount = Total* 0.05 Else คาสงั่ เงอ่ื นไข Discount = Total* 0.02 End I F NetTotal= Total-Discount Write NetTotal

10 จากนิพจน์ข้างต้น กาหนดให้ตัวแปร Sex มีค่าเท่ากับ Female และตัวแปร Total มีค่าเท่ากับ 500 มีประโยคคาสั่งเงื่อนไขคือ Sex=Male (ถามว่าเป็นผู้ชายหรือไม่) และ Total >=1000 (ค่าที่เก็บไว้ในตัวแปร total มีค่ามากกว่าหรือเท่ากับ 1000 หรือไม่) โดยใช้ “AND” เชื่อม ท้ัง 2 ประโยคคาส่ังเง่อื นไข ส่วนประโยคสาหรับสัง่ ให้ทางานมี 2 กรณี คอื ถ้าเป็นจริงท้งั 2 เงือ่ นไขให้ ทาประโยคคาส่ัง Discount = Total*0.05 (มีส่วนลดให้ 5%) และถ้าเป็นเท็จเง่ือนไขใดเง่ือนไขหนึ่ง ให้ทาประโยคคาสั่ง Discount = Total*0.02 (มีส่วนลดให้ 2%) แล้วเก็บค่าส่วนลดไว้ในตัวแปร Discount จากนั้นนาส่วดลดไปคานวณหาค่าให้ตัวแปร NetTotal น้ันคือ Total-Discount แล้ว แสดงค่าตวั แปร NetTotal ดว้ ยคาสงั่ Write 3.3.4 ด้านการแสดงคา่ ขอ้ มลู ระบบคอมพวิ เตอร์จะอ่านค่าขอ้ มลู จากตัวแปรหรือพน้ื ที่ ในหน่วยความจาที่ได้เขียนคาส่ังนาค่าข้อมูลหรือค่าข้อมูลที่ได้จากการคานวณนั้นไปเก็บไว้ มาแสดง ผลลพั ธ์ในรปู แบบหรือตาแหนง่ ท่ีตอ้ งการ 3.3.5 ด้านการจัดลาดับการทางาน ระบบคอมพิวเตอร์มีการทางานที่ละคาส่ัง ตามลาดับจากบนลงลา่ ง (1 บรรทัด คอื 1 คาสง่ั ) โดยจะทางานตามคาส่ังท่ีอยู่บรรทัดบนสุดกอ่ น แล้ว ทาคาสงั่ ในบรรทัดถัดไป จนถึงคาส่ังบรรทัดสดุ ท้าย 3.4 ลกั ษณะการเขียนอัลกอริทึม การเขียนอัลกอริทึมสามารถเขียนออกมาในรูปแบบของรหัสเทียม (Pseudo Code) หรือผังงาน (Flow Chart) โดยผังงานจะแสดงขั้นตอนการทางานที่ใช้สัญลักษณ์รูปภาพแทน ความหมายต่างๆ และใช้ลูกศรกาหนดทิศทางการดาเนนิ งาน ส่วนรหัสเทียมคอื การนาภาษาธรรมชาติ มาใช้ร่วมกับภาษาโปรแกรมชั้นสูง ส่วนมาตรฐานของไวยากรณ์นั้นมีรูปแบบคาส่ังท่ีไม่ชัดเจน ทาให้ รูปแบบการเขียนรหัสเทียมแตกต่างกันขึ้นอยู่กับผู้เขียน ในการใช้งานจริงๆ รหัสเทียมมักถูกนามาใช้ เป็นตัวแทนของอัลกอริทึม เพราะเขียนง่ายและเข้าใจมากกว่าผังงาน ซ่ึงหลักวิธีการเขียนรหัสเทียม นัน้ จะใช้หลักการเดียวกับหลกั การเขยี นอัลกอรทิ ึมท่ีได้กลา่ วไว้กอ่ นหนา้ 3.4.1 การเขียนอัลกอริทึมในรูปแบบรหัสเทียม อัลกอริทึมในรูปแบบรหัสเทียม สามารถนาปฏิบัติการพื้นฐานของระบบคอมพิวเตอร์มาใช้ในการเขียนได้ ซึ่งมีรายละเอียดของ ปฏิบตั กิ ารพื้นฐานดงั นี้ 3.4.1.1 การรับข้อมูล ระบบคอมพิวเตอร์สามารถรับข้อมูลจากอุปกรณ์อินพุต ข้อมูลเช่น เม้าท์ คีย์บอร์ด และอ่านจากไฟล์ข้อมูล เป็นต้น สามารถใช้คาต่างๆ เช่น read หรือ get ในการเขียนรหัสเทียม ซึ่งจะใช้ read เม่ือต้องการอ่านรายการจากไฟล์หรือฐานข้อมูล ส่วน get จะ ใชร้ ับข้อมูลจากคียบ์ อร์ด เช่น

11 Read employeeName, Address จากประโยคข้างตน้ เป็นการอ่านข้อมลู employeeName และ Address Get N, Discount ,Sex จากประโยคข้างต้นเปน็ การรบั ขอ้ มูลจากอปุ กรณ์อินพุตมาเก็บไวใ้ นตวั แปร N, Discount และ Sex Read Salary จากประโยคขา้ งต้นเป็นการอ่านขอ้ มูล Salary 3.4.1.2 การแสดงผลลัพธ์ ในการเขียนรหัสเทียมท่ีต้องการแสดงผลลัพธ์ ซึ่ง ระบบคอมพิวเตอร์มีการแสดงผลลัพธ์หลายรูปแบบ ซึ่งคากริยาที่ใช้ในการเขียนคาสั่งในรหัสเทียมมี ดังน้ี print, write, output, display โดย print ใช้สาหรับแสดงผลลัพธ์ออกทางเครื่องพิมพ์ write ใช้สาหรบั แสดงผลลพั ธ์เมื่อต้องการจัดเก็บลงในไฟล์ข้อมูล ฐานข้อมูล หรอื ตัวแปร ส่วน output หรือ display ใชส้ าหรับแสดงผลลัพธ์ออกทางหนา้ จอ เชน่ Print “Result is 88” เป็นประโยคสงั่ ให้แสดงข้อความ “Result is 88” ออกทางเคร่ืองพิมพ์ Write Student record to student file เป็นประโยคสง่ั ให้จัดเก็บข้อมลู นักเรียนลงในไฟล์ student Output “My name is Tom” เป็นประโยคสงั่ ให้แสดงข้อความ “My name is Tom” ออกทางหน้าจอ Display “My name is Jone” เป็นประโยคสั่งให้แสดงข้อความ “My name is Jone” ออกทางหน้าจอ 3.4.1.3 การคานวณ โปรแกรมคอมพิวเตอร์ส่วนมากต้องการให้คานวณสูตร ทางคณติ ศาสตร์ ซงึ่ สัญลกั ษณท์ ่ใี ช้คานวณมดี ังนี้ + ใชแ้ ทนการบวก (Add) - ใชแ้ ทนการลบ (Subtract) * ใช้แทนการคูณ (Multiply) / ใช้แทนการหาร (Divide)

12 () ใช้แทนเครอ่ื งหมายวงเล็บ (Parenthesis) สาหรับคากริยาที่ใช้แทนการคานวณสามารถใช้ compute หรือ calculate แตส่ ามารถเลีย่ งโดยการเขียนเปน็ สตู รคานวณทางคณติ ศาสตรไ์ ด้เชน่ กนั เชน่ Compute taxTotal = NetTotal* 0.07 จากประโยคขา้ งต้นเปน็ คาส่งั ให้นาค่าในตวั แปร NetTotal คูณกบั 0.07 แล้วนา ผลลพั ธไ์ ปเกบ็ ไวใ้ นตัวแปร taxTotal และสามารถเขียนเป็นอีกรปู แบบหน่ึงได้ เชน่ taxTotal = NetTotal* 0.07 ถ้าสูตรการคานวณค่อนข้างซับซ้อนและต้องการให้ผลการคานวณถูกต้องให้ใช้ เครอื่ งหมายวงเลบ็ ช่วยจัดลาดบั การคานวณ 3.4.1.4 การกาหนดค่าตัวแปร ในการเขียนรหัสเทียมสามารถกาหนดตัว แปรได้หลายรูปแบบ ไม่ว่าจะเป็นการใช้คากริยา initialize หรือ set ในการกาหนดค่าเร่ิมต้นให้กับ ตวั แปร และยงั สามารถใชเ้ คร่อื งหมาย = เพอื่ กาหนดค่าใหก้ ับตวั แปร ตัวอย่างเชน่ Set NetTotal to 0 จากประโยคข้างต้นเปน็ การกาหนดเริ่มต้นใหก้ ับตัวแปร NetTotal มีค่าเท่ากับ 0 I nitialize PriceTotal to 0 จากประโยคขา้ งตน้ เปน็ การกาหนดเรม่ิ ตน้ ใหก้ บั ตัวแปร PriceTotal มคี า่ เทา่ กบั 0 N= 0 จากประโยคข้างต้นเปน็ การกาหนดเร่ิมตน้ ใหก้ บั ตัวแปร N มคี ่าเทา่ กับ 0 K= 1 จากประโยคขา้ งต้นเปน็ การกาหนดเรมิ่ ตน้ ให้กบั ตัวแปร K มีค่าเท่ากบั 0 3.4.1.5 การกาหนดเงื่อนไข กรณีโปรแกรมที่สร้างขึ้นต้องการเปรียบเทียบ หรอื กาหนดเงอื่ นไขเพ่อื เลอื กทางเลือกใดทางเลอื กหน่ึงภายในรหัสเทยี มจะใช้คาส่ังเฉพาะคือ if (เงอื่ นไข) then ดำเนนิ กำรกรณจี รงิ else ดำเนนิ กำรกรณีเทจ็ end if โดยให้ระบุเง่ือนไขในการเปรียบเทียบหลัง if เม่ือมีการเปรียบเทียบเงื่อนไข แล้ว หากผลของเงื่อนไขเป็นจริงจะดาเนินการคาสั่งที่อยู่หลัง then และผลของเงื่อนไขเป็นเท็จจะ ดาเนนิ การคาส่งั ทีอ่ ยหู่ ลัง else โดยขอบเขตของประโยคการตรวจสอบเง่ือนไขจะลงท้ายดว้ ย end if

13 เสมอ เช่น ต้องการนับจานวนของผู้ชายและผู้หญิง โดยจะต้องตรวจสอบเงอื่ นไขก่อนวา่ คนท่ตี ้องการ นับเป็นเพศชายหรือไม่ ถ้าใช่ให้ดาเนินการหลังคาส่ัง then โดยเพ่ิมค่า 1 ให้กับตัวแปร manCount ถ้าไม่ใช้ใหท้ าคาสง่ั หลงั else คอื เพ่ิมค่า 1 ใหก้ ับตัวแปร femaleCount สามารถเขยี นเป็นรหัสเทียม ไดด้ ังนี้ ประโยคเง่ือนไข ดาเนนิ การกรณเี ปน็ จรงิ I f sex is man then Add 1 to manCount Else Add 1 to femaleCount End if ดาเนินการกรณเี ปน็ เท็จ 3.4.1.6 การใช้ในลักษณะวนซ้า คอื การประมวลผลข้ันตอนการทางานซา้ ๆ สามารถใช้คาเฉพาะคือ Dowhile ……….. Enddo เช่น ต้องการอ่านรายการข้อมูลพนักงานในไฟล์ เพื่อพิมพร์ ายงาน จนกระทง้ั จบไฟล์ สามารถเขียนเป็นรหัสเทยี มได้ดังนี้ ดาเนินการซ้ากรณี ประโยคเงื่อนไขในการทางาน เปน็ จรงิ Dowhile not end of file Read employee record Print emp_fname,emp_lname,address to report Enddo ตวั อยา่ ง 1.4 อลั กอริทึมของการคานวณเกรด โดยใช้เง่อื นไขในการคานวณดังน้ี คะแนน F เกรด นอ้ ยกวา่ 50 D ระหว่าง 50 ถงึ 54 D+ ระหว่าง 55 ถึง 59 C ระหว่าง 60 ถงึ 64 C+ ระหว่าง 65 ถงึ 69 B ระหวา่ ง 70 ถึง 74 B+ ระหว่าง 75 ถงึ 79 A 80 ขึน้ ไป

14 ตามตารางเง่ือนไขข้างต้นนามาพิจารณาเขียนอัลกอริทึมของการคานวณเกรด โดยมีการ ทางานตามลาดับ ยกเวน้ อัลกอริทึมในบางข้ออาจมีการกาหนดใหไ้ ปทางานที่ข้ออนื่ ซึ่งสามารถข้ามไป ทางานทีข่ อ้ น้นั ได้เลย ดังน้ี ถ้า score มีคา่ น้อยกว่า get score of student ถา้ score มคี ่าน้อยกวา่ 50 55 ให้แสดง grade is D if score < 50 then ให้แสดง grade is F ถา้ score มีค่านอ้ ยกว่า write “grade is F” ถา้ score มคี า่ น้อยกวา่ 60 65 ใหแ้ สดง grade is C else if score < 55 then ให้แสดง grade is D+ ถา้ score มคี า่ นอ้ ยกว่า write “grad is D” ถา้ score มคี ่านอ้ ยกวา่ 70 75 ใหแ้ สดง grade is B else if score < 60 then ใหแ้ สดง grade is C+ ถ้า score มีคา่ ไม่ตรง write “grade is D+” ถา้ score มีค่าน้อยกว่า 80 เงื่อนไขใดเลยใหแ้ สดง else if score < 65 then ให้แสดง grade is B+ grade is A write “grade is C” else if score < 70 then write “grade is C+” else if score < 75 then write “grade is B” else if score < 80 then write “grade is B+” else write “grade is A” end if 3.4.2 การเขียนอัลกอริทึมในรูปแบบผังงาน อัลกอริทึมนอกจากจะเขียนในรูปแบบของ รหัสเทียมแล้ว ยังสามารถเขียนในรูปแบบผังงานท่ีใช้สัญลักษณ์รูปภาพแสดงข้ันตอนการทางาน ประเภทของผังงานสามารถจาแนกออกได้ 2 ประเภทดังน้ี 3.4.2.1 ผังงานระบบ (system flowchart) หมายถึง ผังงานท่ีแสดงถึงข้ันตอน วิธีการทางานของระบบงานใดระบบหน่ึง ซึ่งในผังงานระบบจะแสดงให้เห็นถึงส่ือที่ใช้รบั ข้อมูล บนั ทึก ข้อมูล วิธกี ารประมวลผล ข้ันตอนการทางานและความสัมพนั ธข์ องส่วนต่าง ๆ ในระบบงานอยา่ งกวา้ ง ๆ เพ่อื ให้เห็นภาพรวมของระบบงานใดระบบงานหน่งึ เช่น รายละเอียดการสง่ั ซอื ้ สร้ างใบกากบั รายละเอียด ข้อมลู ลกู ค้า สนิ ค้า ใบกากบั สนิ ค้า ข้อมลู สนิ ค้า รายงานใบกากบั สนิ ค้า ภาพที่ 1.1 ผังงานระบบการสร้างใบกากับสินค้า

15 จากภาพระบบการสร้างใบกากับสินค้า ประกอบด้วยข้อมูลท่ีนาเข้าคือ รายละเอียด การสั่งซ้ือผ่านหน้าจอ ไฟล์ข้อมูลลูกค้าและสินค้า ส่วนข้อมูลผลลัพธ์จะแสดงรายละเอยดใบกากับ สินคา้ ทางหน้าจอ และออกรายงานใบกากบั สินค้าทางเครื่องพิมพ์ 3.4.2.2 ผังงานโปรแกรม (program flowchart) หมายถึงผังงานที่แสดงข้ันตอน วิธีการทางานของโปรแกรมที่ต้องการเขียน ภายในผังงานโปรแกรมจะแสดงให้เห็นข้ันตอน วิธีการ ทางานของโปรแกรมอย่างละเอียด เพื่อให้คอมพิวเตอร์สามารถทางานตามที่เขียนไว้ในผังงาน โปรแกรมได้อย่างถูกต้อง โดยเราสามารถนาข้ันตอนวิธีการทางานของโปรแกรมในข้ันการวิเคราะห์ งาน มาเขียนเปน็ ผังงานโปรแกรมได้ทันที จากนั้นก็สามารถนาผังงานโปรแกรมไปเขียนโปรแกรมด้วย ภาษาโปรแกรมคอมพิวเตอรท์ ีถ่ นัด ตัวอย่างภาพท่ี 1.2 แสดงผังงานโปรแกรม Start Read a,b,c Sum=0 Sum=a + b + c Write sum Stop ภาพที่ 1.2 ผังงานโปรแกรมสาหรับหาผลรวมของตัวแปร a, b และ c แลว้ เก็บไวใ้ นตวั แปร sum จากนัน้ นาคา่ จากตัวแปร sum แสดงออกทางหนา้ จอ สัญลักษณ์มาตรฐานที่ใช้เขียนผังงานโปรแกรม โดยสถาบนั มาตรฐานแห่งชาติของ สหรัฐอเมริกา (American National Standard Institute) และองค์กรระหว่างประเทศว่าด้วยการ มาตรฐาน (International Organization for Standardization) ได้ร่วมกันกาหนดสัญลักษณ์ มาตรฐานท่ีใช้เขียนผังงานโปรแกรม โดยสัญลักษณ์ที่นิยมนามาใช้ในเขียนผังงานโปรแกรมมี รายละเอียดตามตารางท่ี 1.3

16 ตารางที่ 1.3 สญั ลักษณม์ าตรฐานในการเขยี นผังงานโปรแกรม สญั ลกั ษณ์/ชือ่ เรยี ก หน้าที่ การใช้งาน แสดงจุดเรมิ่ ตน้ หรอื สิ้นสดุ Terminal/Interrupt ของผงั งาน ซงึ่ ผังงานจะต้อง Start (เริ่มต้น/ส้นิ สดุ ) มจี ดุ เรม่ิ ต้นและสนิ้ สุดเพยี ง จุดเดยี วเทา่ นนั้ Stop แสดงจุดเร่มิ ต้นหรือสิ้นสดุ ของ ผงั งานโปรแกรม แสดงการประมวลผล การ X=1 กาหนดคา่ และการคานวณ Assignment(การ เป็นการกาหนดค่าให้กับตัวแปร กาหนดค่า) x มคี ่าเป็น 1 Computation (การ คานวณ) Process (การประมวลผล) Input (การนาข้อมูลเขา้ ) การรบั ข้อมลู เขา้ หรือการ Read N Output (การนาข้อมลู แสดงข้อมลู ที่ไม่ได้กาหนด ออก) อปุ กรณ์ในการรับค่า รบั ขอ้ มูลมาเก็บไวท้ ตี่ ัวแปร N การรบั ข้อมลู เขา้ ทาง Read X,Y แป้นพมิ พ์ (keyboard) หรือ Input (การนาข้อมลู เข้า) ด้วยตนเอง รับข้อมูลมาเก็บไว้ทตี่ วั แปร X,Y แสดงคา่ ข้อมูลออกทาง “ผลรวมเป็ น ” จอภาพ sum Display (การแสดงคา่ ขอ้ มลู ออกทางจอภาพ) แสดงคาวา่ “ผลรวมเปน็ ” ตาม ดว้ ยคา่ ที่เก็บในตัวแปร sum ออกทางจอภาพ

17 สัญลักษณ์/ช่อื เรยี ก หน้าที่ การใช้งาน แสดงคา่ ข้อมลู ออกทาง “ผลรวมเป็ น ” sum เครอ่ื งพิมพ์หรือในรปู เอกสาร Document(การแสดงคา่ แสดงคาว่า “ผลรวมเปน็ ” ตาม ขอ้ มูลออกในรปู เอกสาร ด้วยคา่ ทีเ่ กบ็ ในตัวแปร sum หรอื ทางเครอื่ งพมิ พ์) ออกในรปู เอกสาร ใชส้ าหรับการตดั สนิ ใจเลอื ก N Y ทาอยา่ งใดอย่างหน่ึง หรือ Sex=’M’ การเปรียบเทยี บ Decision(การตัดสนิ ใจ พจิ ารณาค่าท่ีเก็บในตัวแปร Sex หรอื การเปรียบเทียบ) ถ้ามีคา่ เปน็ M ใหท้ าขน้ั ตอนใน ทิศทางด้าน Y และถ้าค่าในตัว แปร Sex ไม่ เป็น M ให้ทาขั้นตอนท่ีอย่ดู ้าน N Flowchart Connector จดุ เชือ่ มต่อผังงานในหน้า 1 (จุดเชอ่ื มต่อผงั งาน) เดยี วกนั หรือเชือ่ มต่อ กรณี 1 ขั้นตอนการทางาน 2 Flowchart Off Page ขน้ั ตอนเช่ือมต่อกันเพื่อทา ผงั งานด้านซา้ ยมือเขยี นยังไม่ Connector ขน้ั ตอนเดียวกนั เสรจ็ แต่หน้ากระดาษไม่พอเขียน จดุ เช่อื มต่อผงั งานที่อยคู่ นละ ใหใ้ ชส้ ญั ลกั ษณจ์ ดุ เชื่อมต่อ หน้า กาหนดชือ่ ใหจ้ ดุ เช่ือมคือ 1 จากนั้นเร่มิ ต้นเขียนผังงานต่อ ทางด้านขวามือ โดยให้เริม่ ตน้ ดว้ ยจุดเช่อื มต่อทชี่ อื่ 1 แล้วตาม ดว้ ยขน้ั ตอนการทางานถดั ไป 1 1 ผังงานทีเ่ ขยี นในหน้าแรกซ่ึง เขยี นยงั ไม่เสรจ็ ใหใ้ ช้สัญลกั ษณ์ จดุ เช่ือมต่อคนละหน้า แล้ว กาหนดชอ่ื ให้จุดเช่ือมคือ 1

18 หน้าที่ การใชง้ าน สัญลักษณ์/ช่ือเรียก จากนนั้ เร่ิมตน้ เขียนผงั งานใน หน้าใหม่ โดยใหเ้ รม่ิ ต้นดว้ ยจุด เช่ือมต่อท่ีชือ่ 1 แลว้ ตามดว้ ย ขัน้ ตอนการทางานถัดไป Arrow(ลูกศร) ลูกศรแสดงทิศทางการไหล Start ของผงั งาน Read N แสดงทิศทางการไหลของ ขั้นตอนการทางานในผังงานจาก บนลงล่าง การเรียกใชโ้ ปรแกรมย่อย Start Call Procedure (การ Read N เรียนใชโ้ ปรแกรมยอ่ ย) Call Procedure Sum แหล่งเกบ็ ข้อมลู หรอื หน่วยความจาสารอง จากผงั งานเป็นการเรยี นใช้ โปรแกรมยอ่ ยท่ชี ื่อ Sum Read student data File or Database (ไฟล์ Student หรอื ฐานข้อมลู ) file นิยมนาไปใช้ในการเขยี นผงั งาน แบบผงั งานระบบ จากรูปเปน็

สญั ลกั ษณ์/ชอื่ เรียก 19 หนา้ ท่ี การใชง้ าน การอา่ นข้อมูลของนักศกึ ษาเพื่อ นาไปเก็บไว้ที่ไฟล์ข้อมูล นกั ศึกษา (student file) จากสัญลักษณ์ท่ีแสดงในตารางข้างต้น จาเป็นต้องเลือกใช้ให้เหมาะสมตามขั้นตอน หรือวิธีการประมวลผลที่วิเคราะห์งานไว้แล้วเพื่อนาไปเขียนเป็นผังงาน โดยมีการพิจารณาลาดับ ก่อนหลังของการทางานเพื่อจัดลาดับภาพของผังงานให้เหมาะสม ซึ่งการเขียนผังงานมีลาดับในการ เขียนดังนี้ 1) การกาหนดคา่ เร่ิมตน้ ตัวแปรต่างๆ ทใ่ี ชใ้ นผังงานจะตอ้ งมีการกาหนดคา่ เรม่ิ ต้น 2) การรับข้อมูลเข้า ให้พิจารณาข้อมูลที่จะรับเข้ามาประมวลผลในโปรแกรม แล้ว นาคา่ ดงั กลา่ วไปเก็บไวใ้ นตวั แปรท่ีไดก้ าหนดเอาไว้ 3) การประมวลผล เป็นการประมวลผลหรือคานวณต่างๆ ท่ีต้องทาตามลาดับ ขน้ั ตอนการทางานของโปรแกรมท่ไี ด้วเิ คราะหไ์ ว้แล้ว 4) การแสดงผลลัพธ์ หลังจากที่ทาการประมวลผลหรือคานวณต่างๆ แล้วต้องการ แสดงผลลัพธท์ ไี่ ด้ ซ่งึ สามารถแสดงทางจอภาพหรือทางเคร่อื งพิมพ(์ เอกสาร) ข้อสงั เกตเพิม่ เติม 1) ผังงานใดๆ จะมีจดุ เร่มิ ตน้ และส้นิ สดุ เพียงแห่งเดยี ว 2) ทศิ ทางลาดบั ขั้นตอนการทางานเขียนจากซ้ายไปขวา หรือจากบนลงล่าง 3) ทุกสัญลักษณ์ท่ีใช้จะมีทิศทางเข้าและออกเพียง 1 แห่งเท่าน้ัน ยกเว้นจุดเริ่มต้น จดุ สนิ้ สดุ จดุ เช่อื มตอ่ และการตัดสนิ ใจ 4) หลีกเล่ียงการเขียนเส้นโยงไปมาในลักษณะตัดกัน กรณีจาเป็นต้องโยงเส้นตัดกัน ใหใ้ ชจ้ ุดเชือ่ มตอ่ แทน 5) ทุกสญั ลักษณ์ที่ใช้จะต้องมลี กู ศรกากบั ทศิ ทางการไหลการทางาน 6) ใชค้ าอธิบายการทางานทสี่ นั้ และเข้าใจง่าย ควรเขียนใหอ้ ยู่ในสัญลักษณ์ท่ีเลอื กใช้ กรณที ีต่ อ้ งการอธิบายเพ่ิมเตมิ ใหเ้ ขียนไว้บนสัญลักษณด์ ้านขวา 7) ผังงานทีเ่ ขียนจะต้องสะอาด เปน็ ระเบยี บเรียบรอ้ ย ตอ่ ไปน้ีเป็นตัวอย่างการเขียนผังงาน เพ่อื ให้เข้าใจและสามารถเขียนผังงานได้อยา่ งมี ประสทิ ธิภาพ

20 ตวั อย่าง 1.5 ผงั งานแสดงการหาผลรวมของตวั เลข a, b ซึง่ เป็นผงั งานแบบลาดับ Start เขยี นเปน็ รหัสเทียมดงั น้ี Read a, b St ar t Sum=0 Read a,b Sum=a + b Sum= 0 Sum= a+ b Write sum St op Write sum Stop ภาพท่ี 1.3 ผังงานโปรแกรมแสดงการหาผลรวมตัวเลข 2 จานวน จากผังงานข้างตน้ สามารถอธิบายขน้ั ตอนการทางานได้ดงั น้ี 1.เรม่ิ ตน้ 2.รบั คา่ ตัวเลข 2 คา่ มาเก็บไวท้ ่ีตัวแปร a และ b 3.กาหนดค่าเร่ิมตน้ ใหก้ ับตัวแปร sum 4.คานวณผลรวมของตวั แปร a และ b แลว้ นามาเกบ็ ไว้ทตี่ วั แปร sum 5.แสดงผลลพั ธ์จากการคานวณ ซึ่งเกบ็ ไว้ทตี่ ัวแปร sum ออกทางจอภาพ 6.จบการทางาน

21 ตัวอยา่ ง 1.6 ผงั งานแสดงแบบให้เลือกทาหรอื เปรียบเทยี บทเี่ ก่ียวกับการวัดผลการเรียนของนักเรยี น เขยี นเป็นรหัสเทยี มดังน้ี Start St ar t Read Score Read Score I f Score> = 60 then NY Write “สอบผำ่ น” Score>=60 Else Write “สอบไมผ่ ำ่ น” End I F St op Write “สอบไมผ่ า่ น” Write “สอบผา่ น” Stop ภาพที่ 1.4 ผงั งานโปรแกรมแสดงการวัดผลการเรยี นของนักเรียน จากผงั งานข้างตน้ สามารถอธิบายขั้นตอนการทางานได้ดังนี้ 1. เริม่ ต้น 2. รบั คะแนนของนกั เรียนมาเก็บไว้ท่ีตัวแปร Score 3. ถ้า Score >= 60 แล้ว a. พมิ พข์ ้อความว่า “สอบผ่าน” มิฉะน้ันแลว้ b. พิมพ์ข้อความว่า “สอบไมผ่ ่าน” 4. จบการทางาน

22 ตวั อยา่ ง 1.7 ผังงานแสดงแบบวนรอบการทางานหรอื ทาซ้าแบบทาในขณะท่ี (Do While) Start เขยี นเป็นรหัสเทยี มดังนี้ Read N St ar t Read N N >=0 N Do While N> = 0 Write N N= N-1 End Do St op Y Stop Write N N=N-1 ภาพท่ี 1.5 ผังงานโปรแกรมใหแ้ สดงคา่ ทีเ่ ก็บในตวั แปร N จากผังงานแสดงตัวเลขท่ีเกบ็ ในตัวแปร N ออกทางอปุ กรณ์ท่ีไม่ได้ระบุ โดยให้แสดงตวั เลขไป เรือ่ ยๆ จนกว่าคา่ ของ N จะนอ้ ยกว่า 0 สามารถอธบิ ายขัน้ ตอนการทางานไดด้ ังนี้ 1. เริ่มต้น 2. รับคา่ ตวั เลขมาเก็บไวท้ ต่ี วั แปร N 3. ในขณะท่ีคา่ ท่เี ก็บในตวั แปร N มากกวา่ หรอื เท่ากบั 0 แล้วทา a. แสดงคา่ N b. N=N-1 (ทาการลดค่าของ N ลง 1 แล้วเก็บคา่ ไวท้ ี่ตัวแปร N เหมอื นเดมิ ) 4. จบการทางาน ในการเขียนผังงานแบบวนรอบการทางานสามารถใช้คาว่า ในขณะท่ี แล้วตามด้วยเงื่อนไข ในการตัดสินใจว่าจะทาหรือไม่ แล้วตามด้วยคาว่า แล้วทำ จากน้ันเป็นข้ันตอนการทางาน สามารถ เรียกการทาซ้าหรือวนรอบแบบน้ีว่า Do While นอกจากน้ียังสามารถเขียนรหัสเทียมแบบวนรอบ อีกแบบไดค้ ือ Do Until (ทาจนกระทงั่ ) ดังตัวอย่าง 1.8

23 ตวั อย่าง 1.8 ผังงานแสดงการวนรอบการทางานหรอื ทาซ้าแบบจนกระทง้ั วา่ (Do Until) Start เขยี นเปน็ รหสั เทียมดงั นี้ Read N Sum=0 St ar t Read N Sum=Sum + N Sum = 0 Do Sum= Sum+ N N= N-1 Until N< 1 Write “Summary is” Sum St op N=N-1 N Y N <1 Write “Summary is” Sum Stop ภาพที่ 1.6 ผังงานโปรแกรมแสดงผลรวมของตวั เลขตัง้ แต่ 1 ถงึ N จากผงั งานแสดงผลรวมตวั เลขต้งั แต่ 1 ถึงตัวเลขทีเ่ กบ็ ไวใ้ นตวั แปร N สามารถอธบิ ายได้ ดงั นี้ 1. เร่ิมตน้ 2. รับค่าตัวเลขมาเก็บไวท้ ่ตี วั แปร N กาหนดค่าเรมิ่ ตน้ ให้ตวั แปร Sum เท่ากบั 0 3. ทาจนกระทง้ั ค่าท่เี ก็บในตวั แปร N มคี ่าน้อยกวา่ 1 3.1 บวกค่าที่เก็บในตัวแปร N กบั คา่ ในตัวแปร Sum แล้วเกบ็ ไวท้ ่ีตวั แปร Sum 3.2 N=N-1 (ทาการลดคา่ ของ N ลง 1 แล้วเกบ็ ค่าไวท้ ่ตี วั แปร N) 4 แสดงขอ้ ความ “Summary is” และคา่ ในตัวแปร Sum 5 จบการทางาน

24 4. ขน้ั ตอนการเขียนโปรแกรม ก่อนที่จะเขียนโปรแกรมคอมพิวเตอร์ภาษาใดภาษาหนึ่งเพื่อแก้ปัญหาทางคอมพิวเตอร์ ควรมีการศึกษาข้ันตอนวิธีการทางคอมพิวเตอร์ เพ่ือให้เกิดความรู้ความเข้าใจที่ถูกต้องตามขั้นตอน วธิ ีการพัฒนาหรือเขียนโปรแกรม ซึ่งมีข้ันตอนการทางานดังนี้ (ณัฐพงษ์ วารีประเสริฐ และ สุธี พงศา สกลุ ชยั , 2552: 15-20) 4.1 การวิเคราะหป์ ัญหา ขัน้ ตอนนต้ี ้องกระทาอย่างระมัดระวังและละเอียด โดยจะต้องศึกษาปัญหาจนเข้าใจถึง แก่นของปัญหาจริงๆ จาเป็นต้องอ่านทบทวนหลายๆ รอบ แล้วตีความถึงความต้องการที่แท้จริงของ ปัญหาท่ีเกิด เพ่ือให้ได้กระบวนการทางานที่จะนาไปใช้ในการแก้ไขปัญหาอย่างมีประสิทธิภาพ การ วิเคราะห์ปัญหาโดยปกตปิ ระกอบดว้ ย 3 ส่วน ดังภาพที่ 1.7 ซ่งึ มีรายละเอยี ดดงั นี้ 1.Input 2.Process 3.Output ภาพที่ 1.7 ข้ันตอนการวเิ คราะหป์ ัญหา 4.1.1 ส่วนข้อมูลนาเข้า (Input) คือ ข้อมูลที่จะนามาใช้ในการประมวลผลเพ่ือให้ ได้ผลลัพธ์ที่ต้องการมีอะไรบ้าง โดยพิจารณาจากผลลัพธ์ของโปรแกรม และต้องคานึงถึงขั้นตอน วิธีการทางาน ข้อมูลที่จาเป็นต้องใส่เข้าไปเพ่ือให้ได้ผลลัพธ์ดังกล่าว ซึ่งเราสามารถระบุข้อมูลนาเข้า ได้หลายแนวทาง เช่น กาหนดลงในโปรแกรมโดยตรง ผู้เขียนโปรแกรมเป็นผู้กาหนด หรือรบั ข้อมูล นาเข้าจากแป้นพมิ พ์หรอื ไฟล์ข้อมูล เปน็ ต้น 4.1.2 ส่วนผลลัพธ์ (Output) คือ รูปแบบของผลลัพธ์ที่ต้องการ สามารถมีได้หลาย ผลลัพธ์หรือมีเพียงผลลัพธ์เดียวก็ได้ สาหรับค่าที่เป็นไปได้ของผลลัพธ์อาจจะเป็นตัวเลข ข้อความ ตาราง หรือค่าทางตรรกะ (จริงหรือเท็จ) ข้ึนอยู่กับผู้เขียนโปรแกรม แต่ส่วนมากการแสดงผลลัพธ์ จะตอ้ งอยใู่ นรูปแบบทเ่ี ขา้ ใจงา่ ยไม่ซบั ซ้อน 4.1.3 ส่วนการประมวลผล (Process) คือ ขั้นตอนการทางานต่างๆ ทางคอมพิวเตอร์ เพื่อให้ได้ผลลัพธ์ตามท่ีต้องการ สาหรับการประมวลผลทางคอมพิวเตอร์จาเป็นต้องมีการกาหนดตัว แปรเพื่อนามาใช้ประมวลผลในโปรแกรม ซ่ึงตัวแปรจะเป็นช่ือที่ผู้เขียนโปรแกรมตั้งขึ้นมาเองตาม หลักการตั้งชอ่ื ตัวแปรของภาษาคอมพิวเตอร์ท่ีนามาเขียนโปรแกรม โดยตวั แปรตั้งขึ้นมาเพื่อใช้ในการ อ้างอิงการเก็บข้อมูลในหน่วยความจาและเรียกใช้ข้อมูลท่ีเก็บภายในตัวแปรนั้นๆ ดังนั้นผู้เขียน โปรแกรมจะต้องต้ังชื่อตัวแปรที่ใช้ในการเก็บข้อมูลทั้งหมดที่ใช้ในโปรแกรม ไม่ว่าจะเป็นข้อมูลนาเข้า ผลลพั ธ์ หรอื ตัวแปรบางตัวท่ใี ชใ้ นการนบั จานวนรอบของการทางานในโปรแกรมซ่ึงจะเกิดขึ้นบางกรณี

25 ตัวอยา่ ง 1.9 ปญั หาการบวกเลข 2 จานวน สามารถสรปุ การวิเคราะหป์ ญั หาได้ ดงั นี้ ขน้ั ตอนที่ 1 วิเคราะห์ส่วนประกอบทั้ง 3 ส่วนคือ ส่วนข้อมูลนาเข้า (input) ส่วนผลลัพธ์ (output) และสว่ นการประมวลผล (process) ว่าแตล่ ะสว่ นประกอบดว้ ยอะไรบา้ ง ขั้นตอนท่ี 2 พิจารณาขัน้ ตอนการทางานหรือ process วา่ ประกอบด้วยขนั้ ตอนอะไรบ้างอยา่ งละเอยี ด ขั้นตอนที่ 3 สรุปผลการวิเคราะหป์ ญั หา ดงั แสดงไว้ในตารางที่ 1.4 ดงั น้ี ตารางที่ 1.4 ตวั อย่างการวเิ คราะหป์ ัญหาการบวกเลข 2 จานวน Input Process Output ผลรวมของท้งั 2 ตวั เลข ต้องมี ตวั เลขทจี่ ะนามาบวกกัน 2 1. อา่ นหรือรบั คา่ ข้อมลู ตวั เลข การกาหนดตัวแปรสาหรับเก็บ จานวน จากนน้ั กาหนดตวั แปร 2 จานวนและเก็บไวใ้ นตัว ผลรวม 2 ตวั แปร เพอ่ื เก็บคา่ ตัวเลข แปรท่กี าหนด 2. บวกตวั เลขทั้ง 2 3. แสดงผลรวม ตามรปู แบบที่ ผูเ้ ขยี นโปรแกรมกาหนด 4.2 การเขียนอลั กอริทมึ การเขียนอัลกอริทึมเป็นการนาเสนอขั้นตอนวิธีการแก้ไขปัญหาให้กับผู้ที่เก่ียวข้องได้ เข้าใจวิธีการอย่างคร่าวๆ ท่ีใช้ในการแก้ไขปัญหาที่ได้ออกแบบไว้ จากหัวข้อก่อนหน้าน้ีได้อธิบาย วิธกี ารเขียนอัลกอรทิ ึมไว้แล้ว ผู้เขียนโปรแกรมสามารถศกึ ษาทาความเขา้ ใจกอ่ นลงมอื เขยี นอัลกอริทึม จากนั้นนาผลลัพธ์ท่ีได้จากข้ันตอนการวิเคราะห์ปัญหามาเขียนอัลกอริทึม โดยพิจารณาจากส่วนของ การประมวลผล (process) เป็นหลัก ซ่ึงผู้เขียนโปรแกรมสามารถเขียนอัลกอริทึมออกมาในรูปแบบ ของรหสั เทยี มหรอื ผงั งานโปรแกรมกไ็ ด้ขนึ้ อยู่กับความถนัดของผ้เู ขียนโปรแกรมแตล่ ะคน 4.3 การเขยี นโปรแกรม การเขียนโปรแกรมเป็นการนาอัลกอริทึมมาเขียนให้อยู่ในรูปแบบของชุดคาสั่งของ ภาษาคอมพิวเตอร์ ซ่ึงมีวิธีการออกแบบโปรแกรมท่ีอาศัยหลักการพ้ืนฐานเกี่ยวกับการรับข้อมูล ประมวลผล และแสดงผลลัพธ์ดังน้ี 4.3.1 การออกแบบโปรแกรมแบบ Procedure-Driven ซึ่งมีแนวคิดว่ากระบวนการ (Procedure) หรือฟังก์ชัน (Function) อะไรบ้างท่ีต้องกระทา แต่ละกระบวนการจะมีการไหลของ ขอ้ มูลเข้าและข้อมูลออกอะไรบ้าง โดยแตกการทางานเหล่านน้ั ออกเป็นส่วนๆ ส่วนรายละเอยี ดของ โครงสร้างที่แท้จริงของข้อมลู จะนามาพิจารณาทหี ลงั จนกว่าจะกาหนดการทางานแลว้ 4.3.2 การออกแบบโปรแกรมแบบ Event-Driven อาศัยแนวคิดของแต่ละเหตุการณ์ หรอื การโต้ตอบจากภายนอกเป็นสาคัญ ทีส่ ่งผลกระทบต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ ละสถานะ โดยสถานะเร่ิมต้นของโปรแกรมจะถูกกาหนดข้ึนมาเพื่อใช้เป็นตัวแทนในการนาเสนอต่อ

26 เหตุการณใ์ นขณะนั้น แตล่ ะเหตุการณจ์ ะส่งผลต่อการเปลีย่ นแปลงโปรแกรมทเ่ี กิดขนึ้ ในแต่ละสถานะ ซึ่งทาให้ปรากฏเหตุการณ์ในลาดับถัดไปตามแต่ละสถานะ เช่น เมื่อผู้ใช้ตัดสินใจกดปุ่มเมาส์ด้านซ้าย ด้านขวา กดปุ่มเมาส์ 2 ครั้ง และลากเมาส์ เป็นต้น ซ่ึงแต่ละเหตุการณ์ที่ผู้ใช้กระทาจะส่งผลให้เกิด ลาดับเหตุการณ์ท่ีแตกต่างกัน กล่าวคือ ผลของโปรแกรมจะขึ้นอยู่กับสถานะที่ผู้ใช้คลิก การเปลี่ยน แปลของเหตกุ ารณจ์ ะขึ้นอยกู่ ับการกระทาในแต่ละสถานะ 4.3.3 การออกแบบโปรแกรมแบบ Data-Driven ใช้แนวคิดของข้อมูลในโปรแกรม โดยเริ่มต้นจากการวิเคราะห์ข้อมูลและความสัมพันธ์ระหว่างข้อมูล กาหนดโครงสร้างข้อมูลเบ้ืองต้น พิจารณาความต้องการข้อมูลนาเข้าของผลลัพธ์ ว่ามีกระบวนการใดท่ีจะทาการแปลงข้อมูลนาเข้า เพอื่ ให้ไดผ้ ลลพั ธท์ ี่ตอ้ งการ 4.4 การทดสอบโปรแกรม หลังจากเขียนโปรแกรมเสร็จแล้ว ขั้นตอนต่อไปคือ การทดสอบการทางานของ โปรแกรมที่เขียนข้ึนว่าถูกต้อง และทางานได้ตามต้องการหรือไม่ โดยการแปลภาษาและสั่งทางาน สาหรับการทดสอบสามารถทาได้ด้วยการนาเข้าหรือป้อนข้อมูลผ่านหน้าจอท่ีออกแบบไว้ตามวิธีการ ทดสอบโปรแกรมท่ีกาหนดไว้ โดยสามารถพิจารณาจากข้อผิดพลาดที่เกิดข้ึนได้ ซ่ึงสามารถแบ่งออก ได้ 2 ชนิดดังน้ี 4.4.1 ความผิดพลาดทางไวยากรณ์ภาษา (syntax error) เป็นความผิดพลาดท่ีเกิด จากการเขียนคาสั่งของภาษาคอมพิวเตอร์ผิด เช่น คาสั่ง echo( ) ซ่ึงเป็นคาสั่งสาหรับแสดงผลลัพธ์ ในภาษา php ต้องเขียนด้วยตัวอักษรตัวเล็ก แต่เขียนเป็น ECHO( ) ตัวแปลภาษาของภาษา php จะ ไม่สามารถทางานได้ เป็นต้น สาหรับความผิดพลาดทางไวยากรณ์จะถูกตรวจสอบพบเม่ือมีการแปล โปรแกรมให้เป็นภาษาเครื่อง ซึ่งสามารถแกไ้ ขโดยการเขียนคาสั่งให้ถูกต้องตามหลักไวยากรณ์ของแต่ ละภาษา 4.4.2 ความผิดพลาดทางตรรกะ (logical error) เป็นความผิดพลาดท่ีเกิดจากการ ลาดับการทางานผิดหรือป้อนสูตรคานวณผิด เช่น ต้องการหาค่า X = X + Y แตป่ ้อนสตู รเป็น X = X * Y ซึ่งผลลัพธ์ที่ได้ไม่ใช้ตามที่ต้องการ เป็นต้น วิธีการตรวจหาความผิดพลาดแบบนี้ คือ ตรวจสอบ การคานวณผลลัพธ์ของโปรแกรมว่าตรงกับผลลัพธ์ท่ีคานวณด้วยมือหรือเคร่ืองคิดเลขหรือไม่ ถ้าไม่ ตรงกันแสดงว่าเกิดความผิดพลาดทางตรรกะขึ้น วิธีการแก้ไขคือ การแก้ไขสูตรให้ถูกต้อง หรือแก้ไข ลาดบั การทางานใหถ้ ูกตอ้ ง 4.5 การจัดทาเอกสารประกอบ เม่ือผู้เขียนโปรแกรมได้ทาการทดสอบโปรแกรมและแก้ไขข้อผิดพลาดที่เกิดข้ึน เรียบร้อยแล้ว ขนั้ ตอนต่อไปก็ควรจัดทาคูม่ ือการใช้โปรแกรม เพราะจะทาให้ผู้ใช้โปรแกรมสามารถใช้ งานได้ถูกต้อง โดยคู่มือการใช้โปรแกรมท่ีดีควรจัดทาในลักษณะท่ีแสดงการทางานเป็นข้ันตอน ผู้ใช้ โปรแกรมสามารถปฏิบัติตามได้จริง ส่วนประกอบในเอกสารควรมีดังน้ี วัตถุประสงค์ของระบบงาน ขนั้ ตอนของลาดบั การทางาน โดยอาจเป็นรหัสเทียมหรือผังงาน โปรแกรมต้นฉบับ ผลลัพธ์ของการ ทางาน และวธิ ีการติดต้ังโปรแกรม เปน็ ต้น

27 4.6 การบารงุ รกั ษาโปรแกรม การบารุงรกั ษาโปรแกรมทพ่ี ัฒนาข้ึนต้องดาเนนิ การเพ่อื ให้โปรแกรมสามารถทางานได้ อย่างไม่ติดขัด เช่น รูปแบบรายงานมีการเปล่ียนแปลง ผู้ใช้ต้องการรายงานเพิ่ม จาเป็นต้องมีการ แก้ไขโปรแกรมเพื่อให้รองรับกับความต้องการของผู้ใช้ท่ีเปล่ียนแปลง อีกท้ังต้องมีคาแนะนาให้ผู้ใช้ โปรแกรมปฏิบัติ เช่น การเก็บโปรแกรมต้นฉบับ ควรเก็บไว้ในกล่องท่ีมดิ ชิด ปอ้ งกันฝุ่นได้ ไม่ควรเก็บ ไว้บนโต๊ะทางาน ไม่ควรเก็บไว้ในรถยนต์เพราะอาจถูกอากาศร้อนทาให้เสียหายได้ นอกจากนี้ต้องมี การสาเนาโปรแกรมต้นฉบับเอาไว้ อย่างน้อย 1 ชุด แล้วนาชุดที่สาเนาไปใช้ ไม่ควรใช้โปรแกรม ต้นฉบับโดยตรง ควรเก็บเอาไว้สาหรับกรณีท่ีโปรแกรมสาเนาเกิดปัญหาจะได้นาโปรแกรมต้นฉบับมา ทาสาเนาและใช้งานไดท้ ันที สรปุ ระบบคอมพิวเตอร์หมายถึงการทางานบนเครื่องคอมพิวเตอร์ท่ีมีองค์ประกอบของฮาร์ดแวร์ ซอฟต์แวร์ ข้อมูลนาเข้า กระบวนการ และผลลัพธ์ ร่วมกันทางานเพื่อให้เสร็จสิ้นตามวัตถุประสงค์ โปรแกรมคอมพิวเตอร์หมายถึง ชุดคาสั่งที่เขียนขึ้นเพ่ือส่ังให้คอมพิวเตอร์ทางานตามที่ต้องการด้วย ภาษาคอมพิวเตอร์ที่มีอยู่หลายประเภทคือภาษาเครื่อง ภาษาแอสเซมบลี ภาษาระดับสูง และภาษา ระดับสูงมาก และเพ่ือให้เครื่องคอมพิวเตอร์ทางานและเข้าใจคาส่ังที่เขียนขึ้นจะต้องใช้โปรแกรม สาหรับแปลภาษาดังนี้ โปรแกรมแปลแบบภาษาแอสเซมเบลร์ แบบอินเตอร์พรีเทอร์ และแบบ คอมไพเลอร์ อัลกอริทึม หรือ ข้ันตอนวิธี หมายถึง ขั้นตอนการประมวลผลหรือวิธีการทางานอย่างใด อย่างหนึ่ง ซ่ึงสามารถแบ่งออกเป็นขั้นตอนย่อย ๆ มีการอธิบายลาดับข้ันตอนการประมวลผลใน ลักษณะข้อความเริม่ ตง้ั แต่ตน้ จนจบสน้ิ การทางาน มีหลักการเขียนอัลกอริทึมพื้นฐานมดี ังน้ี ภาษาทีใ่ ช้ ควรอ่านเขา้ ใจง่าย ไมก่ ากวม มีลาดับข้ันตอนการทางานก่อน-หลังที่ชัดเจน ได้ผลลัพธ์ท่ีถูกตอ้ งเม่ือใช้ ในการแก้ไขปัญหา สามารถประมวลผลด้วยเครือ่ งคอมพิวเตอร์ได้ อลั กอรทิ ึมต้องมีจุดสนิ้ สดุ หลงั จาก ดาเนินงานตามระยะเวลาทก่ี าหนด สาหรบั คุณสมบตั ิการทางานพื้นฐานของระบบคอมพิวเตอร์ ท่ีต้อง ทาความเข้าใจเพื่อนาไปใช้ในการเขียนอัลกอริทึมได้ถูกต้อง ประกอบด้วยด้านต่างๆ ดังน้ี ด้าน หน่วยความจา ด้านการคานวณ ด้านการเปรียบเทียบเชิงตรรกะ ด้านการแสดงค่าข้อมูล ด้านการ จัดลาดับการทางาน ลักษณะการเขียนอัลกอริทึมสามารถเขียนออกมาในรูปแบบของรหัสเทียม (Pseudo Code) หรือผังงาน (Flow Chart) โดยผังงานจะแสดงข้ันตอนการทางานที่ใช้สัญลักษณ์ รูปภาพแทนความหมายต่างๆ และใช้ลูกศรกาหนดทิศทางการดาเนินงาน ส่วนรหัสเทียมคือการนา ภาษาธรรมชาติมาใช้ร่วมกับภาษาโปรแกรมช้ันสูง ข้ันตอนวิธีการทางคอมพิวเตอร์ ประกอบด้วย ข้ันตอนการทางาน ดังน้ี การวิเคราะห์ป้ัญหา การเขียนอัลกอริทึม การเขียนโปรแกรม การทดสอบ โปรแกรม และการจัดทาเอกสารประกอบ และการบารงุ รักษาโปรแกรม

28 แบบฝกึ หดั 1. จงบอกองค์ประกอบของระบบคอมพวิ เตอร์ 2. ภาษาคอมพิวเตอร์คืออะไร แบง่ ออกได้กี่ประเภท 3. จงอธบิ ายความหมายของอัลกอรทิ ึก 4. จงอธบิ ายคุณบัตกิ ารทางานพื้นฐานของระบบคอมพวิ เตอร์ 5. จงเขยี นอลั กอริทึมในการเล้ียงปลาในตปู้ ลา 6. จงเขยี นผังงานและรหัสเทียมในการหาพน้ื ทว่ี งกลม

29 เอกสารอ้างองิ ณัฐพงษ์ วารปี ระเสรฐิ และ สธุ ี พงศาสกุลชัย. (2552). โครงสร้างขอ้ มลู และอัลกอริทึม. กรงุ เทพฯ: เคทีพี คอมพ์ แอนด์ คอนซัลท์. รุ่งทิวา เสาร์สงิ ห์. (2546). การเขียนโปรแกรมคอมพิวเตอรเ์ บือ้ งตน้ . กรุงเทพฯ: ซีเอ็ดยูเคชน่ั . สานนท์ เจริญฉาย. (2544). การเขียนโปรแกรมและอัลกอริทึม(กรณีตัวอย่างภาษาซ)ี . กรุงเทพฯ : โรงพมิ พ์มหาจุฬาลงกรณราชวทิ ยาลัย วัดมหาธาตุ. โอภาส เอย่ี มสริ ิวงค์. (2557). วิทยาการคอมพวิ เตอร์และเทคโนโลยสี ารสนเทศ (ฉบับปรบั ปรงุ เพม่ิ เติม). กรุงเทพฯ: ซีเอด็ ยูเคชั่น. Joyce Farrell. (2013). A Beginner’s Guide to Programming Logic and Design Introductory. 7th ed. China: Course Technology, Cengage Learning.

แผนบริหารการสอนประจาบทที่ 2 เนอื้ หาประจาบทที่ 2 โครงสร้างการเขยี นโปรแกรม โครงสร้างแบบตามลาดบั (Sequence) โครงสร้างแบบทางเลือก (Selection) โครงสร้างแบบวนซา (Loop) วัตถปุ ระสงค์เชงิ พฤติกรรม เม่อื ศึกษาบทเรยี นนแี ลว้ ผู้เรียนมีพฤติกรรมดังนี 1. อธบิ ายความหมายเก่ยี วกบั โครงสรา้ งพืนฐานการเขียนโปรแกรม 2. จาแนกโครงสรา้ งพืนฐานการเขยี นโปรแกรม 3. สามารถเขียนอัลกอริทึมโดยนาโครงสร้างรูปแบบต่างๆ ไปใช้แก้ไขปัญหาตามแบบฝึกหัด ประจาบทไดอ้ ยา่ งเหมาะสม วิธสี อนและกจิ กรรมการเรียนการสอน 1. วธิ ีสอน 1.1 บรรยาย 1.2 อภิปราย ค้นคว้าเพ่ิมเตมิ 1.3 นกั ศกึ ษาทาแบบฝกึ หัด และผสู้ อนตรวจแบบฝกึ หัด 1.4 มอบหมายแบบฝกึ หดั เป็นการบา้ นเพื่อทบทวนบทเรียน 2. กจิ กรรมการเรียนการสอน สัปดาห์ 3-4 (8 ชัว่ โมง) 2.1 ผู้สอนอธิบายเนือหา เปิดโอกาสใหผ้ ู้เรียนซักถามปญั หาในหัวขอ้ ท่ยี ังไม่เข้าใจ ให้ผู้เรยี นคน้ ควา้ เพ่ิมเตมิ จากอนิ เตอรเ์ น็ตและเอกสารประกอบการสอน อภิปราย และสรุปเนอื หา สาระสาคัญ 2.2 ผู้เรียนทาแบบฝึกหดั ประจาบทและตอบคาถามลงใน Google Classroom เพอ่ื ให้ผู้สอนตรวจ อธบิ ายเพิ่มเตมิ และสรุปคาตอบท่ีถูกต้อง ส่ือการเรียนการสอน 1. เอกสารประกอบการสอนการเขียนโปรแกรมคอมพวิ เตอรเ์ พอื่ งานสารสนเทศ 1 2. เครอ่ื งคอมพวิ เตอร์ 3. PowerPoint เนอื หาบทท่ี 2 4. สอ่ื ออนไลนช์ ว่ ยสอน : โปรแกรม Google Classroom

32 การวัดผลและประเมินผล 1. การวดั ผล สงั เกตจากการตอบคาถาม ตรวจแบบฝกึ หดั 2. การประเมนิ ผล ผเู้ รยี นสามารถตอบคาถามและทาแบบฝึกหดั ได้ถกู ต้อง ร้อยละ 80

บทที่ 2 โครงสร้างการเขยี นโปรแกรม การเขียนโปรแกรมแม้ว่าจะสลับซับซ้อนหรือมีความยาวหลายพันบรรทัด ถ้าไม่มีการ ออกแบบโครงสร้างโปรแกรมท่ีดี อาจได้โปรแกรมที่ทางานพิดพลาด และยากต่อการแก้ไข ติดตาม และพัฒนาต่อไปได้ และเพื่อให้โปรแกรมดูเข้าใจง่าย และสะดวกต่อการแก้ไขเมื่อพบปัญหาใน ภายหลัง จึงจาเป็นต้องเขียนผังงานหรือรหัสเทียบแบบมีโครงสร้างควบคุม ไม่ว่าจะเขียนโปรแกรม คอมพิวเตอร์ด้วยภาษาใดก็ตาม ในบทนี้มีเน้ือหาเกี่ยวกับโครงสร้างการเขียนโปรแกรมที่เป็นพ้ืนฐาน สาคัญที่ทุกโปรแกรมต้องมีการนาไปใช้รวมกันประกอบด้วย 3 รูปแบบคือ โครงสร้างแบบตามลาดับ โครงสร้างแบบทางเลือก และโครงสรา้ งแบบวนรอบ โครงสร้างแบบตามลาดับ (Sequence Structure) โครงสร้างแบบตามลาดับ หมายถึง การเขียนโปรแกรมให้ทางานส่ิงหน่ึงแล้วทาอีกสิ่งหน่ึง เรียงต่อเน่ืองกันไปจากบนลงล่าง ประกอบด้วยการทางานกี่ข้ันตอนก็ได้แต่ต้องกระทาต่อเน่ืองกัน เขียนรหัสคาส่ังเป็นบรรทัดและทาทีละบรรทัดจากบรรทัดบนสุดไปจนถึงบรรทัดล่างสุด แสดงเป็นผัง งานและรหสั เทียมได้ดงั ภาพที่ 2.1 (วิไลพร กุลตังวัฒนา, 2554: 5; Joyce Farrell, 2013: 86-87) Process 1 Process 2 Process 3 ภาพท่ี 2.1 ผงั งานและรหัสเทียมโปรแกรมโครงสรา้ งแบบตามลาดบั จากภาพข้างต้นเป็นการเขียนโปรแกรมให้มีกระบวนการทางาน 3 กระบวนการคือ “Process1”, “Process2” และ “Process3” เรียงตอ่ เน่อื งกันไปตามลาดับ


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