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 ວິຊາຫລັກການພື້ນຖານການແກ້ບັນຫາທາງໂປຼແກັມ

ວິຊາຫລັກການພື້ນຖານການແກ້ບັນຫາທາງໂປຼແກັມ

Published by lavanh5579, 2021-08-27 03:34:14

Description: ວິຊາຫລັກການພື້ນຖານການແກ້ບັນຫາທາງໂປຼແກັມ

Search

Read the Text Version

2. ภาษาปาสคาล ตวัซ อย่าย งภาษา ปาสคาล program example1; var i,m,n,s : integer; begin n := 20; m := 70; for i := n to m do s := s + (n * i) WriteLn('s = ',s) end. 3. ภาษาซท ตวัซ อยา่ย งภาษาซท #include <stdio.h> int main( ) { int i,n,m,s; n = 20; m = 70; for(i=n; i<=m; i++){ s = s + (i * n); } printf(\"%d\",s); } ตวซั อยย่างภาษา c++ #include <iostream> #include <ostream int main() { int i,n,m,s; 28 | ภาษาคอมพิพวเตอรร์

n=20; m= 79; for(i=n; i <= m; i++){ s = s + (i * n) } std::cout << s << '\\n'; } 4. ภาษาจาวา (Java) ตวัซ อยา่ย งภาษา จาวา public class Test { public static void main(String args[]) { int n = 20, m = 70, s= 0; for(int i= n; i <= m; i++){ s = s + (i * n); } System.out.print(\"result = \",s); } } ปัปจจุคบซันภาษาจาวาเป็ปนภาษาหลัซกทรืท่พัซฒนาโปรแกรให้ดสามารถใชด้งานได้ดบนระบบปฏพิบัซติพ แอนด์รรอยร์ โดยระบบปฏิพบัซตพิการนท้ขัดมูแลโดยบรพิษัซท กมูเกขพิั้ล จาท กัซด จึจงทาท ใหด้ภาษาจาวาได้ดรซับการพัซฒนามท ความสามารถเพม่พืริ ข้จึนขั 5. ภาษาชทชารปร์ (C#) ตวัซ อย่ยางภาษา ซทชารป์ร using System; namespace Test { class Program { static void Main(string[] args) { ภาษาคอมพวพิ เตอร์ร | 29

int n = 20, m = 70, s= 0; for(int i= n; i <= m; i++) { s = s + (i * n); } Console.writeln(\"result = {0}\",s); } } } 6. ภาษาไพธอน ตวซั อยยา่ งภาษา Python n = 20 m = 70 s=0 for i in range(n,m): s = s + (i * n) print(\"result\",s) 7. ภาษารมูบ้ัขท ตวัซ อยย่างภาษารูมบขั้ท n = 20 m = 70 for i in n...m s = s + (i * n) end puts(\"result #{s}\") 30 | ภาษาคอมพวพิ เตอร์ร

8) ภาษาอ๊ออบเจกททฟ-ซท (objective-C) ตวซั อยยา่ งภาษาออบเจกททฟ-ซท import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { int n = 20, m = 70; int s = 0; for(i=n; i<=m; i++){ s = s + (i * n); } NSlog(@\"Result =\",s); return 0; } 9. ภาษาสวฟท (swift) ตวซั อยาย่ งภาษาสวฟท var n = 20, m = 70 var s = 0 for x in n...m { s = s + (x * n) } println(\"result = \\(s)\"); 2.4. ภาษาระดบัซ สูงม มาก (Very High-level Language) สามารถเรทยกได้ดอทกอยย่างวย่า ภาษาในรุย่คนท่รืท 4th (4GLs : Fourth-Generation Languages) ภาษานมขท้ั ทลซกั ษณะของภาษาททรื่เปปน็ ธรรมชาติพ คลดา้ ยกับซ ภาษาพมดู ของมนคุษย์ร จะชว่ย ยในเรรอ่ื งของการสรา้ด ง แบบฟอร์รมบนหน้ดาจอ เพ่รือจซัดการเกท่ืรยวกัซบข้ดอมมูล รวมไปถึจงการออกรายงาน ซ่ึจรืงจะมทการจซัดการทร่ืทง่ยาย ไม่ยย่ยุคงยากเหมรอนภาษารยุ่คนททรื่ 3 ตซัวอย่ยางของภาษาในรุ่ยคนทท่ืร 4 ได้ดแก่ย SQL เป็ปนต้ดน (โอภาส เอท่รืยมสพิรพิวงค์ร, 2557: 445) ลกซั ษณะของ 4GL มทดซงั ตยอ่ ไปนขทั้ 1. เป็ปนภาษาแบบ (nonprocedural) ซ่จึืรงหมายความวย่าผู้ดมใช้ดเพทยงแต่ยบอกคอมพพิวเตอรร์วย่า ตอ้ด งการอะไร แตไย่ ม่ยตอ้ด งบอกถจึงรายละเอทยดวย่าต้ดองทาท อยา่ย งไร คอมพพิวเตอรรจ์ ะเป็ปนผม้ดูจัซดการใหด้เองหมด ภาษาคอมพวพิ เตอร์ร | 31

ตัซวอย่ยางเช่ยน ถ้ดาตด้องการสรด้างแบบฟอรร์มการรัซบข้ดอมมูลจากผูดม้ใชด้ ผู้ดมเขทยนโปรแกรมเพทยงแต่ยททาการ ออกแบบหน้ดาตา ของแบบฟอร์รมนขัซ้นบนโปรแกรมแกด้ไขเอกสารและเกล็บเป็ปนไฟล์รไวด้ เมรื่อจะเรทยกใช้ดงาน แบบฟอร์รมก็ลเพทยงแต่ยใช้ดคาท ส่รซืังเปิปดไฟล์รนข้ัซนขข้ัึจนมา แสดงบนหน้ดาจอคอมพพิวเตอรร์ได้ดโดยทซันทท ซืจ่รึงต่ยางจาก ภาษารย่คุนทท่ืร 3 ซึจง่ืร เปป็นแบบกระบวนการผู้ดเม ขทยนโปรแกรมจะต้ดองเขทยนรายละเอทยดของโปรแกรมทัขซ้งหมด ว่ยาทืร่ทบรรทซัดน้ัทข คอลซัมนร์จะให้ดแสดงขด้อความหรรอข้ดอมมูลอะไรออกมา ซืร่จึงถ้ดาตย่อไปจะมทการปรัซบเปล่ทรืยน หน้ดาตาของแบบฟอร์รมก็ลจะเปป็นเรื่รองทืร่ทยคุ่ยงยาก อย่ยางยพ่ริืง หรรอในการสร้ดางรายงานดด้วย 4GLs ก็ลสามารถ ทาท ไดด้อยย่างงย่ายดาย เพทยงแตย่ระบคุลงไปวย่าตด้องการรายงานอะไร มทขด้อมมูลใดททื่รจะนทามาแสดงบ้ดาง โดยไมย่ ตอด้ งบอกถจึงวิธพ กท ารสร้ดาง หรรอการดจึงขอ้ด มลมู แตย่อยา่ย งใด 4GLs จะจดซั การใหท้ด ัซ้ขงหมด ดัซงนัข้ซนจะเหล็นวย่า ภาษาในรยคุ่นททรื่ 4 เป็ปนภาษาทืรท่ผมดู้เขทยนโปรแกรมเพทยงแต่ยบอกวย่าตด้องการอะไร (what) แตย่ไม่ยตด้องบอกคอมพิพวเตอร์รวย่าให้ดททาอย่ยางไร (how) แต่ยภาษาในร่ยคุนทื่ทร 3 ผดูม้เขทยนโปรแกรมต้ดอง บอกคอมพพิวเตอรร์ทซัข้งหมดว่ยาตด้องการททาอะไร และต้ดองบอกด้ดวยวย่าต้ดองทาท อยย่างไร ซื่จึรงจะตด้องสรืซั่งใหด้ คอมพวิพ เตอรร์ ททางานเปปน็ ขขัน้ซ ตอน และคอมพิพวเตอร์รกล็จะมทหน้าด ททืร่ท ทางานตามทร่ืทผม้เูด ขทยนโปรแกรมสง่ซัรื นืัรน่ซ เอง อยยา่ งไรก็ลตาม 4GLs กล็สามารถมทรปูม แบบเปป็นกระบวนการได้ดดวด้ ย เนืร่องจากงานบางงานอาจมท ความซัซบซ้ดอน จจึงต้ดองอาศัซยการเขทยนโปรแกรมทืร่ทเป็ปนแบบกระบวนการเขด้าชย่วยด้ดวย จึจงสรุคปได้ดว่ยา 4GL จะมทรปูม แบบผสมระหวยา่ งกระบวนการและแบบไม่มย กท ระบวนการ 2. ภาษา 4GLs มซักจะอยมยู่ควบคูยม่กัซบระบบฐานข้ดอมมูล โดยผ้ดูมใชด้ระบบฐานข้ดอมูมลจะสามารถ จซัดการฐานขอด้ มลมู ได้โด ดยผา่ย นทาง 4GLs นขทั้ สว่ย นประกอบของภาษา 4GLs โดยทวรซัื่ ไปแลว้ด 4GLs จะประกอบด้วด ยสวย่ นสาท คญซั 3 ส่วย นดัซง ตอ่ย ไปนข้ทั 1.*เครืร่องมรอชย่วยสร้ดางรายงาน (report generators) เปป็นโปรแกรมสทาหรซับผูดม้ใชด้ (end-users) ใหด้สามารถเขทยนรายงานอย่ยางงย่ายได้ดด้ดวยตนเอง โดยผมดู้ใชด้สามารถกทาหนดเงืร่อนไข และ ขด้อมมูลทืทร่นาท ออกมาพพิมพร์ในรายงาน รวมถจึงรมูปแบบของการพพิมพร์ไว้ด โปรแกรมชย่วยสร้ดางรายงานน้ทขั จะ ททาการพมพิ พรร์ ายงานตามรปูม แบบท่ทรืกาท หนดไวใด้ ห้ด 2. ภาษาชย่วยคด้นหาขด้อมมูล (query languages) เป็ปนภาษาทรื่ทชย่วยในการค้ดนหาหรรอ ดึจงข้ดอมูมลจากฐานข้ดอมมูล ภาษาน้ทขัจะง่ยายต่ยอการใช้ดงานเนรื่องจากจะอยูมย่ในรูมปแบบทื่ทรใกล้ดเคทยงกซับภาษา มนษุค ยร์ 3. เครรื่องมรอช่ยวยสรด้างโปรแกรม (application generators) จะมรท ูมปแบบการเขทยน โปรแกรมเฉพาะตซัว และสามารถเรทยกใช้ดเครืร่องมรอชย่วยสรด้างโปรแกรมนั้ทขทาท การแปลง 4GLs ให้ดกลาย เปน็ป โปรแกรมภาษารุ่ยนค ท่ทรื 3 ไดด้เชย่น ภาษาซท ภาษาซทชาร์รป ซร่งจืึ อาจนาท ภาษาท่ไทืร ด้ดแล้ดวไปพซัฒนาตอ่ย เพอื่ร ใชด้ กซับงานทื่ซทร ซับซด้อนมาก ๆ ตอย่ ไปได้ด ประโยชนข์ร องภาษา 4GL 1. เป็ปนภาษาทรทงื่ ่าย ยตย่อการเรทยนร้ดูม คาท สัรซ่ืงแตย่ละคทาสงรั่ซื สรือ่ ความหมายไดด้อยา่ย งชดซั เจน 32 | ภาษาคอมพวพิ เตอร์ร

2. ประหยัซดเวลาในการเขทยนโปรแกรมไดด้มาก เน่รืองจาก 1 คทาสืร่ซังของภาษา 4GL สามารถแทนคทาสรงั่ซื ของภาษารนคยุ่ ทรื่ท 3 หลายคาท ส่ืงัรซ 3. สนซับสนคุนการจัซดการฐานข้ดอมูมล สามารถจัซดการกซับขด้อมูมลไดด้อยย่างสะดวก และ รวดเรวล็ 4. สามารถสรด้างแบบฟอรร์มเพรื่อจซัดการกัซบข้ดอมูมลในฐานข้ดอมมูล และออกรายงานได้ด อย่ยางงาย่ ย ไมยย่ ง่ยคุ ยาก 5. มทเคร่รืองมรอการใช้ดงาน เพืร่ออาท นวยความสะดวกในการเขทยนโปรแกรมมากพอ สมควร 6. สามารถททางานในลกซั ษณะครอมกท ารตอบโตดก้ บซั ผใ้ดมู ชด้ไดท้ด นัซ ทท (interactive) ตวซั อยย่างภาษายคุคทท่ืร 4 ภาษา SQL select a.id,a.subject,b.name,c.grade,c.term from course a,student b,grade c where a.id = b.id and b.id = c.id 2.5. ภาษาธรรมชาตพิ (natural language) จัซดเปป็นภาษาคอมพพิวเตอรร์ทืท่รใชด้เทคโนโลยทขัข้ซนสูมง ททาใหด้คอมพพิวเตอรร์สามารถสรื่อสารกซับ มนคุษย์รด้ดวยภาษาพูมด ซ่รจืึงถรอเปป็นแขนงหนื่จรึงของวพิชาปปัญญาประดพิษฐ์ร ซรจึื่งเก่รทืยวขด้องกัซบเทคโนโลยทการ พัซฒนาเครอร่ื งจักซ รใหมด้ ทความสามารถเททยบเคทยงกซบั มนุษค ยร์ ไมวย่ าย่ จะเป็นป การเรยท นรดมู้ การรับซ ฟังป เหตุผค ล การ สืร่อสารดา้ด นความร้สดูม ึจก การมองเหน็ล และการไดยด้ พิน (โอภาส เอยทืร่ มสพริ ิวพ งค์ร, 2557:: 444) ตวัซ อย่าย งภาษาธรรมชาตพิ In the beginning of his brother is a hairy man , whose top may reach unto heaven ; and ye shall sow the land of Egypt there was no bread in all that he was taken out of the month , upon the earth . So shall thy wages be ? And they made their father ; and Isaac was old , and kissed him : and Laban with his cattle in the midst of the hands of Esau thy first born , and Phichol the chief butler unto his son Isaac (ท่มืรท า:Brid, Steven. ,Klein, Ewan. and Loper, Edward, 2009: 7) 3. การเลอลื กใชภช้ าษาคอมพพวิ เตอรร เน่ืรองจากมทภาษาคอมพิพวเตอร์รมากมายทท่ืรถูมกพัซฒนาขึข้ัจนมา แตย่ละภาษากล็มททซ้ัขงประโยชน์รและข้ดอ จาท กดซั ตา่ย ง ๆ กซันไป เราจึงจ ต้ดองเลรอกใชภ้ด าษาใหเ้ด หมาะสมกซับการทาท งานนัขซน้ ๆ ภาษาคอมพพวิ เตอร์ร | 33

1. ภาษาททื่รเหมาะกัซบงานด้ดานวิพทยาศาสตรร์และคณิพตศาสตร์ร ใช้ดสทาหรซับเขทยนปรแกรมเกทร่ืยวกัซบสูมตร และสมการ หรรอหาฟปังก์รชัซนทางคณพิตศาสตรร์ ทาท การคาท นวณหาคย่าต่ยาง ๆ ไดด้งย่ายข้ัขึจน เชย่นภาษา FORTRAN ภาษาเบสิพก ภาษาปาสคาล ภาษาซท ภาษาจาวา 2. ภาษาททืร่เหมาะกซับงานด้ดานธุครกิพจหรรอพานิพชยกรรม ไดด้แกย่ภาษาโคบอลและภาษาอารร์พทจท เป็ปน ภาษาทรท่ืสามารถประมวลผลไดด้มาก และแสดงผลลัซพท์รในรูมปแบบทืรท่ใช้ดงานและคาท นวณอย่ยางงยา่ ย ซึ่รืจงเปป็น ลัซกษณะของงานธรุค กิพจ 3. ภาษาททร่ืใช้ดกัซบงานแบบจาท ลอง (simulation) การจทาลองแบบดด้วยคอมพพิวเตอร์ร ตด้องอาศัซยการ วพิเคราะหร์และการวจิพ ัซยดทาเนิพนงานเปน็ป หลกซั ภาษาทเรท่ื หมาะสาท หรบัซ งานประเภทนท้ไัข ดด้แกย่ SYNAMO ภาษา GPSS 4. ภาษาท่ทรืใช้ดเฉพาะงาน งานบางประเภทจะตด้องใชด้ภาษาสาท หรัซบงานนัซ้ขน ๆ เช่ยน ภาษา APT (automatically programmed tools) ใชด้ในการเขทยนโปรแกรมมาควบคุคมระบบการททางานของ เครรื่องจัซกรบางชนพิด*ภาษา COGEO (Coordinate GEOmetry) ใชด้สทาหรซับงานวิพศวกรรมโยธาบาง อยย่าง 5. ภาษาทใท่ืร ช้ดเฉพาะบนเวบล็ ไซตร์ ภาษาเหล่าย นขทม้ั ทความสามารถพเิพ ศษทรท่ืท าท ใหใด้ ชง้ด านข้อด มมูแบบออนไลน์ร ได้ดอยาย่ งมทประสิพทธพภิ าพ เชนย่ ภาษาเฮชททเอ็ลมแอล(HTML), JavaScript,Java Applet และ PHP 4. แนวทางการเขยท นโปรแกรม แนวทางการเขทยนโปรแกรมเปป็นเรรื่องทท่ืรสทาคซัญหนรืจ่ึงควรจะตด้องทาท ความเข้ดาใจ คาท วย่า แนวทางกล็ครอ หนทางท่รทืจะเดพินไปสูมย่จคุดมุ่ยคงหวซังดด้วยความราบรร่ืน รวดเรล็ว และปลอดภัซย แตย่ถด้าเปป็นแนวทางไมย่ดท ไม่ย เหมาะสมกอล็ าจจะพบอคุปสรรคหรอร ปัปญหาทาท ใหต้ด อ้ด งเสยท เวลา ลาย่ ชาด้ ถ้ดาการเดนิพ ทางมททางให้ดเลรอกหลาย ทาง แน่ยนอนท่รทืสดคุ ต้ดองเลรอกเดพินทางในเสด้นทางทร่ืทเหมาะสมท่ทรืสคุด ทซัข้งรวดเรว็ล ปลอดภซัย และผลดทในดด้าน อรน่ื ๆ ททรจ่ื ะไดร้ด บซั จาการพซัฒนาโปรแกรมเช่ยนเดยท วกซัน จะตดอ้ งหาแนวทางการพซัฒนาทืใรท่ หด้ประโยชนสร์ มงู สุคด การพซัฒนาโปรแกรมในปจัป จคุบนซั มแท นวทางอย่ยมู 2 แนวทางครอ (โอภาส เอทรืย่ มสิรพ วพิ งค์ร, 2557: 420) 1. การเขทยนโปรแกรมเชิพงโครงสรด้าง (procedural programming) เปป็นการเขทยนโปรแกรมยึจด หลัซกการเขทยนโปรแกรมแบบแยกเป็ปนหน่ยวยย่ยอย (module) ตามหน้ดาทืท่ร แลด้วรวบรวมหนย่วยย่ยอยเหล่ยา นซัข้นเขด้าดด้วยกัซนเป็ปนโครงสร้ดางสอดคลด้องสซัมพัซนธ์รกซัน เรทยกข้ขัซนน้ขัทวย่า ขซขั้นบูมรณาการ (integration) โครงสร้ดางทืร่ทไดด้ครอโปรแกรมททื่รต้ดองการ ภาษาท่ทืรใชด้พัซฒนาโปรแกรมในแนวนัท้ขจัซดเป็ปนภาษาประเภทภาษา กระบวนการ (procedural language) การเขทยนโปรแกรมแนวนัทขไ้ ดถ้ด มูกนทามาใชดง้ านตซงัข้ แต่ยยุคค แรกจนถึงจ ยคคุ ปัปจจุบค นซั โดยเฉพาะโปรแกรมททรม่ื ขท นาดเล็ลก 2. การเขทยนโปรแกรมเชพิงวตซั ถคุ (object-oriented programming) หลซักการครอ จะมองงานแตย่ละ อยยา่ งเปน็ป วัซตถคุ (object) หนงจึร่ื อย่ยาง เช่ยน กล่ยองโต้ดตอบ (dialog box) รปูม ภาพหนรืจ่ึงเฟรม กล่ยองข้ดอความ (text box) หรรอ สัซญญลัซกษณร์บนจอภาพ โดยวซัตถุคหนจ่รืึงจะททางานเฉพาะตามทืรท่กทาหนดเสมรอนเป็ปนช้ขพิัน สย่วน (component) เป็ปนหน่ยวยอพิสระ ถด้าผู้มดใช้ดต้ดองการใชด้ทรื่ทใดกล็สามารถคัซดลอกไปใช้ดไดด้ตามทื่ทรต้ดองการ แนวทางการเขยท นโปรแกรมเชิพงวตัซ ถุนค จ้ัขท ะเหมาะกัซบการเขยท นโปรแกรมขนาดใหญย่ เพราะสามารถนาท เอา 34 | ภาษาคอมพิพวเตอรร์

ชัิ้พขนส่ยวนทร่มทื ทอยย่แูม ล้ดวกลซบั มาใช้ดใหม่ไย ด้ด จะสรา้ด งขึขั้จนใหม่ยเฉพาะชนั้ขิพ ส่ยวนทืรทย่ ังซ ไมย่มท ททาใหปด้ ระหยซัดเวลาและลด แรงงานไปไดด้เปป็นอย่ยางมาก สามารถพัซฒนาโปรแกรมได้ดอย่ยางรวดเรล็ว และนอกจากนขั้ทยซังเป็ปนประโยชน์ร สาท หรัซบซอฟต์รแวร์รในอนาคตเพราะสามารถนาท วซัตถคุไปใช้ดช้ัทาข ได้ด (reuse) ลดคาย่ ใชด้จย่ายในการพัซฒนา การ บาท รคุงรัซกษาและประหยดัซ เวลา ตารางท่ทืร 2.1 เปรทยบเททยบวงจรชวท ติพ ของซอฟตแร์ วรทขัง้ซ สองชนดิพ เชพิงโครงสร้ดาง เขพงิ วตัซ ถุค 1. ขซันข้ ศจกึ ษาความตอ้ด งการ (requirement) 1. ขั้นซข ศกึจ ษาความตอ้ด งการ (requirement) 2. กาท หนดคคุณลกัซ ษณซ์ร อฟตแ์ร วรร์ (specification) 2. วิเพ คราะห์รเชพงิ วตซั ถุค (object oriented analysis) - ระบรคุ ายการทืรท่ซอฟต์แร วรต์ร อด้ งการกระททา - ระบรุค ายละเอยท ดซอฟตรแ์ วร์ทร ทรื่ตอด้ งทาท - วเพิ คราะห์รวัตซ ถทคุ รทื่ต้ดองการ 3. วางแผน (planning) 3. วางแผน (planning) 4. ออกแบบ (design) 4. ออกแบบเชิพงวตัซ ถุค (object oriented design) - ออกแบบในรายละเอทยดแต่ยละวซัตถคุ - ออกแบบโครงสรา้ด งหนยว่ ยย่ยอย - ออกแบบรายละเอยท ดแตลย่ ะหนวย่ ยยอย่ ย 5. เขทยนโปรแกรมเชิงพ วัซตถคุ 5. เขทยนโปรแกรมเชิพงโครงสร้าด ง - เขทยนรหซัสคทาสซงัืร่ ดวด้ ยภาษาททรื่สามารถเขทยน - เขยท นรหัสซ คาท สซัรงื่ ดว้ด ยภาษาคอมพวพิ เตอรร์ object oriented paradigm ได้ด 6. รวบรวมหน่ยวยยอย่ ยเป็ปนซอฟตร์แวร์ร 6. รวบรวมหนวย่ ยยยอ่ ยเปป็นซอฟตแ์ร วร์ร 7. บทารงุค รัซกษาซอฟตร์แวร์ร 7. บทารุงค รกซั ษาซอฟต์รแวร์ร 8. หมดอายกุค ารใชด้งาน 8. หมดอายกุค ารใชง้ด าน 5. วิพธทการพัวฒนาซอฟตรแวรร ในการพซัฒนาโปรแกรม หรรอเร่ิรพืมจะเขทยนโปรแกรมจะตด้องมทการศจึกษางานทรท่ืจะเขทยนอย่ยางละเอทยด และรอบคอบ เพอร่ื ไม่ใย ห้ดเกดพิ ปัปญหาในภายหลงัซ ซจึร่งื การททางานตอ้ด งเปปน็ ไปตามขนั้ขซ ตอนททละขน้ซขั เพ่อรื ให้ดงาน ทืรท่ออกมทประสพิทธพิภาพและผลลัซพธร์ทรทื่ไดด้จากการประมวลผลทื่ทรถูมกตด้อง (โอภาส เอื่ทรยมสพิริพวงค์ร, 2557: 422) การเขทยนโปรแกรมควรจะททาเปป็นข้ัขซนตอนดัซงนขั้ท 5.1 การศึจกษาและการวิพเคราะปัปญหา ในการเขทยนโปรแกรมเพ่รือแกด้ปปัญหาใด ๆ จะตด้องททาความ เขา้ด ใจกัซบปัญป หาอยา่ย งถอย่ งแทด้ละเอทยดรอบคอบ เพอรื่ ความถูกม ตด้องในการประมวลผลตย่อไป วธิพ ทการศึจกษาการวเพิ คราะหรป์ ญปั หา • สพืงิร่ ทโ่ทรื จทยต์ร ้อด งการ หรรอผลลพัซ ธทร์ ่รืไท ดจด้ ากการประมวลผล ภาษาคอมพวิพ เตอร์ร | 35

• ขอด้ มูมลนาท เขาด้ • ตวัซ แปรหรอร สซญั ลกซั ษณร์ทใ่ทืร ชด้ 5.2 การออกแบบหรรอการวางแผนแกด้ปัปญหา เปป็นกระบวนการททื่รเกพิดขัจึ้ขนหลัซงจากการทาท การศึจกษา และวพิเคราะห์รปัปญหาเรทยบร้ดอยแล้ดว ซจึรื่งการออกแบบหรรอการวางแผนแก้ดปปัญหาเป็ปนการนาท เครื่รองมรอ หรรออคุปกรณร์ตย่าง ๆ มาเปป็นตซัวชยว่ ยใหด้การเขทยนโปรแกรมมทข้ดอผพิดพลาดนด้อยททร่ืสุคด หรรอไม่ยมท เครืร่องมรอททรื่ นพิยมและนทามาใชด้มอท ยู่มย 2 ชนดิพ คอร 1.*อลซั กอรพทิ จึม (algorithm) ขซขั้นตอนวิพธทการ ชดคุ ของคาท สัรง่ืซ ทื่บรท อกเป็ปนขซัขน้ เปน็ป ตอนปกตมพิ กัซ ใชเด้ พอรื่ อธิบพ ายคทาสง่ืรัซ ท่เทืร ขทยนดวด้ ยภาษาโปรแกรม (ทกซั ษณพิ า สวนานนทร์, 2546: 15) 2. ผงซั งาน (flowchart) เปปน็ สญัซ ลักซ ษณททแรื่ ทนขขั้ซนตอนการทาท งานของโปรแกรม ซรจืงึ่ ในการเขทยน ผัซงงานจะทาท ให้ดผลลพัซ ธ์ทร ทร่ืออกมาถมูกต้ดอง มปท ระสทิพ ธพิภาพและสามารถตรวจสอบแก้ดไขข้ดอผพิดพลาดทรท่ืเกพิด ขั้จึขนไดใ้ด นโปรแกรมนัข้ซน การแก้ดไข หรรอตรวจสอบสามารถทาท ไดด้งย่าย และสะดวกรวดเรล็ว ทส่ืรท ทาคซัญงย่ายต่ยอ การพซฒั นาโปรแกรมในอนาคต (ทซักษพณิ า สวนานนทร์, 2546: 82) 5.3 การเขทยนโปรแกรม จะต้ดองมทความสซัมพซันธ์รและสอดคล้ดองกัซบผซังงาน และอซัลกอริพทึจม โดยจะ เลรอกภาษาใดก็ไล ดดท้ ท่ืรเหมาะสมกบัซ งานน้ัขซน ๆ 5.4 การทดสอบโปรแกรม หลงซั จากททรื่ได้ดเขยท นโปรแกรมเสรล็จแล้ดวจะตด้องมทการทดสอบความถูมกตด้อง ของโปรแกรม โดยการป้ฟอนขด้อมูมลเพืร่อใหด้เคร่ืรองททาการประมวลผลตามโปรแกรมทืท่รเขทยนไวด้ และตรวจ สอบขด้อผิพดพลาดของโปรแกรมวย่ามทส่ยวนใดของโปรแกรมบด้างทรท่ืททาใหด้โปรแกรมไมย่สามารถทาท งานไดด้ (bugs) และแกด้ไขให้ดถูกม ตอ้ด ง (debugs) 5.5 การททาเอกสารประกอบ หลัซงจากททาโปรแกรมออกมาสมบมูรณร์ ตรงตามวซัตถคุประสงค์รทกร่ืท ทาหนด ควรจัซดทาท คยูม่มรอไวด้เพร่ือนาท มาเป็ปนข้ดออ้ดางอพิงในขซขั้นตอนการแก้ดไขโปรแกรม หรรอตรวจสอบขั้ขซนตอนการ ททางาน จะททาใหด้ไมย่เสยท เวลาและคา่ย ใช้จด าย่ ย เอกสารประกอบโปรแกรมทื่ทรดคท วรจะประกอบด้ดวย 1. ข้ดอปัปญหา และวตซั ถคุประสงค์รของโปรแกรม 2. รายละเอทยดของการศกึจ ษาและการวิพเคราะหร์ 3. การออกแบบหรอร การแกป้ด ัปญหา 4. โปรแกรมตน้ด ฉบัซบ 5. ผลลพซั ธท์ร ่ืทไร ดดจ้ ากการทดสอบโปรแกรม 6. สรรุป ภาษาคอมพิพวเตอรร์ เป็ปนเคร่รืองมรอท่รทืจะททาให้ดสามารถควบคุคมการทาท งานของเครร่ืองคอมพพิวเตอร์ร ททางานตามความต้ดองการของมนคุษยร์ ภาษาคอมพพิวเตอรร์มทวิพวซัฒนาการมาอย่ยางรวดเรล็ว เรรื่พิมแรกจาก 36 | ภาษาคอมพวพิ เตอรร์

ภาษาททค่รื วบคมคุ เครอ่ืร งโดยตรงซรืึ่จงเป็ปนภาษาททืร่เคร่ืรองเข้าด ใจและทาท งานตามน้ัซนข แต่ยมนษคุ ยไ์ร ม่ยเขดา้ ใจในภาษา เครรื่อง จึงจ ไดด้คพิดหาวิพธกท ารทรท่ืจะสามารถเขทยนภาษาคอมพพิวเตอร์รทรื่ทมนคุษยร์มทความเข้ดาใจในชคุดคาท ส่ซืรัง ขณะ เดทยวกัซนกล็สามารถสัืรซ่งให้ดคอมพิพวเตอร์รททางานตามทร่ืทวางไว้ดได้ด จึจงคิพดภาษาทรืท่ใกลด้เคทยงภาษามนคุษยร์เปป็น ลทาดัซบต่ยอมา นัซข้นครอภาษาแอสแซมบลท มทลัซกษณะของชคุดคาท สซั่ืรงเปป็นภาษาอซังกฤษททรื่มนคุษย์รสามารถอย่าน เขด้าใจได้ด แต่ยพบวย่ากล็มทความยยุ่คงยากในขัซข้นตอนการเขทยนเช่ยนเดทยวกัซบภาษาเคร่รือง เพราะคทาสืร่ัซงเป็ปนคทา ภาษาอซังกฤษยย่อมาและทืรท่สทาคัซญจะต้ดองรมดู้ภายในโครงสร้ดางของระบบคอมพิพวเตอรร์เป็ปนอย่ยางดท แต่ยก็ลมท ขด้อดทครอสามารถทาท งานไดด้รวดเร็ลว ตย่อมาจึจงได้ดคพิดภาษาคอมพพิวเตอรร์ระดัซบสมูงขขึจ้ันมาใชด้งาน เพรื่ออาท นวย ความสะดวกให้ดแก่ยผู้ดใม ชดส้ ามารถเขทยนโปรแกรมคอมพพิวเตอรร์ไดด้งย่าย เพราะรมูปแบบคทาสรัซื่งจะเปป็นประโยค ภาษาอซังกฤษ จงึจ เปปน็ เหตผุค ลทรไท่ื มยย่ ากทจทร่ื ะทาท ความเขด้าใจภาษาคอมพวิพ เตอรร์ แนวทางการเขทยนโปรแกรมกล็มทวิพวัซฒนาการทืทร่เปลรืท่ยนไปเชย่นเดทยวกซัน โดยมทอยยู่ม 2 แนวทางครอ การ เขทยนเชิพงโครงสร้ดาง และการเขทยนเชิพงวตซั ถุค การเขทยนเชิพงโครงสรดา้ งนซขั้นยึจดหลัซกการเขทยนโปรแกรมแบบ แยกเปป็นหนย่วยย่อย ยตามหนา้ด ท่ืแทร ลดว้ รวบรวมหนยว่ ยยยอ่ ยเหล่ยานัซ้ขนเข้าด เปปน็ โครงสราด้ งสอดคล้อด งกันซ ส่ยวนการ เขทยนโปรแกรมเชิพงวัตซ ถคุ จะมทมคุมมองของงานแตย่ละอยา่ย งเป็ปนวซัตถุคหนงร่ืึจ วซตั ถุค แต่ยละวัซตถคุทาท งานไดด้โดอพิสระ หรรอ ทาท งานรย่วมกซับวซัตถคุอรื่นไดด้ โดยมทคุคณสมบัซติพเด่ยน ๆ ครอ นาท กลัซบมาใชด้ใหมย่ได้ด สรบทอดได้ด ตอบสนอง กพจิ กรรมตามทกร่ืท าท หนดไว้เด ดพิมหรรอสรา้ด งกจพิ กรรมขจัึข้นใช้ใด หมย่ได้ด การแปลภาษาคอมพิพวเตอร์รจะมทอยมู่ย 3 แบบ ครอ แอสแซมเบลอ อิพนเตอร์รพรทเตอร์ร และ คอมไพล เลอร์ร ในแต่ยตัซวแปรก็ลจะมทหลัซกการท่ืรทแตกตย่างกัซน แต่ยทัข้ซงมทวัซตถุคประสงค์รเดทยวกัซนครอ แปลจากภาษาท่ืรท มนุคษยร์เขทยนเป็ปนภาษาเครร่ือง ตัซวแปรภาษาแต่ยละชนพิดก็ลจะมทความสามารถททื่รแตกต่ยางกซัน และ ประสทพิ ธพภิ าพการนทาไปใชด้งานทร่ืไท ม่ยเหมรอนกัซน การเขทยนโปรแกรมจะต้ดองททาเป็ปนกระบวนการ เรืพร่ิมจากการศจึกษาวพิเคราะห์รปปัญหา การออกแบบ หรรอวางแผนการแกป้ด ญปั หา การเขทยนโปรแกรม การทดสอบโปรแกรม และ การจดัซ ททาเอกสารประกอบ ทง้ซัข นทขเ้ั ม่ืรอเกิพดข้ดอผิดพ พลาดขนจขั้ึ ในอนาคตสามารถท่แทืร กดไ้ ขได้โด ดยดมูจากเอกสารคยู่มม อร ประกอบ 7. คคาถามทาช้ ยบท 1. จงบอกชอ่รื ตวซั แปลภาษาแอสแซมบลท 2. จงอธบพิ ายลซักษณะสาท คซัญของภาษาแอสแซมบลัขท้ 3. จงบอกชอืร่ ภาษาคอมพพิวเตอรชร์ น้ัขซ สูมงมา 5 ชรือ่ 4. จงบอกชอร่ื ภาษาคอมพวพิ เตอรร์ทรืท่สามารถเขทยนเชงพิ วซัตถุคไดมด้ า 3 ชรือ่ 5. ภาษา SQL จัซดอยภ่ยูม าษาระดัซบใด 7. ขขั้นซ ตอนการพฒซั นาโปรแกรมคอมพพิวเตอรมร์ ทกทรืข่ น้ซัข ตอน อะไรบ้ดาง ภาษาคอมพิพวเตอร์ร | 37

เอกสารอาช้ งองพิ ทซักษณพิ า สวนานนท์ร. (2546). พจนานรุกรมศวพั ทรคอมพวิพ เตอรรและอพินเทอรรเนน็ต (พพิมพรครรัง้ว ทที่ 10). กรงุค เทพฯ: หจก. ว.ท ทท.ซท. คอมมพิวนพิเคชน่รัซื . ธรท ะวฒัซ น์ร ประกอบผล. (2543). ระบบคอมพวิพ เตอรแร ละภาาาแอสเซมบลท. กรงคุ เทพฯ: สมาคมสงย่ เสรมพิ เทคโนโลยท(ไทย-ยรปื่ท ่คนุป ). โอภาส เอท่ืรยมสริพ ิพวงค์ร. (2557). วทิพ ยาการคอมพิพวเตอรแร ละเทคโนโลยสท ารสนเทศ (ฉบบัว ปรบวั ปรงรุ เพิที่มพ เตมิพ ). กรุคงเทพฯ: ซทเอลด็ ยูมเคชัืรซน่ จทากดัซ . Bart Baesens, Aimee Backiel, Seppe vanden Broucke. (2015). Beginning Java Programming:The Object-Oriented Approach. USA: John Wiley & Sons Inc. Brid, Steven. ,Klein, Ewan. and Loper, Edward. (2009). Natural Language Processing with Python. USA: O'Reilly Media Inc. Hetland, Magnus Lie. (2010). Mastering Basic Algorithms in the Python Language. USA:Springer Science & Business Media. Lishner, Ray. (2003). C++ in a Nushell. USA: O'Reilly Media Inc. Miller, Brad., Ranum, David., (2013). Problem Solving with Algorithms and Data Structures Release 3.0. USA: Creative commons. Prinz, Peter & Grawford, Tony. (2006). C in a Nutshell. USA: O'Reilly Media Inc. Shelly, B. Gary., Vermaat, E. Misty. (2010). Discovering computers 2010:Living in a Digital World,Complete. USA: Course Technology. Teti, Daniele. (2014). Delphi Cookbook. USA: Packct Publishing. 38 | ภาษาคอมพพิวเตอรร์

แผนบรริหารการสอนประจาจ บททท่ี 3 ขอข้ มมูลและตวัต เนรินการ เวลาเรยท น 6 คาบ หัวต ขอข้ เนอน้ื หาประจาจ บท 1. คค่าคงทแที่ ละตวัต แปร 2. ขอ้ข กกาหนดการต้งตั ชที่ชอและการใช้ตข วตั แปร 3. ชนดิน ขอ้ข มลูม 4. ตวตั ดกาเนนนิ การ 5. นพิน จนน์และสมการ วตัต ถุถประสงคค์เชิรงพฤติกร รรม 1. บอกลตักษณะของคคา่ คงทไท่ี ด้ข 2. บอกลกัต ษณะของตตวั แปรไดข้ 3. กาก หนดชอที่ช คา่ค คงทีแท่ ละตวตั แปรไดข้ 4. บอกชนดิน ของขข้อมลูม ได้ข 5. บอกชนิดน ของตวัต ดกาเนนินการไดข้ 6. อธนิบายลตักษณะของนพนิ จนไ์น ดข้ 7. อธิบน ายลกตั ษณะของสมการไดข้ 8. แสดงวธนิ กท ารทกางานของนินพจน์นและสมการไดข้ 9. ประเมนินคค่าจากนพนิ จนนแ์ ละสมการไดข้ 41

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

บทที่ท 3 ขอข้ มมลู และนินพจนน ข้ขอมูมลมีมความจจาเปป็นในการแก้ขปปัญหาด้ขวยคอมพิพวเตอรร์ การประมวลผลโดยสส่วนใหญส่ใน คอมพิพวเตอรร์จะใช้ขขข้อมูมลเป็ปนหลลัก ซซึ่งจะอข้างอิพงอย่มสูกลับระบบคอมพิพวเตอร์ร ขข้อมมูลทม่ซีึเป็ปนค่สาคงท่มึซีหรืรอ ตลัวแปรจะเปป็นส่สวนสจาคัลญในการแกข้ปัปญหา การใชข้งานค่สาคงทึซีม่และตลัวแปรจะตข้องใชข้ให้ขถมูกชนพิด สอดคล้ของกลับการจลัดเก็กบไวข้ในระบบคอมพพิวเตอรร์ ข้ขอมมูลถูมกแบ่สงออกเปป็นหลายชนพิด เชส่น ตลัวเลข จจานวนจริพง ตัลวเลขจาจ นวนเตก็ม ข้ขอมมูลตรรกะ ขข้อมมูลตัลวอลักษร สส่วนนพิพจน์รจะเปป็นวพิธีมการประมวลผล ของระบบคอมพิพวเตอร์รซ่ซึงจะมีมความแตกต่สางจากแนวคิพดของมนุนษย์ร เพืซรึ่อให้ขการแกข้ปปัญหาด้ขวย คอมพวิพ เตอรร์มีคม วามถกมู ตอ้ข งเราจจาเปปน็ จะต้ของเรีมยนรวูข้ม พิธกีม ารคาจ นวณในระบบคอมพวพิ เตอร์ร 1. คาค่ คงท่ีทและตวัต แปร (constants and variables) การแก้ขปปัญหาด้ขวยคอมพพิวเตอรร์ จาจ เป็ปนจะต้ของใชข้ขข้อมมูลทมซี่ึเป็ปนค่สาคงทซม่ีึและตลัวแปรเพึรซื่อนาจ ไป ประมวลผล ตลัวแปรทล้ทัง 2 ชนพิด จะใช้ขอข้างถซงขณะทึซมี่เขีมยนโปรแกรมหรืรอโปรแกรมประมวลผล ทจาใหข้ การแกป้ข ญปั หามีมความสะดวกและวางแผนได้อข ยสา่ งเปป็นระบบ (Sprankle, Maureen, 2012: 13) 1. คส่าคงทึ่มีซ (constant) คืรอ ชืรึ่ซอชนพิดหน่ึซงทซมึ่ีเกก็บคส่าท่ีซึมไม่สสามารถเปลมี่ึซยนแปลงคส่าได้ขในขณะท่ึมซี โปรแกรมประมวลผล ตลัวแปรแบบคส่าคงทีซึม่สามารถเป็ปนชนพิดข้ขอมมูลชนพิดใดกก็ไดข้ เช่สน ตัลวเลข ตัลวอัลกษร ตรรกะ สัลญญลลักษณ์ร เช่สน ค่สาของ PI ( 22 ) จะเป็ปนค่สาคงทมซึ่ีทึ่ซีมมมีคส่าเปป็น 3.142857 (ทัลกษิพณา สวนา 7 นนทร์, 2546: 145) 2. ตัลวแปร (variable) ครือ ช่ึซรือชนพิดหนึซ่งทมี่ึซเกก็บค่สาจจา นวนเลข หรรือสายอลักขระท่ซีมึสามารถ เปลี่ึมซยนแปลงคส่าได้ขในขณะทีมึ่ซโปรแกรมประมวลผล ตลัวแปรชนิพดน้ัีทมสามารถเป็ปนชนพิดขข้อมูมลชนิพดใดก็กไดข้ เชน่ส เดยีม วกัลบแบบค่สาคงทมีซ่ึ เช่นส นท้จัาหนกัล สวส่ นสงมู อายนุ เพศ เปป็นต้นข (ทกัล ษิพณา สวนานนท์ร, 2546: 689) ชอึ่ซืร ค่าส คงทมแ่ึีซ ละชึ่อรซื ตัวล แปรจะใชอข้ าข้ งองิพ ถซงข้ขอมมลู เชส่น รูปม ทึ่ซีม 3.1 แสดงตวลั แปร num ชมีท้ตั จาแหนสง่ ในการเกกบ็ ขอ้ข มูมล ข้ขอมลมู และนิพพ จนร์ | 41

ตวลั แปรสามารถกจาหนดค่สาทมีซึ่แตกตส่างกลันได้ขในขณะประมวลผล หรรือกาจ หนดค่สาให้ขแกส่ตัลวแปรอืซึ่รน ทีซ่มึ เป็ปนชนดพิ ตวัล แปรเดมียวกันล รปูม ทมีซึ่ 3.2 แสดงการกาจ หนดตวลั แปรให้ขกลบั ตวัล แปร จากรมปู ทึมีซ่ 3.2 กาจ หนดใหข้ตวลั แปร num เก็บก คส่าตวลั เลข 10 หลัลงจากนัทนล้ กาจ หนดตัลวแปร i โดยนจา ค่สาทช่มีซึ ม้โีทั ดยตวัล แปร num ไปใหข้แก่ตส วัล แปร i ดว้ข ย ฉน้ันลท ค่สาตวลั เลข 10 ก็กจะถูมกชั้โีมท ดยตวัล แปร num และ ตวลั แปร i รปูม ท่มีซึ 3.3 แสดงการกจาหนดใหมใส่ หข้แกสต่ ัลวแปร i จากรูมปทึี่มซ 3.3 เมืึรซ่อกจาหนดค่สาตัลวแปรใหข้แก่สตลัวแปร i ใหม่สแลข้ว ค่สาตลัวแปรทีซึ่มใชข้โดยตัลวแปร i ก็กจะ เปลยมี่ึซ นไปชีมั้ตท จาแหนง่ส ทีึอซม่ ยสูม่ใหมคส่ ือร เลข 20 ตารางทม่ึีซ 3.1 แสดงขนาดทซใมีึ่ ชว้ข ัลดความจขนุ องหนว่ส ยความจาจ (8 บพติ เทา่ส กบลั 1 ไบตร์) หนส่วยวัลด สญัล ลลกั ษณ์ร ฐานสิบพ บติพ ขนาดหนว่ส ยความจจา(ไบต์ร) kilobyte KB 103 210 1,024 Byte megabyte MBฺ 106 220 1,024 KB gigabyte GB 109 230 1,024 MB terabyte TB 1012 240 1,024 GB petabyte PB 1015 250 1,024 TB (ทึ่ซมมี า ดดัล แปลงมาจาก : Dierbach, Charies, 2013: 39) 42 | ขขอ้ มลูม และนิพพจน์ร

2. ขอ้ข กาก หนดในการตัง้ต ชี่อทช คคา่ คงทแท่ี ละตัตวแปร ข้ขอกจาหนดสจาหรัลบการตทัล้งชึร่ืซอและการใชข้เปป็นตลัวแปรทรีึซ่ม ะบุนไว้ขใน ตารางทมีซึ่ 3.2 เป็ปนตัลวอยส่างบางส่สวน ของชอรซ่ืึ ตลวั แปรทตซม่ึี งทลั้ ไม่สถกูม ตข้อง (Sprankle, Maureen, 2012: 15) 1. ชรึื่ซอตัลวแปรและชรึซ่ือค่สาคงทีซ่มึ จะบ่สงบอกสพึซิ่งทีมึ่ซมมีความหมายทึีม่ซจะกระทาจ การต้ัทลงชื่ซรึอตัลวแปรควรตัท้ลงชึ่ซืรอ ให้ขสัทล้นท่ึมีซสุนดเท่สาทซีมึ่จะทาจ ได้ขและใหข้สืรึ่ซอความหมายถซงตลัวแปรอยส่างชัลดเจน และเป็ปนไปตามขข้อกาจ หนดของ ภาษาทเ่ึซีม ลืรอกใชข้ 2. ชึ่รือซ ตัวล แปรและชื่อซึร ค่สาคงทมีซึ่จะตอ้ข งไมสม่ ีมชสอ่ งวสา่ ง 3. ชอรึ่ืซ ตวลั แปรและชื่ึซรอคาส่ คงท่ึซีมจะตข้องขนทซั้ ต้นข ด้วข ยตัลวอลกั ษร 4. ชร่ึซือตลัวแปรและช่ซรึือคส่าคงทซมี่ึจะตข้องไม่สมีมเครรื่ึซองหมายพิพเศษหรรือสัลญญาลลักษณร์พพิเศษยกเวข้น เคร่ึอซรื งหมาย (_) ตารางทึซม่ี 3.2 การตทัล้งชอ่ึซรื ตวลั แปรท่ไมึีซ ม่ถส ูมกตขอ้ ง ข้ขอมลมู รายการ ช่ซึอืร ตวลั แปรทีมไซึ่ มส่ถูมกตข้อง ปัญป หา ชือซึร่ ทีซม่คึ วรตั้งทล ใหข้ถมูกต้ของ อายนุ Year_Old ราคาสพินค้าข year-old มีเม ครร่ซึอื งหมาย - UnitCos เพศ sex เงนิพ เดอรื น unit cost มีมช่สองว่สาง SalaryAndRate SEX ควรใช้ขเปนป็ ชึรื่ซอคา่ส คงท่มึซี salary&rate มเีม คร่ึอรซื งหมาย & ตารางทซ่ีมึ 3.3 ตวัล อยส่างของการตทั้งล ชซ่ึืรอค่าส ตแัล ปรและชืรซึ่อคา่ส คงท่มีซึ ชซึ่รอื ตวลั แปร ชซึ่อรื คา่ส คงทีซมึ่ Sex PI Rate MULTIPLIER Total XPOS Average FIX ข้อข มลูม และนพิพ จน์ร | 43

3. ชนดนิ ขอ้ข มลูม (data type) ในการแกข้ปัปญหาในการประมวลผลคอมพพิวเตอร์รจะตข้องมีมข้ขอมูมล จะต้ของนาจ ข้ขอมูมลทม่ึซีเป็ปนขข้อเท็กจจรพิง ลงในเครซึ่รืองคอมพิพวเตอร์รและมมีการประมวลผลโดยโปรแกรม สึพ่ิซงทซึีม่ถูมกสส่งกลัลบไปผูมข้ใช้ขทม่ึซีเป็ปนผลลลัพธร์หรืรอ ขอ้ข มมูลสารสนเทศ (Sprankle, Maureen, 2012: 16) ขข้อมูมลทึซ่มีใชข้ในคอมพพิวเตอรร์มมีหลายประเภทท่ีึซมแตกตส่างกัลน จะต้ของบอกว่สาชนพิดข้ขอมูมลของแตส่ละ ตวลั แปรหรือร คงที่มึซ ชนดพิ ขอ้ข มลูม ทมึซพี่ บมากทีซม่ึสดุน จะเปปน็ ขอ้ข มลมู ตัลวเลข ตวัล อกัล ษร และตรรกะ ในบางภาษาและ บางโปรแกรมกจาหนดใหข้ใช้ขงานข้ขอมลูม วนลั ทึีซม่เป็ปนชนิพดขข้อมมูลชนพดิ หนึ่ซง ชวส่ ยใหขโ้ ปรแกรมเมอร์รกาจ หนดชนพิด ขข้อมูลม ขทน้ซั ใหมส่ไดข้ 3.1. ขข้อมลูม ตวัล เลข (numeric data) ขข้อมูมลประเภทนมีั้จท ะถกูม นาจ มาใชข้เปป็นขขอ้ มมูลเบัทืร้องต้นข ในทนุก ๆ ภาษาคอมพวพิ เตอรร์ สามารถแบ่สง ออกเป็ปน 2 ประเภท ไดข้แกส่ (Sprankle, Maureen, 2012: 17) 1. ขข้อมมูลจาจ นวนจรงิพ (real number) ขข้อมมูลจจานวนจริพง คืรอ ข้ขอมูมลทซีึม่เปป็นตลวั เลขทุนกตลัวรวมททั้ลงตวลั เลขทศนิพยม เช่สน 2.0, 6.543, -6.25, 2.3E+4, 1.3E-4, -7.12E+2 ตารางท่ซีมึ 3.4 ข้อข มลูม จาจ นวนจรงพิ ชดนุ ขอ้ข มูลม ตวัล อย่สาง จจานวนจริงพ ทกนุ ตวัล 4850.00, 2.5, -1024.025, -75.5565, 0.000125 นั้าทจ หนัลก 75.25 สวส่ นสงูม 170.5 จจานวนเงิพน 100.25 ระยะทาง 700.25 เกรดเฉลึีมย่ซ 3.25 2. ขข้อมลมู จาจ นวนเต็กม (integer number) ข้ขอมมูลจาจ นวนเต็กม เปป็นชนพิดข้ขอมมูลทมึ่ีซประกอบดข้วยตัลวเลขจาจ นวนเตก็มท่ึซีมสามารถมมีค่สาเป็ปนบวก และลบได้ข เลข 0 (ศมูนย)์ร ก็ถก อืร วาส่ เปปน็ จาจ นวนเตกม็ เชนส่ กัลน 44 | ขอ้ข มูลม และนพิพ จนร์

ตารางทึีม่ซ 3.5 ข้ขอมลมู จาจ นวนเต็มก ชดุน ข้อข มูลม ตวลั อยา่ส ง จจานวนเต็มก ทุนกตวลั จาจ นวนคน 4850, 2, -1024, -75 จจานวนหนสว่ ยกตพิ 8 อายนุ 20 20 ในระบบคอมพพิวเตอรร์ ขข้อมูมลชนิพดตลัวเลข จะจองหนส่วยความจาจ ชซึั่ลวคราวแตกตส่างกัลน เพราะจะมมีผลต่สอค่สาตลัวเลขทึ่มีซจะนจาไปจลัดเก็กบ ท้ัลทงนทม้ีัขซ้ัทนอยมู่สกลับภาษาทีึ่ซมนจามาใช้ข บางภาษาจะตข้องกจาหนด ชนพิดของตวัล แปรกส่อนนจาขข้อมมูลไปจัลดเก็กบ แต่สบางภาษาไมส่ต้ของกาจ หนดชนพิดของขข้อมูมลกก็สามารถนจาไปจัลด เกก็บไดข้ 3.2. ขอ้ข มมลู แบบตรรกะ (logical data) ข้ขอมมลู แบบตรรกะ คืรอ ขข้อมูลม ทีมึ่มซ มคี ่าส อยู่สมเพมยี ง 2 ค่สา คืรอ จรพงิ (true) กัลบ เทจ็ก (false) และเปป็น ขอ้ข มมูลทแมึี่ซ สดงถงซ การตดัล สิพนใจแบบตรรกะ (logical) ตารางทีซึม่ 3.6 ผลการทจางานแบบตรรกะ นพิพ จนร์ ผลทางตรรกะ 20 = 20 จริงพ 15 > 20 เทก็จ 256 > 127 จรงิพ 'A' = 'a' เทกจ็ 'Jon' > 'Jan' จรงพิ ขอ้ข มูมลแบบตรรกะนมัที้ ในภาษาคอมพวิพ เตอร์รจะเปนป็ ขข้อมลมู ชนิพดบลูม ลมีน (boolean) ชว่ส งขอข้ มมลู เป็ปน ไปไดข้ คืรอ false กัลบ true และมีลม าจ ดลบั เป็ปน 0 และ 1 ตามลาจ ดลับ ใชข้หน่สวยความจจาขนาด 1 ไบตร์ ในการ จัลดเกก็บข้ขอมูมล ดัลงนลัท้นขข้อมมูลทมี่ซึจลัดเก็กบในหนส่วยความจจาจะจัลดเก็กบเพีมยงคส่า 0 หรืรอ 1 มีมหนส่วยจัลดเกก็บเปป็น ไบต์ร (8 บตพิ ) 3.3 ข้ขอมูลม ตวลั อกัล ขระ (character data) ขอข้ มูลม แบบอกลั ขระ คือร ข้ขอมูมลทมี่ึซมีมอักล ขระเพยีม ง 1 ตวัล ที่ซึอม ยใมสู่ นเคร่อรืซึ งหมายทึมี่บซ ่สงบอกวา่ส เป็ปน ขขอ้ มลูม และนิพพ จนร์ | 45

อลักขระโดยสวส่ นใหญจ่ส ะใช้ขเคร่ืซึอร งหมาย อญลั ประกาศเดียม ว (single quota) ' หรอืร อญัล ประกาศค่สมู (double quota) \" ข้ทนซั อย่สูมกลับภาษาทมซี่ึนาจ มาใชขเ้ ขียม น เรีมยกวา่ส ชดุน ของอักล ขระ (character data set) บางครงทลั้ เรมียกวส่า ขอข้ มูลม ชุดน ตวัล เลข (alphanumeric data set) ประกอบไปดข้วยตัลวเลข ตวลั อลักษร หรือร สลญั ญาลกัล ษณพ์ร เพิ ศษ โดยใชข้ชดุน ตลวั อลักขระในระบบ ASCII (ดใมู นภาคผนวก ก) ประกอบดว้ข ยตวัล อักล ษระ จจานวน 256 ตวัล โดย 128 ตวัล แรก จะเปน็ป ชุนดตวัล อลกั ษรมาตรฐาน และอกีม 128 ตวัล จะเปป็นตวัล อกัล ษรทีซึ่ม สามารถสรขา้ งข้ซันท มาใชข้งานใหมไ่ส ด้ข รวมทัล้งท ชนุดของภาษาไทยดขว้ ย ตวัล อักล ษระไมส่ส ามารถนจามาใช้ขในการ คาจ นวณได้ข ในบางภาษาคอมพิวพ เตอร์รอัลกขระและขอ้ข ความจะไมส่มคมี วามแตกตส่างกนลั ตารางทซ่ึมี 3.7 ขข้อมูมลอลักขระ ชดุน ขอ้ข มลมู ตวลั อย่าส ง อกัล ขระทุนกตวัล '0', 'A', 'Book', 'True', '0.25' หรืรอ “0”, “A”, “Book”, “True”, “0.25” 3.4. ขอข้ มูลม ชนิพดอรซึ่นื (other data) มหีม ลายประเภทข้อข มมลู อ่นืซรึ ๆ ทมีโึ่ซ ปรแกรมเมอร์กร จาหนดชนดพิ ข้ขอมมลู ข้นัซท ใชเข้ อง เชสน่ วัลนท่ึซีม เปนป็ ข้ขอมลมู จจานวนวัลน ทซ่ึมีมจมี าจ นวนวลันนลับจากวลนั ทกซ่ีมึ จาหนดในอดตมี เช่สนวันล แรกของศตวรรษทซีึ่ม 20 หรือร วนัล ทีม่ซึ 1 มกราคม 1940 ใชข้ชนพิดขอ้ข มลูม น้สมีัท าจ หรลับวันล ท่ซีมชึ ว่ส ยใหข้ผขู้มใชข้ลบวันล ทซึ่มีหนงึซ่ จากวนลั อึืซรน่ ๆ ในการคาจ นวณจาจ นวน วัลนระหวา่ส งวลนั ทึซมี่ ชวส่ ยลดความยุนง่ส ยากในการคาจ นวณเมซรึ่ือวลันขข้ามปปีหรรือเดือร น อาจจะกาจ หนดใหขเ้ ปนป็ ขข้อมมลู ชนพิดวลนั ทึ่ซมี ตารางทึีมซ่ 3.8 ตวัล อยาส่ งของชนิพดขอ้ข มมูล ข้ขอมมลู ชนดิพ ขอข้ มูมล คาจ อธบพิ าย ราคาสพินคขา้ ประกอบดวข้ ย real ราคาของสพนิ จะถูกม นาจ มาใชใ้ข นการคจานวณ 15.25, 350.75 ราคาครอื เงินพ และเปป็นเลขทศนพิยม หมายเลขบลญั ชมธี นาคาร character string เลขทบซ่ีมึ ญลั ชมีธนาคารจะเป็นป ไปดวข้ ยชดุน ของ '1-234-567-89' อกัล ขระทึี่มเซ ปป็นตวัล เลข ไม่ใส ชใ้ข นการคาจ นวณ จาจ นวนสิพนคขา้ integer จาจ นวนสนิพ คา้ข จะใชใ้ข นการคาจ นวณ โดยปรกตพิ 20 แลข้วตวัล จะเป็ปนจจานวนเต็กม ชึรอืซ่ บรพษิ ทัล string ประกอบไปดวข้ ยชุนดของอกลั ขระ 'บริพษลัท เจริพญยึซิพ่ง จาจ กัดล ' การส่สงสิพนคา้ข logical มมอี ยูสม่ 2 สถานะ ครือ ส่งส แลข้ว และยังล ไมไ่ส ดข้ส่งส True, False 46 | ขขอ้ มูมลและนพพิ จนร์

ตารางทึมีซ่ 3.8 ตวัล อยา่ส งของชนพิดขข้อมลมู (ตอ่ส ) เบอร์โร ทรศลัพท์ร character string ประกอบไปดว้ข ยชุดน ของอลักขระ ไมใส่ ชใข้ นการ '08-999-9999' คาจ นวณ วนลั เดืรอนปปี Date หรือร integer ประกอบไปดวข้ ยชนุดของอกลั ขระ หรือร บางครงทัล้ '06/16/2015' หรอรื 42171 เป็นป ตัลวเลขเพซึรอ่ื ใชใ้ข นการคาจ นวณจาจ นวนวลัน เวลา Time หรรอื real ประกอบไปดวข้ ยชดนุ ของอัลกขระ หรืรอบางครทลัง้ 07:20:00 PM หรอืร 0.8055556 เพซอ่ึืร ในการคาจ นวนเวลา 4. ตวัต ดาก เนินน การ (operators) วธิพ ีกม ารทจางานของคอมพิพวเตอรรท์ ึ่จซีม ะกระทจากับล ขอข้ มูลม อย่สางใดอยาส่ งหน่ซงึ นทั้นล จะตอ้ข งมวมี พธิ กมี ารของการ ดาจ เนพินการ เช่สน การบวก การลบ การคูมณ และอ่ืซึรน ๆ จะเป็ปนกระบวนการประมวลผลของ คอมพวพิ เตอรจ์ร ะประกอบไปดว้ข ย ตวัล ดาจ เนนพิ การ ตวัล ถมกู ดาจ เนิพนการและทาจ งานรส่วม ตัลวดจาเนิพนการ (operator) คืรอ เครซรืึ่องหมาย หรืรอ สัลญลัลกษณร์ ทีซ่ึมใชข้คัซึ่ลนระหว่สางตลัวเลขสองค่สา เพ่รซืึอ กาจ หนดการดาจ เนพินการอย่สางไร เพรซ่ึือใหข้ได้ขผลลัลพธ์รตามทมีึซ่ตข้องการ โดยมมีโครงสรข้างดลังน้ัีมท (Sprankle, Maureen, 2012: 23) operand operator operand 50 + 30 5 - x y * 2 a / b x ^ 2 (1) operand ครือ คาส่ คงทซีม่ึ หรือร ตวลั แปร (2) operator คอืร เครอ่ึซืร งหมายทางคณติพ ศาสตรร์ นอกจากนีั้ทม การดจาเนิพนการใด ๆ เกซมึี่ยวกลับตลัวเลขหรอรื คสา่ ของตัลวจะตอ้ข งมมีชนดิพ ของขข้อมูมลเป็นป ตวัล กจาหนดชนดพิ ของดจาเนพนิ การเช่นส กลัน เพราะในระบบคอมพพวิ เตอรรต์ ลวั เลขจจานวนและตวลั เลขจาจ นวนเต็กม จะใชเ้ข ครึ่ืซรองหมายในการดจาเนพินการทมีึ่แซ ตกตาส่ งกัลน ดมูในตารางที่ึมซ 3.11 ขอ้ข มูลม และนิพพ จนร์ | 47

ตารางทึ่ีซม 3.9 นพพิ จน์แร ละสมการ นิพพจนร์ สมการ A+B C=A+B A และ B เปป็นตวัล แปรของตลวั เลข ผลลลัพธท์ร ไมซ่ีึ ดกข้ ก็จะ C, A และ B เปน็ป ตวัล แปรตวลั เลข และนจาผลทซึ่ีไม ด้ข เป็นป ตัวล เลขเช่สนกันล โดยไม่เส กบ็ก ผลการทาจ งาน เก็กบไว้ขท่ตีึซม วัล แปร C A<B C=A<B A และ เปนป็ ไดข้ทัล้ทงตลัวเลข และ ตวลั อกัล ษร A และ B เปป็นตวัล แปรตวัล เลขหรรอื ตัลวอลกั ษรไดข้ ผลทจซ่ีมึ ะเปปน็ ข้ขอมูลม ตรรกะและไมส่เก็กบผล ผลทจซึีม่ ะเก็กบไวข้ทตึซ่ีม ัวล แปร C A OR B C = A OR B A และ เป็ปนขอข้ มลมู ตรรกะ A และ B เปนป็ ตลัวแปรตรรกะ ผลทจึมซ่ี ะเปป็นข้ขอมมูลตรรกะและไม่สเก็บก ผล ผลท่ึีมซจะเก็กบไว้ทข ตซึีม่ ลัวแปร C ตวลั ดาจ เนนิพ การในภาษาคอมพวิพ เตอรม์ร มีอยู่หมส ลายประเภทดงัล นมัที้ 4.1 ตวลั ดจาเนินพ การทางคณิพตศาสตร์ร (mathematic operators) ใชใข้ นการประมวลผลทางคณติพ ศาสตร์ร ประกอบดวข้ ยเครอรื่ึซ งหมายดงลั ต่สอไปนัท้มี ตารางที่มซึ 3.10 เครซ่อรึื งดาจ เนพินการทางคณตพิ ศาสตร์ร สญลั ญลกลั ษณ์ร การดาจ เนพินการ ตวลั อยา่ส ง ผลลลพั ธร์ + บวก (addition) 7+9 16 - ลบ (subtraction) 9-7 2 * คูมณ (multiplication) 9*7 63 / หาร (division) 9/7 1.285714286 DIV 9 DIV 3 3 หารเอาผล MOD (integer division) 9 MOD 2 1 หารเอาเศษ (modulo division) จากตารางทีึซ่ม 3.10 สลัญลลักษณ์ร DIV และ MOD จะสามารถนจามาใชข้ได้ขเฉพาะตลัวเลขจจานวนเต็กม เท่สานลทั้น ในบางกรณีมเคร่รืึซองหมาย + กลับข้ขอความหมายถซงนาจ ข้ขอความท้ัทลงสองมาตส่อเข้ขาด้ขวยกลันเป็ปน ข้ขอความเดมยี วกันล 48 | ขขอ้ มมลู และนิพพ จนร์

ตารางทึซี่ม 3.11 การดจาเนพินการของแบบขข้อมลมู ตวัล เลข แบบขขอ้ มลูม ตวลั ตลั้ทง ตวัล ดจาเนิพนการ แบบขขอ้ มมลู ตัลวกระทาจ แบบขอ้ข มมลู ผลลลัพธ์ร (operand) (operator) (operand) real real real real +,- integer real integer +,- integer integer real +,- real real real *,/ integer integer integer *,/ integer integer integer * integer real real / real ผดพิ พลาด real DIV,MOD integer ผิพดพลาด integer DIV,MOD real ผพดิ พลาด integer DIV,MOD integer integer DIV,MOD จากตารางทึซี่ม 3.11 กาจ หนดเนพินการทางตลัวเลขระหว่สางตลัวเลขจาจ นวนจริพงและตัลวเลข จจานวนเตม็ก ถข้าตลัวต้ัทงล เป็นป จจานวนจรพิงตวลั ทมีซมึ่ ากระทาจ สามารถเปน็ป ไดทข้ ลัทง้ จจานวนจรงพิ หรือร จาจ นวนเตก็มไดข้ แตส่ ถ้ขาตัวล ตล้งัท เป็ปนจาจ นวนเตก็ม ตวัล ท่ึซจมี ะมาดาจ เนนิพ การจะตขอ้ งเป็ปนตลัวเลขจาจ นวนเต็กมเทส่านทัลน้ 4.2 ตวัล ดจาเนพินการเปรยีม บเทีมยบ (relation operators) การดจาเนิพนการทางคณิพตศาสตร์รจะไดข้ผลลัลพธร์ทึมซี่เป็ปนตลัวเลขเทส่านลัท้น แตตส่ ัลวดจาเนิพนการเปรีมยบ เทีมยบจะได้ขผลลลัพธ์รออกมาเพมียง 2 คส่า เทส่าน้ัลทน ครือ จริพง หรรือ เท็กจ และจะนจาไปใช้ขในการเปรมียบเทมียบ เพรซึ่อื เลือร กการทจางานของคอมพพวิ เตอร์ร การเปรียม บเทีมยบจะมเีม ครืซรอ่ึ งหมายของตลัวดจาเนิพนการ ตารางทมซ่ึี 3.12 ตวลั ดจาเนพินการเปรยีม บเทมยี บ ตวัล ดจาเนนพิ การ ความหมาย ตวัล อยา่ส ง แบบขข้อมูมลผลลลัพธร์ = เท่าส กับล 7=9 false <> ไมเส่ ทา่ส กบัล 7 <> 9 true <= น้ขอยกว่าส หรืรอเทา่ส กบัล 7 <= 9 true >= มากวาส่ หรรอื เท่าส กับล 7 >= 9 false ขขอ้ มมลู และนพิพ จน์ร | 49

ตารางท่ซีมึ 3.12 ตวลั ดาจ เนิพนการเปรมยี บเทียม บ (ตอ่ส ) 7>9 false > มากกวสา่ 7<9 true < น้ขอยกว่าส 4.3 ตวลั ดจาเนิพนการทางตรรกะ (logical operators) ตวัล ดาจ เนิพนการทางตรรกะ เป็ปนการดจาเนิพนการเปรมียบเทีมยบขข้อมูมลของ 2 จจานวน ผลท่ึซีมไดข้ จากการเปรีมยบเทมียบดลังกลส่าว จะทาจ ให้ขผลลัลพธร์อยูสม่ 2 อย่สาง คืรอ จรพิง หรรือ เทก็จ ตลัวดาจ เนพินทางตรรกะ (Sprankle, Maureen, 2012: 25) ตารางท่ึซีม 3.13 ตวลั ดาจ เนพินการทางตรรกะ NOT A NOT A เมร่อืซึ A เปน็ป ผลลพลั ทธ์รท่ีซไึม ด้ข true false NOT true คือร false false true NOT false ครอื true ตารางทมีซ่ึ 3.14 ตวัล ดจาเนนิพ การทางตรรกะ AND A B A AND B เมอซืรึ่ A เปปน็ เมซ่ึืรอ B เปป็น ผลลพัล ทธ์ทร ่ึซีมได้ข true true true true AND true ครือ true true false false true AND false คอืร false false true false false AND true คอืร false false false false false AND false ครือ false ตารางทมีซึ่ 3.15 ตวัล ดจาเนพินการทางตรรกะ OR A B A OR B เมซือร่ึ A เปปน็ เมซืรอึ่ B เปน็ป ผลลพลั ทธท์ร มไซีึ่ ดข้ true true true true OR true ครือ true true false true true OR false คอรื false false true true false OR true คือร false false false false false OR false ครือ false 50 | ขข้อมมูลและนพพิ จน์ร

5. นนิพจนนและสมการ (expressions and equations) คอมพพิวเตอร์รจะตข้องมีมการกจาหนดวิพธมีการประมวลผลขข้อมูมล การทาจ งานจะใชข้ตัลวดจาเนิพนการ และ การปฏิพบัลตพิการจะมีมการเชซืรึ่อมต่สอกัลบข้ขอมูมลภายในนพิพจน์รหรืรอสมการ เปป็นตลัวกาจ หนดให้ขคอมพพิวเตอรร์ว่สา จะประมวลผลดวข้ ยวธิพ ีมการใด รวมททัลง้ กจาหนดให้ขคอมพวพิ เตอร์รทราบชนิพดของการประมวลผลว่าส เปป็น ทาง คณิพตศาสตร์ร ทางตรรกะทีซึ่มต้ของทจา ประเภทของการปฎพิบลัตพิการทึมีซ่ใชข้ในการคาจ นวณและแกข้ปปัญหาทาง คณพติ ศาสตร์ร ได้แข ก่ส ความสลมั พัลนธร์ การกระทาจ ทางตรรกะ ตลัวถมูกดจาเนิพนการและผลลลัพธร์เป็ปนแนวคพิดเกึ่ีซมยวขข้องกัลบการดาจ เนิพนการ ตัลวดจาเนิพนการหลายตลัว กระทาจ ระหว่สางการดจาเนพินการและการประมวลผล ผลลลัพธร์ที่ซมึได้ขคืรอคาจ ตอบทม่ีซึสส่งผลกลลับมาเมึ่รืซอการ ดจาเนิพนการเสร็จก สมบรูม ณ์ร ตัวล อยาส่ งเช่สน นพิพจน์ร 3 + 7 เครื่ึรซองหมาย + เป็นป ตวลั ดาจ เนิพนการ เลข 3 และ 7 เป็นป ตัวล ถูกม ดจาเนพินการ และ 10 คอืร ผลลพลั ธทร์ ีไึซ่ม ดขจ้ ากการดจาเนิพนการ ตัลวถูกม ดาจ เนินพ การสามารถเปป็นคส่าคงทมึ่ีซ หรือร ตวลั แปรไดข้ ขขอ้ มูมลของตลวั ถมูกดจาเนพินการและผลลัลพธ์รขซัท้นอยมกู่ส ัลบตวลั ดจาเนพินการ ตวัล ดาจ เนิพนการทางคณพติ ศาสตร์ร ได้ขแกส่ การบวก การลบ การคณมู การหาร การหารจาจ นวนเตกม็ การ หารเอาเศษ เลขยกกจาลลัง และ ฟัปงกร์ชลัน โดยคอมพิพวเตอรร์มมีสลัญลัลกษณสจาหรัลบของแต่สละตลัวดจาเนิพนการ เราอาจจะคขนุ้นเคยกัลบการบวก การคมูณ การหาร การยกกาจ ลัลง อยส่างไรก็กตามก็กอาจจะไม่สคขนุ้นเคยกัลบการ หารจจานวนเตม็ก การหารเอาเศษ ตวัล ดจาเนิพนการทีเม่ึซ กีมซึ่ยวข้ของกบัล การหารจาจ นวนเต็กม ผลลพัล ธ์กร จ็ก ะไดข้เป็ปนจจานวนเต็กม ในการหารเอาเศษ ผลลลัพธร์ทมซ่ึีได้ขจะเปป็นส่สวนทมซีึ่เหลืรอของจาจ นวนนัลท้น ทัล้ทงสองประเภทของการหารได้ขถมูกนจามาใชข้ในทาง คาจ นวณเพึ่ืซรอหาคส่าของขข้อมูมลบางอย่สาง เชส่น หาเวลา หาชึซั่ลวโมงและนาทมี ทซึมี่มมีคนทจางานใหข้เป็ปนจาจ นวน นาทีมหรืรอวัลนและสลัปดาห์รทจางาน หรืรอนาจ มาใช้ขในการคจานวณวส่าเลขจาจ นวนนลั้ทนเลขคม่สูหรรือเลขค่มีซึหรืรอไมส่ ตวัล อยส่างเช่สน 29 เปป็นเลขค่มูสหรรือเลขค่ซมึี การทซี่ึมจะทราบได้ขวส่าเป็ปนเลขคู่สมหรรือเลขคึซ่มี จะกระทาจ ได้ขโดยเอา 2 ไปหาร เพราะ 2 เปป็นเลขคู่มส โดยการนจาไปหารน้ลัทนใชข้วิธพ ีมการหารเอาเศษ โดยปกตพิในภาษาคอมพพิวเตอร์ร จะใชข้เครซ่ืรึองหมาย % หรรือ บางภาษาใชข้คจาภาษาอลังกฤษ mod ผลของการหารตัลวเลขใด ดข้วย 2 จะมมี เศษท่ไีซมึ ดขเ้ ปป็น 1 หรืรอ 0 เทส่านั้ลทน ถาข้ เศษเปนป็ 0 หมายถซงหารลงตวัล แต่ถส ข้าเศษเปน็ป 1 แสดงวาส่ หารไม่ลส งตลวั ถ้ขาหารลงตลัวก็กแสดงวส่าเปป็นเลขค่มสู ดัลงนั้ทลน 29 mod 2 จะไดข้ผลลลัพธร์เป็ปน 14 เหลรือเศษ 1 เมซึ่ืรอพพิจารณา จากเศษทมซ่ีไึ ด้ข 1 แสดงวาส่ การหารเอาเศษน้ทัลนไมสล่ งตวัล สรปนุ ไดว้ข ่สาเลข 29 เปป็นเลขคม่ซึี นพิพจน์ร หมายถซง การผสมผสานสญัล ลัลกษณ์รตา่ส ง ๆ เปป็นจจานวนจาจ กลัด ซซ่ึงจดลั รมูปแบบไว้ขอยส่างดมีโดยอิพง ตามกฎทึ่ีมซข้ัทซนอยสู่มกัลบบรพิบท สลัญลลักษณ์รต่สาง ๆ เหล่สานัที้มสามารถเปป็นจจานวน (คา่ส คงตวลั ) ตวัล แปร การดจาเนิพน การ ฟงปั กชร์ ลัน หรรือสัลญลลักษณร์อ่รืซึน ๆ ทางคณิพตศาสตรร์ รวมท้ัทลงเคร่ึอซรื งหมายวรรคตอน สัลญลัลกษณร์สจาหรัลบ จลดั กลม่นุส และสัญล ลักล ษณร์เชพงิ ไวยากรณร์ (ทกลั ษพิณา สวนานนทร์, 2546: 265) 1. นพพิ จนร์ทึเีซ่ม ป็นป ตัลวแปร เชส่น cost, weight, age ขอ้ข มลูม และนพพิ จนร์ | 51

2. คา่ส คงทึ่ซมี เช่สน 64, 127, -300, true ,'Computer' 3. การดจาเนพนิ กรรมวธิพ มี 64 / 2, 3 * 5 นิพพ จนหร์ นซึ่ง ๆ จะมีมตวัล ตทั้ลง ตวลั ดาจ เนพนิ การ ตวัล กระทาจ และนพพิ จน์รร องกตึมี่ซ วัล ก็กไดข้ แต่ถส ้ขาเปน็ป ตวลั ดาจ เนินพ การ เปรียม บเทมยี บต้อข งทจาเปน็ป นิพพ จน์ใร นระดบัล รองลงไป นพิพจน์รและสมการทาจ ขซ้ัทนเป็ปนส่สวนหนึ่ซงของการแกข้ปัปญหาด้ขวยปัปญหาคอมพิพวเตอรร์ ขข้อมมูลการ ประมวลผลการแสดงออกถมกู ดจาเนนพิ การผ่าส นตวลั ดจาเนนิพ การ ตวลั อยาส่ งเช่นส ในการหาจจานวนของตารางฟุตน ในห้ของพลกั โดยคูมณความยาวและความกวา้ข งของหอ้ข งเข้าข ดข้วยกลัน ดงลั นพิพ นจตร์ ่อส ไปนีัทม้ Length * Width สมการจะเก็กบผลของนิพพจนร์ ในหนส่วยความจาจ ของคอมพิพวเตอรร์ ผส่านเครรึ่ซืองหมายเทส่ากลับ (=) นิพพจน์รขขา้ งบนจะเปป็นส่สวนหน่งซึ ของสมการดัลงต่สอปน้มีัท Area = Length * Width ตวลั อยส่าง 10 + 2 ∗4 −3 2 สามารถจัดล ให้อข ยภมูส่ ายในบรรทดลั เดยีม วกลันไดขด้ ัลงน้ัทมี (10 + 2) / 2 * 4 - 3 X (3∗Y + 4)− 4Y X +6 สามารถจลดั ให้อข ยภส่มู ายในบรรทดลั เดยมี วกนัล ไดด้ข งลั นทีั้ม X * (3 * Y + 4) - 4 * Y / (X + 6) 52 | ขข้อมลูม และนพพิ จนร์

ตารางที่มึซ 3.16 ลจาดลับข้ัทลนของการดจาเนนิพ การ ลจาดัลบการดาจ เนพินการ ชนดิพ ของการกระทาจ ผลการทจางาน ( ) จะดจาเนิพนการเปป็นลาจ ดัลบแรกและจะกระทาจ จากซ้ขายไปขวา ถข้ามขีม า้ข งในวงเล็กบกจก็ ะกระทาจ ข้ขางใน วงเล็กบใหขเ้ สร็จก กส่อนเชส่นกนลั 1. ฟงัป กชร์ ลัน (functions) 2. ยกกาจ ลงัล (power) numeric numeric 3. %, MOD numeric numeric 4. *,/,DIV numeric numeric 5. +,- numeric numeric ดาจ เนพินการแบบสัลมพนลั ธ์ร (relational) 6. =,<,>,<=,>=,<> numeric หรรอื ข้ขอความ หรรอื logical ตวลั อักล ขระ ดาจ เนพินการแบบตรรกะ (logical) 7. NOT logical logical 8. AND logical logical 9. OR logical logical วธพิ มีการหาคส่าของนพิพจนม์ร ขมี นลัท้ ตอนดังล นท้ีมั 1. พิพจารณานพิพจนร์จากซ้ขายไปขวา เปรมียบเทีมยบลจาดลับความสจาคัลญของตัลวดจาเนิพนการทมีละ 2 เครึอืรซ่ งหมาย 2. ใหต้ข วัล กระทาจ ดาจ เนิพนการทมึซี่มมีลจาดบัล ความสจาคัลญมากกว่สาก่สอน ถ้ขามมีลจาดลับความสจาคลัญเท่สากลันให้ขทาจ เครอซึรื่ งหมายทางซข้ายมรอื กสอ่ น ข้อข มลูม และนพพิ จน์ร | 53

ตวัล อยาส่ งทมี่ึซ 3.1 จงหาคส่าของ 15 + 3 * 2 / 4 ลาจ ดบัล ท่ซีึม นพพิ จน์ร ผลลพัล ธ์ร 1 3*2 6 2 6/4 1.5 3 15 + 1.5 16.5 ตวัล อย่าส งท่ึีซม 3.2 จงหาคส่าของ (15 + 3) * 2 / 4 นพิพ จนร์ ผลลพลั ธร์ (15 + 3) 18 ลาจ ดลับทซีึม่ 18 * 2 36 1 16 / 4 9 2 3 ตวัล อยสา่ งท่ึซีม 3.3 จงหาคสา่ ของ 15 - 3 * 2^3 / 4 ผลลัพล ธร์ 8 ลจาดับล ท่ึซีม นิพพจน์ร 24 1 2 ^ 3 (สอง ยกกจาลังล 3) 6 2 3*8 9 3 24 / 4 4 15 - 6 54 | ขอ้ข มลมู และนพิพ จนร์

ตวลั อยา่ส งทึ่มีซ 3.4 จงหาคสา่ ของ 15 + 3 * 2 / 4 - 5 นพพิ จน์ร ผลลพัล ธ์ร 3*2 6 ลาจ ดบลั ทึ่ีซม 6/4 1.5 1 15 + 1.5 16.5 2 16.5 - 5 11.5 3 4 ตวัล อย่สางทซึ่มี 3.5 จงหาคส่าของ (15 + (3 - 2)) / 4 นพพิ จนร์ ผลลพลั ธร์ 3-2 1 ลจาดลบั ท่ึมีซ 15 + 1 16 1 16 / 4 4 2 3 ตวัล อยส่างทมีซ่ึ 3.6 จงหาคส่าของ (7 + 9) AND (7^3 * 12 / 4) ลาจ ดบลั ทึซี่ม นพิพจน์ร ผลลพัล ธร์ 1 7^3 49 2 49 * 12 588 3 588 / 4 147 4 7+9 16 5 588 0 ขขอ้ มมลู และนพพิ จนร์ | 55

ตวัล อยส่างทซ่มีึ 3.7 จงหาคาส่ ของ (7 * 9 + 7) / (3 + 12) * 4 ลจาดลับทึ่ซมี นพพิ จน์ร ผลลัลพธ์ร 1 7 * 9 63 2 63 + 7 70 3 3 + 12 15 4 70 / 15 4.66 5 4.66 * 4 18.65 6. สรปรุ คส่าคงทึมี่ซและตัลวแปร เป็ปนสส่วนสจาคัลญทึ่ซมีจะนจามาแกข้ปัปญหาดข้วยคอมพพิวเตอรร์ โดยตลัวค่สาคงที่ึซมจะไม่ส สามารถเปลีซึ่มยนแปลงคส่าใดในขณะโปรแกรมทจางาน ส่สวนตลัวแปรจะสามารถเปลึีซม่ยนแปลงค่สาในขณะท่ึมีซ โปรแกรมทจางาน การต้ัทลงชซึ่ืรอตัลวแปรคส่าคงท่ึมีซหรรือตลัวแปรทึ่ลัซวไปกก็จะมีมกฏของการตทัล้งช่ึซืรอเพืรซึ่อให้ขเรมียกใชข้ได้ข อยสา่ งถกูม ตข้อง เปน็ป ไปตามข้ขอกาจ หนดของภาษาคอมพวพิ เตอรรท์ ซีมึ่เลืรอกใช้ข ชนพิดของข้ขอมูมลจะประกอบไปดข้วยข้ขอมมูลแบบตลัวเลข ขข้อมูมลตัลวอัลกขระ ข้ขอมมูลแบบตรรกะ ขข้อมมูล แตสล่ ะแบบจะมมวี ธิพ มกี ารดาจ เนนิพ การทแีซึม่ ตกต่าส งกัลน การจดลั เก็กบในหนส่วยความจาจ กก็เป็ปนสส่วนหน่ึซงของการนาจ ตวลั แปรเหล่าส นลทั้นมาใชขง้ าน นพิพจนแร์ ละสมการเป็ปนขันท้ล ตอนวธพิ ีทม างของการแกไข้ ขปญัป หาทางคอมพวิพ เตอร์ทร ซี่ึม จะต้ของเขข้าใจในกระบวนการทาจ งานของนพิพจน์รและสมการ ประกอบไปดว้ข ย ลาจ ดัลบข้ทลันของการดจาเนิพน การ ความสาจ คลญั ของเครึ่ซอืร งหมาย เป็ปนตข้น 7. คกาถามทา้ข ยบท 1. จงอธพบิ ายความแตกต่าส งระหวา่ส งคา่ส คงท่ีมแึซ ละตวลั แปร 2. จงบอกเหตุนผลว่าส ขอ้ข มมูลชนิพดใดควรจะเปป็นค่สาคงทซมี่ึ 3. จงบอกเหตผนุ ลวสา่ ขอข้ มมูลชนิดพ ใดควรจะเปป็นตวัล แปร 56 | ข้อข มลมู และนิพพ จน์ร

4. จงเขมยี นชซอ่ืรึ คาส่ คงทมึ่หีซ รรือตวัล แปรทม่ึซีถกมู ตอ้ข งมา อย่าส งละ 5 ช่ึรอืซ 5. ขข้อมมูลตวัล เลขมมีกซมช่ีึ นิพด อะไรบข้าง 6. จงเขยมี นเครซึ่อืร งหมายสจาหรลับการประมวลผลตวลั เลขจจานวนจรงพิ 7. จงกจาหนดชรือซ่ึ ตวลั แปรอกลั ขระท่ซีึคม วรจะมีมเฉพาะตวลั เลข 8. ขขอ้ มลูม ตรรกะจะได้ผข ลกมอ่ึซี ย่าส ง อะไรบขา้ ง 9. จงแสดงลาจ ดับล ข้ัทนล ของการประมวลผลของนพิพจนร์ตอ่ส ไปนีท้ัม และ หาผลลพลั ธร์ท่ซีึมได้ข 5 * 7 + 2 / 4 - (9 / 2) * 3^2 10. จงแสดงลจาดลบั ข้ัทนล ของการประมวลผลของนิพพจน์ตร สอ่ ไปนัี้มท และ หาผลลพัล ธร์ทไมีซึ่ ด้ข ((5 * 7) AND 2 / 4) OR (9 > 2) * 3^2 ขอ้ข มลูม และนิพพ จน์ร | 57

เอกสารอา้ข งองนิ ทลักษพณิ า สวนานนทร์. (2546). พจนานรุกรมศพัต ทนคอมพวนิ เตอรแน ละอินนเทอรนเน็นต (พินมพคน รัตง้ ทที่ 10). กรุงน เทพฯ. หจก. วมี.ทีม.ซมี. คอมมวิพ นเิพ คช่ัลนึซ . Dierbach, Charies. (2013). Introduction to Computer Science Using Python: A Computational Problem-Solving Focus. USA: John Wiley & Sons,Inc. Sprankle, Maureen. (2012). Problem solving and programming concepts. USA: Pearson Education Inc. 58 | ข้อข มมลู และนพิพจนร์

แผนบริรหารการสอนประจาจ บทที่ท 4 หลลกั การพลัฒนาซอฟต์ตแวร์ต เวลาเรทยน 6 คาบ หัวล ขอข้ เนื้นอหาประจาจ บท 1. ขนขั้ ตอนการพขฒนาโปรแกรม 2. ขขนั้ ตอนวธวิ ธ 3. ผขงงาน 4. รหขสเทธยม 5. การแกโ้ก จทยยป์ ญปั หาดกว้ ยคอมพิวว เตอรย์ วัลตถปุถ ระสงค์ตเชรงิ พฤตรกิ รรม 1. บอกข้ัขนตอนการพฒข นาซอฟตย์แวรยไ์ ดก้ 2. บอกขขั้นตอนการววเิ คราะหงย์ านไดก้ 3. บอกความหมายของขขั้นตอนวธวิ ไธ ดก้ 4. บอกความหมายของผงข งานได้ก 5. บอกความหมายของรหสข เทยธ ม 6. บอกช่อชื สขญลกข ษณยข์ องผขงงานไดก้ วิรธทสอนและกิรจกรรมการเรยท นการสอน 1. บรรยายเนัอ้ขช หาในแตล่ต ะหวข ข้กอ พร้อก มยกตขวอยาต่ งประกอบ 2. ศึกศ ษาจากเอกสารประกอบการสอน 61

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

บททท่ี 4 หลักล การพัลฒนาซอฟตต์แวร์ต การทที่จะไดด้ซอฟต์ตแวร์ตสสาหรัรบใช้ดงานท่ทีมทประสิสทธสิภาพ จากปปัญหาหรืรอความตด้องการของผผ้ดใช้ดทท่ี จะไดด้ซอฟตต์แวรต์ไปใช้ดงานนัรน้น ผดผ้พรัฒนาซอฟต์ตแวร์ตจะมทกระบวนการทีท่เปป็นระบบ เรสิที่มจากการเข้ดาใจใน ปัญป หาของงานนร้ันน แลวด้ นาส มาวิเส คราะหต์หาส่ีงสิท ที่จท ะตอ้ด งนาส เขาด้ ไปประมวลผลซ่ีงซท เรยท กว่าว ขอ้ด มลผ ใหด้ไดคด้ วาม ถผกตด้องตามทท่ีได้ดวางแผนไว้ด ขรัน้นตอนการเขทยนโปรแกรมหรรือการเลรือกภาษาคอมพิสวเตอรต์ก็กเปป็นสท่ิสีงทท่ีจะ ตด้องคาส นซงเม่ทืรีอเลรือกมาเขทยนเปป็นซอฟตต์แวร์ต สีส่ทิงทท่ีจะต้ดองทาส หลรังจากเขทยนโปรแกรมเสรก็จแลด้วจะตด้อง ทดสอบการทาส งาน เขทยนค่วมผ อืร การใชดแ้ ละนสาสง่ว ซอฟต์ตแวร์ตสมบผรณต์ต ว่อไป 1. วิวธกท ารพัลฒนาซอฟต์แต วร์ต ในการกระบวนการพัรฒนาโปรแกรมคอมพิสวเตอร์ต เพ่ีทืรอใหด้ได้ดโปรแกรมคอมพิสวเตอรต์ท่ทีมท ประสสิทธสิภาพ ทาส งานได้ดถผกตด้อง มทเอกสารประกอบเพีรืท่อใหด้ผผด้ทที่มทส่ววนเกท่ียวขด้องสามารถใชด้โปรแกรม คอมพวสิ เตอรไต์ ดด้ ซีงซ่ท สิส่ทงี ทก่ที ลา่ว วมาจะตด้องผว่านกระบวนดงรั ตวอ่ ไปนั้ทน 1.1 ขนั้นร ตอนเขา้ด ใจปญปั หา (problem solving) การแก้ดปัปญหาเปป็นกระบวนการหนทซี่งในหลายกระบวนการ ก่วอนทที่โปรแกรมจะถผกเขทยนข้นัซนใชด้ งาน จะตด้องเขา้ด ใจปปญั หาทท่ีจะแกดไ้ ขเปน็ป อย่าว งดท ไมว่ควรมองขา้ด มปญปั หาเลก็กน้ดอย เพราะหากมองปปัญหาไมว่ ทว่องแท้ดจะทสาใหด้เราเขด้าใจแบบผิสด ๆ จะสว่งผลตว่อเน่ีรืทองไปยรังขรนั้นตอนอ่ืทีรนได้ด โปรแกรมทท่ีเขทยนขซ้นันกก็จะไมว่ ตรงกัรบความตด้องการของผด้ผใช้ด หรรือไม่วสามารถแกด้ปัปญหาไดด้ และกก็จะส่วงผลเสทยกลรับมาก่วอใหด้เกสิดความ เสยท หายขั้ซนนได้ด เชน่ว การสญผ เสทยดาด้ นเวลา ค่าว ใชจ้ด าว่ ย และโอกาส (Dierbach, Charies, 2013: 18-21) การศซกษาเพทืีร่อเขด้าใจในปัปญหาเปป็นเรืรที่องสสา คัรญท่ีทจะตด้องอาศรัยความสามารถของผ้ดผมท ประสบการณต์ เพราะประสบการณ์ตททผี่ วา่ นมาจะทสามองปปัญหาได้ดอยาว่ งครอบคลุลม ลซกซั้นซง คาดการณต์กรับ ส่ทิีสงทที่จะเกิสดขซ้ันนได้ด ฉะนนัร้นการฝึฝกฝนการเข้ดาใจปปัญหาจะเปป็นวสิธททีท่ดทในการเรทีส่ิมต้ดน โดยจะเรทิส่ีมจากปปัญหา เลกก็ นด้อยททไี่ มมคท วามซรับซด้อน จนมคท วามชสานาญจซงศกซ ษาปัปญหาททใี่ หญว่ขนันซ้ เป็ปนลสาดับร ตว่อไป การพฒัร นาซอฟต์แต วรต์ | 61

รปผ ที่ท 4.1 กระบวนพัรฒนาซอฟตต์แวร์ต (ท่ทีมา : โอภาส เอ่ีทยมสิรส วสิ งคต์, 2557: 422) 1.2. ขัน้รนวิสเคราะหตป์ ปัญหา (problem analysis) ปัปญหาทท่ีจะนาส มาแก้ดไขปัปญหาดด้านการคาส นวณด้ดวยคอมพิสวเตอรต์ จะตด้องผว่านการวสิเคราะหต์ถซง ปัปญหาอยว่างท่วองแทด้ จะทสาให้ดการแกด้ไขปัปญหาเปป็นอย่วางมทระบบและมทแบบแผน ซซ่ีทงมทจะมทวสิธทการดรังนั้นท (Dierbach, Charies, 2013: 18) 1. ทาส ความเขด้าใจปปัญหาท่ีทเกิสดขน้ัซนอย่วางชัรดเจน ในประเด็กนพรื้ันนฐานในการคสานวณสสาหรรับการ แกได้ ขปญัป หาท่ทีมทความแน่วนอนของแตล่ว ะปญัป หาอยา่ว งตรงไปตรงมา 2. พัรฒนาวิสธทการแก้ดไขปปัญหา สิีท่สงทที่สสาคัรญคืรอจะต้ดองทาส ความเขด้าใจปัปญหาอย่วางชัรดเจน ปัปญหา ในการคาส นวณในคอมพสวิ เตอรจ์ต ะตอ้ด งรผดว้ ่าว สง่ีสิท ทที่เปป็นวิสธกท ารแก้ดปัญป หา สสาหรบรั ปปญั หาบางอยา่ว งมเท พทยงหนงีทซ่ วธิส กท ารททส่ี ามารถนาส มาแก้ดปัปญหาไดด้ แตว่สสาหรัรบงานอทืรี่น ๆ อาจจะมทหลายวธสิ ทของการแกด้ปปัญหาได้ด ดัรงน้รันน การโปรแกรมอาจจะพบวิธส ตท ามทรท่ี ะบุลไวดไ้ ดด้ 1.3. ขันนร้ พฒรั นาโปรแกรม (program implementation) การตัดร สิสนใจในการออกแบบ โดยการกาส หนดให้ดรายละเอทยดทท่ัีรวไปของการแสดงขด้อมผลและ วิสธทการสาส หรรับการแก้ดปัปญหา แต่วไมว่ไดด้ระบุลวว่าการเขทยนโปรแกรมภาษาทท่ีจะเลืรอกใชด้หรรือวสิธทการใช้ด โปรแกรม เป็ปนการตัรดสสินใจสสาหรรับขัรน้นตอนการดาส เนสินการ เนีื่รทองจากการเลรือกโปรแกรมในการพัรฒนา 62 | การพฒรั นาซอฟตแต์ วรต์

การดสาเนสินการจะต้ดองมทการใช้ดไวยากรณต์ทที่ถผกต้ดองและวิสธทการทที่เหมาะสมโดยใชด้คสาส่ีัรทงและคุลณสมบัรติสทท่ีมท อย่ผวในภาษานนน้รั ตวัร อยว่างในภาษาไพธอน n = input(\"enter a number : ?\") if (n % 2 == 0): print(\"This number is Even\") else: print(\"This number is Odd\") 1.4. ขนัรน้ การทดสอบโปรแกรม (program testing) หลกัร การและเปปา้ หมายของการทดสอบ คอืร การหาความผดิส พลาดใหพ้ด บ ตวรั ทดสอบทีท่ดทควรจะ มทความเปป็นไปไดด้สผงท่ีทจะหาความผิสดพลาดพบ ชลุดทดสอบตด้องมทคุลณสมบรัติสทท่ีเขด้าถซงเปป้าหมายของการ หาความผสิดพลาดใหไ้ด ดด้มากที่ทสลุด (พรฤดท เนติโส สภากลุล , 2549: 288) การทดสอบโปรแกรมคืรอ การทดสอบเปป็นกระบวนการของการดาส เนิสนการโปรแกรมทท่ีมทความ ตรัน้งใจทจที่ ะหาขด้อผสิดพลาด (Myers, Glenford J, 2004: 6) หลรักการข้ันรนตอนการทดสอบการทสางานของโปรแกรมอย่วผ 2 แบบ คืรอ การทดสอบแบบกล่วอง ดาส (blackbox testing) และการทดสอบแบบกล่วองขาว (whitebox testing) (มนตต์ชรัย เททยนทอง, 2548: 304) 1. การทดสอบแบบกลว่องขาว เปรทยบเสมรือนการประเมิสนภายในกลว่อง โดยไม่วพิสจารณา องค์ตประกอบภายนอก ไดด้แก่ว สว่ว นของการนสาเขด้าและสว่วนของการแสดงผล เป็ปนวิสธทการประเมิสนผลที่ท ม่วุลงเน้ดนการทดสอบภายในเปป็นหลรัก ได้ดแก่ว โครงสรด้างของโปรแกรม (structure) การออกแบบ (designed-based) และรหัรสของโปรแกรม (code-based) การประเมิสนด้ดวยวสิธทนนัท้จซงเป็ปนการประเมิสน ทางดด้านเทคนิสคโดยเฉพาะ การประเมสินดดว้ ยวสธิ ทนั้นทจะทสาไดด้คว่อนข้ดางยาก อยว่างไรก็กตาม ถด้าใช้ดภาษาคอม พิสวเตอรต์พัรฒนา เช่วน VB, ASP, PHP ก็กสามารถนสาวสิธทแบบกล่วองขาวไปใช้ดในการประเมสินได้ด ผดผ้ทีท่ทสาการ ประเมิสนจซงต้ดองเป็ปนโปรแกรมเมอร์ตหรรือผผ้ดท่ทีมทความเชที่ยวชาญทางดด้านการโปรแกรมเท่วาน้ัรนนเนืท่รีองจาก เปนป็ การทดสอบภายในโปรแกรม 2. การทดสอบแบบกลว่องดาส เปรยท บเสมรือนเปป็นการทดสอบภายนอกกลว่อง โดยจะพิสจารณา เฉพาะสวว่ นของการนสาเข้ดาและสว่วนของการแสดงผล ไม่พว ิสจารณาภายในกล่วองอัรนไดด้แก่ว โครงสรด้างของ โปรแกรมและรหรัสของโปรแกรม ซซท่ีงเปป็นวสธิ ทการประเมิสนที่ทตรงกรันขด้ามกรับกลว่องขาว เมืที่รอนสาไปประเมสิน การพัรฒนาซอฟต์ตแวร์ต | 63

ผลแล้วด จซงมุล่วงเน้ดนเฉพาะผลลรัพธ์ตทไที่ ดด้จากโปรแกรม และส่ววนของการนสาเขด้าเทว่าน้ันรน ไมว่ไดด้ให้ดความสสาคัรญ กัรบสว่วนประกอบภายในตรัวโปรแกรมแต่วอยว่างใด วิสธทกล่วองดาส จซงพิสจารณาทางด้ดานหนด้าทที่การทสางาน (functionality) ตลอดจนคณลุ สมบัตร ขิส องงานเปป็นหลรกั ประเดนก็ ทงั้นร สองนนท้จั ะเกที่ยวขดอ้ งกบรั ผดผ้ออกแบบงาน ผผด้เช่ีทยวชาญหลาย ๆ ด้าด นจะเปป็นผผ้ดประเมสินระบบแลด้วไม่วจสาเปป็นต้ดองใชด้โปรแกรมเมอร์ตใหด้เปป็นผผด้ประเมิสน แตวอ่ ยา่ว งใด ในการประเมิสนทน้รังแบบกลว่องขาวและแบบกล่วองดาส สว่วนใหญ่วจะใชแ้ด บบสอบถามแบบมาตรา สว่วนประเมนสิ คา่ว เพี่อรืท สอบถามความคดสิ เห็กนในประเดน็ก ตาว่ ง ๆ ทท่ีกาส หนดหัรวขด้อไวด้ 1.5. ขนัน้ร จรัดทาส เอกสารและบาส รงลุ รรกั ษา เอกสารตาว่ ง ๆ จะถผกดสาเนิสนการในทลุกขร้ันนตอนการพรัฒนา ตนรัง้ แตว่ขั้รนนตอนแรกจนถซงขรั้นนตอนการ ทดสอบโปรแกรม ในเอกสารจะมทรายละเอทยดระบุลวว่าโปรแกรมนท้ัน ใชด้กรับระบบปฏสิบรัติสการใด การติสดต้รันง การเรทยกใชด้งาน การปิปดการใชด้งาน ความตด้องการทรรัพยากรของระบบ ขด้อปฏิสบรัตสิระหวว่างการตสิดตัน้รง ระบบ ข้อด ระวงรั ในระหววา่ งการใชง้ด าน เป็ปนตด้น ปกติเส อกสารประกอบโปรแกรมจะประกอบไปดดว้ ย 1. คม่ผว รือปฏสิบตรั งสิ านสาส หรรบั ผใดผ้ ช้ด (user documentation) เหมาะสสาหรรับผ้ผดใช้ดทที่ไม่วตด้องเกีท่ยวข้ดองกัรบการพัรฒนาโปรแกรม แต่วเปป็นผด้ผใชด้งานโปรแกรม อย่วางเดทยว จะเน้ดนการอธสิบายเกที่ยวกรับการใชด้งานโปรแกรมเปป็นหลัรก ตรัวอยว่างเชว่น โปรแกรมนทนั้ทาส อะไร ใชด้งานไดด้ท่ทีไหน ขด้อมผลเขด้ามทลรักษณะอย่วางไร ขด้อมผลออกหรืรอผลลรัพธ์ตมทลรักษณะอยว่างไร การเรทยใช้ด โปรแกรมทาส อย่วางไร คสาสี่ัรทงหรืรอข้ดอมผลที่ทจาส เป็ปนใหด้โปรแกรมเริีทส่มทาส งานมทอะไรบ้ดาง อธสิบายเกที่ยวกัรบ ประสทสิ ธิภส าพและความสามารถของโปรแกรม 2. คผว่มอืร ระบบ (system documentation) เอกสารชนดสิ เปป็นส่วว นสาส คัรญอย่วางยิ่สีงท ที่ทจะตด้องศซกษาให้ดละเอยท ดกว่อนทท่ีจะตดสิ ตัน้รงโปรแกรม ใช้ดงาน เพราะจะมทขด้อกสาหนดวว่า โปรแกรมเหมาะสาส หรัรบเครีร่ืทองชนิสดใดบ้ดาง ใช้ดระบบปฏสิบัรติสการใด จะ ต้ดองเชีื่ทรอมตว่อผ่วานระบบเครรือขว่ายคอมพิสวเตอร์ตหรืรอไมว่ จะตด้องกาส หนดเครที่ืรองใหด้บริสการทางด้ดานฐาน ขด้อมผลหรอืร ไม่ว และจะต้ดองกสาหนดรายละเอยท ดเปป็นอย่วางไรบ้ดาง และจะตด้องปฏสิบรัตสิการขด้อกสาหนดนั้รนนทลุก อยวา่ งเพที่อืร ทจที่ ะใหกด้ ารตดิส ตัน้รงโปรแกรมสามารถทาส งานไดด้และปฏสบิ รตั สิงานได้เด ป็นป ตดน้ 64 | การพัฒร นาซอฟตตแ์ วรต์

2. ขลน้ัข ตอนวิวธท (algorithm) ราชบรัณฑสติ ยสถาน ได้ดบรัญญรัติคส สาวว่า อัรลกอรสิทซม เปป็นภาษาไทยวว่า ขนัร้นตอนวิสธท ซ่ีทซงมทความหมาย ถซง เป็ปนลาส ดบัร ของขรนั้นตอนการคสานวณททีใ่ ช้ดแกได้ ขปปัญหา โดยการเปลท่ียนข้ดอมผลนสาเข้ดาของปัปญหา (input) ออกเป็ปนผลลรพั ธต์ (output) ขนั้รนตอนวธสิ ดท งัร กลว่าวจะสามารถเขยท นเปปน็ โปรแกรมคอมพวิส เตอรไต์ ด้ด (ทกัร ษณสิ า สวนานนท์ต, 2546: 15) ข้นันร ตอนวธิส ท หมายถงซ ลาส ดัรบขร้ันนตอนวิสธทในการทาส งานของโปรแกรมเพืรท่ีอแก้ดปัปญหาใดปัปญหาหน่ซทีง ซี่ซทงถ้ดาปฏสิบรัตสิตามขนัร้นตอนอยว่างถผกตด้องแล้ดว จะต้ดองสามารถแกด้ปัปญหาหรรือประมวลผลตามตด้องการได้ด (ขนสษิ ฐา นามท, 2548: 3) ขัร้นนตอนวสธิ ทการ ครือ ขรั้นนตอนทที่อธสิบายไวด้อยว่างชัรดเจน ขรัน้นตอนทท่ีเปป็นไดด้และสามารถปฏสิบัรติสตาม กระบวนการต้อด งการเพรท่ีือใหได้ ดด้ผลลพรั ธตท์ ่ถที ผกตดอ้ ง (Dierbach, Charies, 2013: 6) สรลุป ขนัร้นตอนวิสธท คืรอ ลาส ดรับขั้นรนตอนทที่อธิสบายการทาส งานไว้ดอยว่างชัรดเจน เพีทร่ือแกด้ปัปญหาอย่วางใด อยว่างหนีท่ซง เพทอรีื่ ประมวลผลข้ดอมผลทนีท่ สาเขาด้ แลดว้ นสาผลขด้อมลผ สวง่ ออกในรผปแบบของสารสนเทศและถกผ ตด้อง ในการเขทยนอธิสบายขั้นรนตอนวสิธทสามารถเขทยนได้ดหลายรผปแบบ เชว่น ผัรงงาน รหรัสเททยม และ ภาษาคอมพิสวเตอรต์ และในปปัญหาเดทยวกรันสามารถคสิดขนรั้นตอนวิสธทเพท่ีืรอมาแกด้ไขปัปญหาไดด้หลายแบบ โครงสรด้างฮาร์ตดแวร์ตคอมพิสวเตอร์ตก็กจะใชด้ทรรัพยากรไม่วเทว่ากัรน ดรังนรน้ัน การจะเปรทยบเททยบว่วาโปรแกรม คอมพวิส เตอรใต์ ดมทประสสิทธิภส าพดทกวาว่ กนัร โดยใชข้ด ร้นนั ตอนวธสิ ท (ขนสิษฐา นามท, 2548: 4) 3. ผลงั งาน (flow chart) การพรัฒนาโปรแกรมมทความจสาเปป็นจะตด้องสรด้างสรัญลรักษณ์ตความเข้ดาใจระหว่วางผผ้ดออกแบบและผด้ผ เขทยนโปรแกรม เพืี่อรท สืรอที่ สารส่ทสงิี ททผ่ี ดอ้ผ อกแบบ ผผเ้ด ขทยนโปรแกรมจะทสางานรวว่ มกนรั ทาส ใหงด้ านทไที่ ดดว้ างแผนไว้ด สาส เร็กจลุลล ว่ว งตามกรอบเวลาทีทก่ าส หนด และสามารถนาส มาปรัรบแกด้ไขถา้ด หากเกดิส ขด้อผดิส พลาดขนันซ้ ผรังงาน คอืร แผนภาพแสดงลาส ดบรั ขนนั้ร ตอนการทาส งานของโปรแกรมตนั้รงแตว่จดุล เรสีิ่ทมตดน้ ถซงจดลุ สิั้สนน สุลด โดย นสาเสนอผว่านสรญั ลัรกษณ์ตมาตรฐานทที่มอท ยว่ผ เพ่อทรีื สอรีื่ท ความหมายความเขด้าใจตรงกรนั ผรงั งานเปป็นตัวร แทนแนว ความคสิด เพืรที่อแสดงลาส ดรับขันร้นตอนการทสางานในแต่วละกสิจกรรมให้ดมทความเปป็นรผปธรรมทที่สุลด งว่ายตว่อ ทาส ความเข้าด ใจ (โอภาส เอย่ที มสสิรวิส งคต์, 2557: 425) ประโยชนขต์ องผรังงาน 1. นาส มาใชด้เพร่ีทือถ่วายทอดแนวคิดส ทีไ่ท ดด้จากการวิสเคราะหต์งาน ด้วด ยการใชด้สัรญลกัร ษณ์ตทที่มทความเป็ปน การพฒรั นาซอฟต์ตแวรต์ | 65

สากลและสืที่รอความหมายได้ดดท ทสาให้ดเขด้าใจลาส ดรับขนรั้นตอนการทสางาน ความสรัมพัรนธต์ระหว่วางขรั้นนตอน ปฏิสบรตั ิสงานตา่ว ง ๆ เพ่อรทีื ให้ดผ้ดผเขยท นโปรแกรมสามารถนสาไปประกอบในการเขยท นโปรแกรมได้ด 2. นสามาใช้ดเป็ปนสีื่รทอกลางในการตสิดตว่อ การประสานความคสิดระหวว่างผ้ดผใชด้กรับผ้ผดเขทยนโปรแกรม หรอรื ผเด้ผ ขทยนโปรแกรมกบรั ผวผด้ ิเส คราะหรต์ ะบบ 3. นสามาเพ่รืีทอใช้ดทดสอบ หรรือ ทบทวนขรัน้นตอนการทสางาน เพ่ีทืรอหาขด้อผิสดพลาดในข้ัรนนตอนการ ทดสอบ นสามาเปน็ป เอกสารประกอบโปรแกรมเพ่อีืทร บสารงลุ รกรั ษาระบบ 3.1 ประเภทของผังร งาน ผัรงงานมทใช้ดอยว่ผหลายประเภท ส่ววนผัรงงานทท่ีนาส มาใชด้กรับงานคอมพสิวเตอรต์มทอยว่ผ 2 ประเภท ครือ ผงัร งานระบบ และ ผงัร งานโปรแกรม (โอภาส เอ่ยที มสิรส วิส งคต์, 2557: 426-428) 1. ผัรงงานระบบ (system flowchart) แสดงขร้นัน ตอนการทาส งานของระบบทั้นรงหมดในลัรกษณะ แบบกว้ดาง ๆ ดด้วยการแสดงเฉพาะตรัวชิสน้ันงานของระบบ วว่าต้ดองทาส อะไรบด้าง โดยไม่วตด้องลงลซกในราย ละเอยท ดของงานนั้นนร ตอด้ งทสาอยาว่ งไร ผรงั งานระบบโดยปกตสจิ ะเกทีย่ วขดอ้ งกรับงานในภาพรวมทรั้งน หมด รผปท่ที 4.2 ผังร งานระบบ 66 | การพัฒร นาซอฟตแต์ วรต์

2. ผรังงานโปรแกรม (program flowchart) จะแสดงรายละเอทยดขนัร้นตอนการประมวลผลใน คอมพวิส เตอรต์ โดยจะมทลสาดับร ขัร้นนตอนการทสางานอย่วางละเอทยด ผผ้ดเขทยนโปรแกรมสามารถนาส ผัรงงานไปใชด้ ประกอบการเขทยนโปรแกรมทัรนทท ในสัรญลัรกษณต์ของผรังงานโปรแกรมจะมทความเกท่ียวขด้องกัรบคาส สั่ีทรงของ ภาษาคอมพวิส เตอร์ต แต่วละสัญร ลกัร ษณจ์ต ะมคท วามหมายทีทอ่ า้ด งถงซ งานทท่จี ะกระทาส รผปทีท่ 4.3 ผงัร งานโปรแกรม (ทท่ีมา : Hanly, Jeri R., Elloit, Koffman B, 2013: 230) 3.2 สัรญลักร ษณข์ต องผัรงงาน ในการเขทยนผรังงาน จะตด้องเขทยนใหด้ถผกต้ดองตามมาตราฐาน เพ่รีทือสืรี่ทอความให้ดตรงกรันระหวว่างผ้ดผ วสเิ คราะหร์ต ะบบและผผด้เขทยนโปรแกรม โดยมทสัรญลรกั ษณท์ต ่ีทสามารถเลรอื กใช้มด าเขทยนไดด้ด ังร นนทั้ การพรฒั นาซอฟต์ตแวร์ต | 67

ตารางทที่ 4.1 สัรญลัรกษณ์ผต งรั งาน สญรั ลกรั ษณ์ต ความหมาย/หน้ดาทท่ี จดุล เรีส่มิท ต้นด หรือร จดลุ สสัน้นิ สดุล ของโปรแกรม ภายในจะมทขดอ้ ความระบวุล าว่ \"เรมิท่ีส \" หรอืร \"จบ\" หรืรอ \"start\" หรรือ \"stop\" การรบรั ข้ดอมลผ เข้ดา หรอรื แสดงข้อด มลผ ระหวาว่ งปฏสิบัตร ิงส าน ภายในตดอ้ งระบุลวาว่ \"รบัร คาว่ \" และตวรั แปรทจที่ ะจดัร เก็บก หรืรอ \"แสดง\" พรอ้ด มตวัร แปรทจ่ที ะจรดั เกก็บหรืรอ \"input\" หรือร \"read\" หรือร \"display\" หรรอื \"write\" หรรือ \"print\" การแสดงผลทางจอภาพ ภายในจะระบุล สสีิ่งท ททตี่ อด้ งการแสดง จะเป็นป ตรวั แปร หรืรอ ค่าว คงทกี่ท กไ็ ด้ด การแสดงผลลัพร ธอต์ อกทางเครี่ทืรองพิมส พภต์ ายในจะระบุล ส่ทิงสี ทตที่ ้อด งการแสดง การประมวลผล ภายในจะระบุล สผตรการคาส นวณ การกาส หนดค่าว ใหด้แกตว่ ัรว การกระทาส กรับข้ดอมลผ การเปรทยบเทยท บค่าว หรรือ การตดรั สสินใจ หรรือ การพจิส ารณาทางเลรอื ก ภายในจะระบลุ เงทรืี่อนไขทท่ีจะพสิจารณา หรรือ เปรทยบเททยบ ซซท่ีงผลการเปรทยบ เทยท บจะมท ผลทไ่ที ดด้จะมทคาว่ เปนป็ จริงส หรืรอ เทจก็ เทว่านัร้นน (True or False) การเรทยกใชโด้ ปรแกรมย่อว ย ภายในจะระบุล ช่ทอืรี โปรแกรมยอ่ว ยททีต่ อด้ งการเรทยก พรอ้ด มการสง่ว ผา่ว นค่าว ถาด้ มท Counter รผปหลายเหลที่ยมจะใชด้สสาหรัรบการทาส ซสนา้ั ทที่มทการนัรบ จะเร่ีสทิมนัรบจาก A ไปถซง B AB และเพทม่ิสี ครัรนง้ S โดย A, B และ S มกัร จะเปป็นคา่ว คงท่ีท ตวรั แปร หรือร นิสพจน์ต S เส้นด ทิสศทาง แสดงลสาดับร ของการทสางาน เชทืร่ีอมตอว่ ระหวาว่ งกล่อว ง และมทหวัร ลกผ ศรบอกทิสศทางเพทยงดา้ด นเดทยวเทาว่ นรัน้น A จลุดเช่ีทืรอมตว่อระหวว่างหน้ดากระดาษภายในจะระบลุ ตวัร เลขหรรือสรัญลรักษณ์ตทที่บอก ใหร้ด ว้ดผ า่ว จากจดลุ น้ทัจน ะไปเชีอทรื่ มตอว่ ยรงั จดลุ ใดของหน้าด กระดาษอีน่รืท จดุล เชทืร่อี มตวอ่ ภายในหนาด้ กระดาษเดทยวกันร ภายในจะระบุล ตรัวเลขหรืรอสรัญลัรกษณ์ตท่ีทบอกให้ดรผด้วว่าจะมทจุลดใดมาเช่ืรทีอมตว่อหรรือ จะเชืรอ่ีท มตอ่ว ไปยัรงจดุล ใด (ที่มท า : Sprankle, Maureen, 2012: 49-50) 68 | การพัรฒนาซอฟตแต์ วรต์

จากขัน้รนตอนวิสธทสามารถนสามาพัรฒนาเป็ปนผัรงงานไดด้ อย่วผในสรัญลรักษณต์ทางกราฟปิก ขัร้นนตอนวิสธท และผรังงานจะเปป็นขรั้นนตอนสุลดทด้ายของการจรัดการกัรบปปัญหาทีท่มทอย่ผว ผผ้ดเขทยนโปรแกรมสามารถทดสอบ ข้ดอผิสดพลาดที่ทอาจจะเกสิดขัซ้นนก่วอนทท่ีจะนาส ไปเขทยนเปป็นโปรแกรมภาษาคอมพสิวเตอร์ต ผัรงงานจะแสดงข้ดอ ผิสดพลาดทางตรรกะโดยจะไม่วแสดงในผรังงานอีืรท่น เช่วนกัรนชุลดของขด้อมผลกก็สามารถทดสอบด้ดวยขรนั้นตอนทีท่ ง่วายดว้ด ยผงรั งาน ขั้รนนตอนวธสิ ท ผรังงาน รหสรั เทยท ม Control Module Repeat Process Read 1. Repeat Process Calc Process Read Process Print Process Calc Process Print Until NoMoreEmployees Until NoMoreEmployees End 2. End รปผ ทีท่ 4.4 ผงัร งานโปรแกรมหลกัร (ท่ีทมา : Sprankle, Maureen ,2012: 51) การพัรฒนาซอฟต์ตแวร์ต | 69

ขั้นนร ตอนวธิส ท ผรังงาน รหรัสเททยม Read Module Read weight,high 1. Read weight,high Exit 2. Exit รผปทที่ 4.5 ผัรงงานโปรแกรมกระบวนงาน readModule ข้ัรนนตอนวิธส ท ผงรั งาน รหรัสเททยม BMI = weight / high^2 Calc Module Exit 1. BMI = weight / high^2 2. Exit รผปทีท่ 4.6 ผรังงานโปรแกรมกระบวนงาน calModule 70 | การพัฒร นาซอฟตแ์ต วรต์

ขั้นรนตอนวิธส ท ผรงั งาน รหสัร เททยม Print Module Print BMI 1. Print BMI Exit 2. Exit รปผ ที่ท 4.7 ผังร งานโปรแกรมกระบวนงาน printModule ผัรงงานจะแสดงลาส ดัรบของการประมวลผลจากจลุดเรีท่ิสมตด้นไปถซงจุลดสิัน้สนสุลดของปัปญหา ในแต่วละ กล่วองของผัรงงานจะแสดงถซงชดุล คสาสี่ทรังหนซทงี่ คสาสทรี่งั หรรือหลายคสาสีทัร่ง เสด้นลผกศรจะบงบอกถซงทสิศทางการไหล ของการทาส งานของผรังงาน มทบางสรัญลัรกษณ์ตจะมททสศิ ทางเขด้าหนทซ่ีงหรรือมากกวา่ว หรืรอบางสรัญลัรกษณต์ทาง อัรนก็กจะทิสศออกเพทยงหนซี่ทงทาง ยกเวด้นสรัญลัรกษณ์ตท่ีทแสดงการตัรดสสินใจ คสาสรัที่งจะถผกกาส หนดใหด้เครท่ืีรอง คอมพวสิ เตอร์เต ลืรอกทางใดทางหนทงี่ซ ดงัร น้รนัน สัญร ลรกั ษณต์จงซ มสท องทางออก ทางออกทางเดทยว ทางออกสองทาง รปผ ทที่ 4.8 ลรกั ษณะผัรงงานทม่ีท ทท างออกทางเดยท วและสองทาง การพัฒร นาซอฟตต์แวร์ต | 71

รผปท่ที 4.9 ลาส ดบรั ของการทาส งานในผงัร งาน (ททม่ี า : Sprankle, Maureen, 2012: 52) 4. รหัสล เททยม ผรังงานท่ีทผ่วานมาเป็ปนวิสธทการพัรฒนาโปรแกรมคอมพสิวเตอร์ตแบบหนท่ีซง ท่ีทจะบว่งบอกถซงทิสศทางการ ทสางานของกระบวนงาน นอกจากนัน้รนยรังเป็ปนช่วองทางติสดตว่อสีรทื่อกัรนระหว่วางผด้ผวสิเคราะหต์และผ้ผดเขทยน โปรแกรม ถด้าเปนป็ งานใหญ่วทที่มรท ายละเอทยดมากอาจจะไมว่สอืร่ที สารออกมาได้ดอยา่ว งชรัดเจน การเขทยนรหรัส เทยท มเป็นป อกท วธิส กท ารหน่งซที ทท่จี ะสอืที่ร สารได้ดอยาว่ งชดรั เจนในงานทท่ีมลท ะเอทยดมากขนันซ้ รหัรสเททยม หมายถซง การเขยท นโปรแกรมโดยไมว่คสานซงถซงไวยากรณ์ต แตว่เปป็นโปรแกรมภาษาท่ีทนรักเขทยน โปรแกรมเข้ดาใจกรันได้ด มทลัรกษณะเป็ปนภาษาอรังกฤษธรรมดาส่ววนหนซีท่ง เป็ปนภาษาทสาโปรแกรมอทกส่ววน หนีซ่งท (ทกรั ษสณิ า สวนานนทต์, 2546: 546) รหรัสเททยม คืรอ กลุว่ลมของขรนั้นตอนหรืรอกฏเกณฑต์ที่ทจะนสาไปสผ่วการแก้ดไขปปัญหาขน้ัรนตอน วิสธททที่ประกอบ 72 | การพัรฒนาซอฟต์ตแวรต์

ด้ดวยชลุดคสาสรทัี่งเป็ปนขนัร้นเป็ปนตอนทท่ีชัรดเจน และรัรบประกรันว่วาเมท่รืีอไดด้ปฏสิบรัติสถผกตด้องตามขัน้รนตอนจนครบกก็จะ ไดด้ผลลรัพธท์ต ที่ถผกตอ้ด งตามตด้องการ โดยมทถ้ดอยคาส หรืรอประโยคคาส สัรีท่งทท่ีเขทยนอยผ่วในรผปแบบของภาษาอรังกฤษ ทไ่ที มว่ข้นซนั กัรบภาษาคอมพวิส เตอรภ์ต าษาใดภาษาหนงซท่ี (โอภาส เอ่ีทยมสิสริวส งคต์, 2549: 37) รหรัสเทยท ม คอืร รหัสร เป็นป ประเภทของโครงสรด้างภาษาอรังกฤษ แตไ่ว ม่วมกท ฎไวยากรณท์ต ีท่เขด้มงวด มรันเปน็ป วิสธททที่ใชด้งานงา่ว ย เปป็นตรวั แทนของตรรกะในลาส ดรับรปผ แบบทีท่อ่วาน จะชวว่ ยให้ดปปัญหาคสาสีร่ัทงททจ่ี ะเขดา้ ไปจรัดการ สามารถทที่จะลดความซัรบซ้ดอนของตรรกะในลาส ดรับตามรผปแบบที่ทอ่วาน (Bart Baesens, Aimee Backiel, Seppe vanden Broucke, 2015: 3) สรลุป รหรัสเททยมครือ รปผ แบบการเขทยนชนิสดหนซที่งททม่ี ทลรักษระคลด้ายกัรบภาษาอรังกฤษ ทีท่เขทยนอย่วางเป็ปน ขรัน้นตอนเพืท่อีร แก้ดปญปั หา โดยเมร่ีือท นาส ขั้นรนตอนทพท่ี รัฒนาขั้นซนแลดว้ ไปเขทยนเป็นป โปรแกรมจะตดอ้ งขัรน้นตอนปฏบสิ ัรตทิส ่ีท ถกผ ตอด้ ง หลกรั การเขยท นรหสัร เทยท ม 1. ถอด้ ยคสาทท่ใี ช้ดเขทยน ใชภด้ าษาอังร กฤษทท่ีเขด้าใจงาว่ ย 2. ในหนซง่ที บรรทดรั ใหม้ด ทเพยท งหนีงซ่ท ประโยคคสาสี่งัทร 3. ใช้ดยว่อหน้ดาใหดเ้ ป็ปนประโยชนต์ ในการแสดงการควบคมุล อยวา่ งเป็นป สดรั ส่ววน 4. แตวล่ ะประโยคคาส สงัรที่ ให้ดเขทยนจากบนลงลว่าง และมทท างออกทางเดยท ว 5. กลลมวุ่ ของประโยคคสาส่งทัรี อาจรวมเปน็ป หมวดหมวแผ่ ลด้วเรทยกใชดเ้ ป็นป หนวว่ ย องค์ตประกอบของรหัรสเททยม ในการเขทยนข้รันนตอนวสิธทดด้วยรหรัสเททยมส่ววนใหญ่วประกอบดด้วยกิสจกรรม หลักร ดังร นนัท้ 1. นาส ข้อด มผลเข้ดา (input) เป็ปนรหสัร เททยมท่ทีใชเด้ ขทยนขันนร้ ตอนวธิส เท พอี่ืรท การนาส เขา้ด ข้อด มผล โดยสว่วนใหญ่ว จะหมายถงซ แปนป้ พมิส พ์ต จะใชค้ด สาภาษาอรังกฤษ เชว่น read และ input 2. การประมวลผล (process) เปป็นรหรัสเททยมทท่ีใชด้เขทยนขัน้รนตอนวิสธทเพีทืร่อทาส การประมวลข้ดอมผล ประกอบดว้ด ย บวก ลบ คณผ หาร และ อืที่นร ๆ จะใชคด้ าส ภาษาอังร กฤษ เชว่น add, sub, mul, div 3. แสดงผลขด้อมผล (output) เปป็นรหรัสเททยมทท่ีใช้ดขร้ันนตอนวสิธทเพทืรี่อแสดงข้ดอมผลออกทางอลุปกรณ์ต แสดงผลมาตรฐาน จะใชคด้ าส ภาษาอรงั กฤษเชวน่ display หรรอื print หรรือ write การพรฒั นาซอฟต์ตแวร์ต | 73

5. การแก้ไก ขปปัญหาโจทยท์ต างคอมพิววเตอร์ต การแกด้ไขปัปญหาโจทยต์การคสานวณทางคอมพวิส เตอร์ต จะมกท ระบวนการทาส งานอยผว่หลายขันรน้ ตอน เพรืที่อ ฝฝึกฝนกระบวนการแก้ดไขปัปญหาอยวา่ งถผกตด้องและมทระเบทยบแบบแผน และนาส ไปใช้ดเปป็นพื้ัรนนฐานความรดผ้ กาส หรรับการเขทยนโปรแกรม ประกอบขั้รนนตอนตาว่ ง ๆ ตอ่ว ไปนทน้ั (โอภาส เอ่ยที มสิสรวิส งคต์, 2557: 445) 1. กาส หนดสทิส่ีงท่ีทโจทยต์ต้ดองการ เปป็นขรัน้นตอนการวสิเคราะหต์ปัปญหาจากโจทย์ตที่ทกาส หนด จะตด้องทาส การ แยกแยะสง่สีิท ที่ทโจทยตต์ อ้ด งการใหเ้ด ขด้าใจอย่วางทว่องแทด้ โจทย์ตตอด้ งการอะไร อาจจะมหท ลายงานก็กได้ด เปปน็ กระ บวนการทท่ีสาส คัรญอย่วางยีทิส่ง เพราะหากวสิเคราะหต์โจทยต์ผสิดพลาดหรรือไมว่ครอบคุลมปปัญหาได้ดอย่วางครบถ้ดวน กจ็ก ะสว่งผลใหดก้ ระบวนทงัรน้ หมดทจีท่ ดัร ทสามาผดิส พลาดทัรนทท 2. กสาหนดรผปแบบของผลลัรพธ์ต จะทาส การออกแบบผลลัรพธ์ตทผีท่ ้ผดใชด้ตด้องการ ข้ดอมผลทจท่ี ะแสดงออกมา นัรน้นจะตอ้ด งมรท ายละเอยท ดครบถว้ด น และจากข้ดอมลผ ออกนจนัท้ ะทาส ใหดท้ ราบวา่ว มขท ้อด มผลเขด้าอะไรบดา้ ง 3. กสาหนดข้ดอมผลเข้าด การกาส หนดข้ดอมผล เปนป็ สีง่ทสิ ทท่จี ะทาส เพร่ีทือให้คด อมพสิวเตอร์ตจะข้ดอมผลไปประมวลผล และทสาอะไรบดา้ งและมทขด้อมลผ กชท่ี นิสดประเภทใดบา้ด ง 4. กสาหนดตวรั แปร ขรั้นนตอนนทนั้เปป็นขั้นรนตอนในเชงิส โปรกรม เพราะจะกสาหนดตัรวแปรขน้ัซนมาใชด้งานแทน ความหมายของขด้อมผลที่ทจะนสาไปใช้ดในโปรแกรม การกาส หนดช่ีืทรอตัรวแปรและชนิสดของตรัวแปรควรจะ กาส หนดให้สด อดคลอ้ด งกบัร ขอด้ มผลททม่ี ทอยแว่ผ ละเหมาะสม 5. ขัร้นนตอนการประมวลผล ประกอบด้ดวยข้ันรนตอนท่ทีใช้ดสาส หรัรบการแก้ดปปัญหา ดด้วยการนาส ขด้อมผลเขด้า และตรวั แปรทีกท่ าส หนดไวม้ด าประมวลผลดวด้ ยคอมพวสิ เตอร์ต การคสานวณตา่ว ง ๆ การตรวจสอบเงี่รอืท นไข เพทีอ่ืร ให้ผด ลลพรั ธต์ต ามตดอ้ งการ โดยจะเขทยนเปนป็ คาส สรีทัง่ รหรัสคสาส่รัีทงเทยท มหรรือผรังงาน 6. สรรปุ การเขทยนขน้ัรนตอนวิสธทด้ดวยการบรรยายเปป็นวสิธททท่ีงว่ายสสาหรรับผด้ผเขทยน แต่วเม่รืทีอนาส ไปพรัฒนาเป็ปนภาษา คอมพวิส เตอรต์น้รนันยาก เนท่ีรืองจากมทข้ันรนตอนการบรรยายที่ทยาวเกสินไป การเขทยนขรั้นนตอนวสิธทดด้วยรหัรสเททยม จะมทคาส ส่รัีทงทท่ีไมว่ขันซ้นอยผว่กรับภาษาคอมพิสวเตอรต์ภาษาใด ทสาใหด้สามารถเขด้าใจได้ดง่วายและนาส ไปเขทยนเป็ปน โปรแกรมภาษาคอมพวสิ เตอรตไ์ ดด้อยว่างรวดเรว็ก แตว่กจก็ ะพบวว่าถด้ามทขัน้รนตอนทีท่ยาวกก็อาจจะไมว่สะดวกในการ เขทยนขันน้ร ตอนวธิส ดท ว้ด ยรหรสั เทยท ม การเขทยนขนัร้นตอนวิธส ดท ว้ด ยผรังงาน เป็นป อกท วธิส ทหนงซ่ที ทน่ีท สาเสนอให้ผด ดทผ้ ทจี่ ะนสาระบบงานไปพฒัร นาของเขทยน เปปน็ โปรแกรมภาษาคอมพวสิ เตอรไต์ ดอ้ด ย่วางชดัร เจน โดยท่ผีท รงั งานจะเขยท นอยวา่ งเปนป็ ข้นัรน เปน็ป ตอนทสาให้ดเขาด้ ใจ ง่วาย อว่านงว่าย และมทความใกลด้เคทยงกัรบภาษาคอมพสิวเตอรต์ทที่ผด้ผเขทยนโปรแกรมนาส ไปปรัรบใช้ดกัรบภาษา คอมพสิวเตอร์ตใด ๆ กก็ไดด้ แตว่ถด้าหากตด้องการเขทยนงานระบบใหญว่ก็กอาจจะไมว่เหมาะทีท่จะเขทยนผัรงงาน 74 | การพรฒั นาซอฟตตแ์ วรต์

เพราะตอ้ด งใชด้เวลาในการเขยท นและใช้ดทรรพั ยากรมาก ดรังน้รันนอาจจะเหมาะสาส หรัรบเขทยนเปป็นขัร้นนตอนทที่จะ นาส เสนอใหด้เขาด้ ไปในทศิส ทางเดทยวกรันหรรอื อกแบบรว่ว มกรัน 7. คาค ถามทก้ายบท 1.*การเขด้าใจในปัญป หาอย่ใวผ นขัน้นร ตอนใดของการพรัฒนาโปรแกรม 2. การทดสอบโปรแกรมมทกที่วธสิ ท อะไรบดา้ ง 3. ผัรงงานทแ่ีท สดงการนาส ขดอ้ มผลคืรอสรญั ลรกั ษณต์ใด 4. ผังร งานทีท่แสดงการประมวลผลข้ดอสรัญลัรกษณ์ตใด 5. จะบอกประโยชนข์ต องรหัรสเททยมมา 3 ขอด้ การพฒรั นาซอฟต์ตแวรต์ | 75

เอกสารอาก้ งอิงว ทัรกษสิณา สวนานนท์ต. (2546). พจนานุรกรมศัลพทต์คอมพิววเตอรต์และอวินเทอร์ตเน็นต (พิวมพ์ตครัข้ลงทท่ี 10). กรลุงเทพฯ. หจก. ว.ท ทท.ซท. คอมมสิวนสิเคช่รัทีน. พรฤดท เนตโสิ สภากลุล. (2549). วศิว วกรรมซอฟตตแ์ วรต์. กรุงล เทพฯ: สสานรักพิสมพต์ท้อด ป จาส กดัร . มนตช์ต ยัร เททยนทอง. (2545). การออกแบบและพัลฒนาคอรสต์ แวรส์ต คาหรบลั บทเรยท นคอมพิววเตอรต์ช่ชวย- สอน. กรงุล เทพฯ: ภาควชสิ าคอมพวิส เตอรต์ศกซ ษา คณะครลศุ าสตรต์ สถาบันร เทคโนโลยท โอภาส เอทย่ี มสรสิ วิส งค์ต. (2557). ววทิ ยาการคอมพิวว เตอรต์และเทคโนโลยสท ารสนเทศ (ฉบบลั ปรลับปรงุร เพิวที่มเตวมิ ). กรงลุ เทพฯ: ซทเอด็ก ยเผ คชนี่ัทร จสากดรั . โอภาส เอที่ยมสสิริสวงศต์. (2549) . โครงสรา้ก งขก้อมมูล (Data Structures) เพอทีพ่ การออกแบบโปรแกรม คอมพิวว เตอรต์. กรงลุ เทพฯ: บรษสิ ทัร ซทเอด็ก ยเผ คชีนทร่ั จาส กดัร . Bart Baesens, Aimee Backiel, Seppe vanden Broucke. (2015). Beginning Java Programming:The Object-Oriented Approach. USA: John Wiley & Sons Inc. Dierbach, Charies. (2013). Introduction to Computer Science Using Python: A Computational Problem-Solving Focus. USA: John Wiley & Sons,Inc. Myers, Glenford J. (2004). The Art of Software Testing,Second Edition. USA:John Wiley & Sous, Inc. Hanly, Jeri R., Elloit, Koffman B. (2013). Problem solving and program design in C 7th. USA:Pearson Education, Inc. Sprankle, Maureen. (2012). Problem solving and programming concepts. USA: Pearson Education Inc. 76 | การพฒัร นาซอฟต์ตแวรต์

แผนบริรหารการสอนประจาจ บทท่ีท 5 * * ขน้ัข ตอนวิรธทแบบลจาดขบ * * เวลาเรยท น 9 คาบ * หขวข้ขอเน้ัขนอหาประจาจ บท * * 1. โครงสรร้างการททางานตรรกะแบบลทาดัดบ * 2. การพดฒั นาวธิว ีกธ ารแกรไ้ ขปปัญหาแบบลาท ดดับ 2.1 แผนภภูมววิ เวิ คราะหป์ห ปัญหา 2.2 แผนภมูภ ิวการโตรต้ อบ 2.3 แผนภูภมิว IPO 2.4 แผนภมูภ กวิ ารเชชื่อมโยงและพจนานนกุ รมขร้อมภูล 2.5 เอกสารภายในและภายนอก 2.6 ขข้นดั ตอนวธวิ ีแธ ละผดังงาน วขตถถุประสงค์คเชิรงพฤตรกิ รรม 1. อธวบิ ายโครงสราร้ งการทาท งานตรรกะแบบลทาดับด ไดร้ 2. เขธียนขดัข้นตอนวธวิ ธกี ารแกร้ปปญั หาการทาท งานตรรกะแบบลทาดบดั ได้ร 3. เขธียนแผนภูมภ กิว ารส่อชื สารไดร้ 4. เขธยี นแผนภภมู วิ IPO ได้ร 5. เขธียนแผนภูมภ วิการเชอชื่ มต่ตอและพจนานกุน รมขอ้ร มูภลได้ร 6. อธิบว ายประโยชนห์ของเอกสารประกอบได้ร 7. เขธยี นขน้ัขด ตอนวธวิ ธีตรรกะแบบลทาดบดั ได้ร 8. เขียธ นผงัด งานวธิว กธี ตรระแบบลาท ดบัด ไดร้ 77


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