หน่วยท่ี 1
เนือ้ หาสาระ 1.1 บทนาเกยี่ วกับการเขยี นโปรแกรมแบบ GUI GUI ย่อมาจาก Graphical User Interface GUI (อา่ นว่า จียไู อ หรอื กุย)คือ การติดต่อกบั ผู้ใช้โดยใช้ ภาพสญั ลกั ษณ์ เป็นการออกแบบส่วนของโปรแกรมคอมพวิ เตอรใ์ หม้ ีการโตต้ อบกบั ผูใ้ ช้ โดยการใช้ Icon ,รปู ภาพ และสัญลกั ษณอ์ ื่นๆ เพ่ือแทนลักษณะตา่ งๆ ของโปรแกรม แทนทีผ่ ูใ้ ชจ้ ะพิมพค์ าสั่งต่างๆในการทางาน ชว่ ยทาให้ ผใู้ ชง้ านสามารถทางานได้ง่าย และรวดเร็วข้นึ ไมจ่ าเป็นต้องจดจาคาส่งั ต่างๆ ของโปรแกรมมากนัก ถอื เปน็ วิธกี ารให้ ความสะดวกแก่ผู้ใช้คอมพวิ เตอร์ ให้ตดิ ต่อสอ่ื สารกับระบบโดยผา่ นทางภาพ เชน่ ใชเ้ มาส์กดเลือก icon แทนการพิมพ์ คาสั่งดงั แต่ก่อน โดยเฉพาะในบางโปรแกรมที่มีคาส่งั มากๆ เชน่ โปรแกรม Autocad ท่ใี ช้ในการวาดแบบ ซึง่ จะมี คาสง่ั ตา่ งๆ ที่ใชใ้ นการสร้างรูปมากมาย ผู้ใช้สามารถใช้เมา้ ซ์ (mouse) เลือกคาส่งั ท่ีต้องการจะวาดจาก Icons ท่ี ปรากฏในโปรแกรมและใชง้ านไดเ้ ลย โดยไม่ต้องพมิ พ์คาสง่ั ตา่ งๆ ทางแป้นพิมพ์ ช่วยทาใหเ้ กดิ ความรวดเรว็ ในการ ทางาน และไม่ต้องเสียเวลาในการเรยี นรูแ้ ละจดจาคาสง่ั ท่ีตอ้ งการมากนัก เพยี งดจู าก Icons ท่ปี รากฏในโปรแกรมก็ สามารถใชง้ านไดท้ ันที ตวั อย่างโปรแกรมทช่ี ่วยออกแบบโปรแกรมที่ใช้ GUI เช่น Microsoft Visual Basic เปน็ ต้น 1.2 ประเภทของภาษาคอมพิวเตอร์ ระดบั ของภาษา(Level of Languages) ภาษาเครอ่ื ง : เป็นภาษาทม่ี ีระดับตา่ ทสี่ ุด โดยจะเขียนด้วยระบบฐานสอง ซึ่งมีเพยี ง 0 กับ 1 เทา่ นัน้ ภาษาแอสแซมบลี : จดั เปน็ ภาษาระดบั ตา่ มาก ใชต้ ัวย่อ หรือรหัสย่อในการเขียนโปรแกรม เช่น A คือ รหัสของ Add , C คือ Compare เปน็ ตน้ และตวั แปลภาษา Assembly คอื Assembler คอมพวิ เตอรส์ ามารถกระทาการ (Excute) ได้เฉพาะภาษาเคร่ืองเทา่ น้นั ภาษาระดบั สูง : เปน็ ภาษาโปรแกรมยคุ ที่ 3 ทเี่ ป็นภาษาระดบั สูงโปรแกรมจะเขียนในลักษณะคล้าย ภาษาองั กฤษ ทาให้เขยี นไดง้ ่ายข้ึน และสาหรบั ตวั แปลภาษาโปรแกรมเหล่านคี้ ือ คอมไพเลอร์ (Compiler) โดย คอมไพเลอร์จะทาหน้าท่ีแปล Souce Program ใหเ้ ป็น Oject Program โดยแปลคร้ังเดียว ยกตัวอยา่ งภาษา โปรแกรมระดบั สงู เช่น Fortran , Basic, pascal, C, Cobol ภาษาระดับสงู มาก : เป็นภาษาโปรแกรมยุคท่ี 4 ซ่งึ เปน็ ภาษาระดับสงู มาก จัดเป็นภาษาไร้กระบวน คาส่งั หมายความวา่ ผูใ้ ช้ เพียงบอกแตว่ ่าใหค้ อมพวิ เตอร์ทาอะไร โดยไมต่ ้องบอกคอมพวิ เตอรว์ า่ ส่งิ น้นั ทาอย่างไร เรียกวา่ เปน็ ภาษาเชงิ ผลลพั ธ์ คอื เนน้ ว่าทาอะไร ไม่ใชท่ าอย่างไร ดังนน้ั จงึ เปน็ ภาษาโปรแกรมท่ีเขียนงา่ ย ภาษาธรรมชาติ : เปน็ ภาษาโปรแกรมยคุ ท่ี 5 ซ่ึงคลา้ ยกบั ภาษาพูดตามธรรมชาตขิ องคน การเขียน โปรแกรมง่ายท่ีสดุ คือการเขียนคาพดู ของเราเองวา่ เราตอ้ งการอะไร ไมต่ ้องใชค้ าสง่ั งานใดๆ เลย ตวั อย่างภาษาในยุคตา่ งๆ ดังน้ี Fortran : ภาษาระดับสูงภาษาแรก เป็นภาษาโปรแกรมที่ใช้งานด้านวิทยาศาสตร์ วศิ วกรรมศาสตร์ และ ดา้ นคณิตศาสตร์ ภาษาฟอร์เทนจะประกอบดว้ ยขอ้ ความ คาส่ัง ทลี ะบรรทัด Colbol : ภาษาโปรแกรมสาหรบั ธรุ กจิ ท่ีมลี กั ษณะคล้ายกับภาษาองั กฤษ และท่ีสาคัญคือ เปน็ ภาษา โปรแกรมที่อิสระจากเครอื่ ง หมายความวา่ โปรแกรมทีเ่ ขียนข้นึ ใช้งานบนคอมพิวเตอรช์ นิดหนึง่ เพียงแค่ปรับปรุง เล็กน้อยก็สามารถรนั ได้บนคอมพวิ เตอร์อกี ชนิดหน่ึง Basic : ภาษาโปรแกรมสาหรับผู้เริ่มตน้ เปน็ ภาษาโปรแกรมทเี่ รยี นรู้งา่ ย ไม่ซับซ้อน เหมาะสาหรบั ใชใ้ น วงการศึกษา Pascal : เปน็ ภาษาสาหรับการเรียนการสอนโดยเฉพาะ เป็นภาษาท่เี ขยี นง่าย ใช้ถ้อยคาน้อย Ada : ภาษามาตรฐาน ซ่ึงพัฒนาขึ้นโดย โปรแกรมเมอร์คนแรก คอื เคาต์ Add Lovelace เปน็ ภาษาท่ี ประสบความเร็จกับงานด้านธุรกจิ C : ภาษาสมับใหม่ เปน็ ภาษาทีใ่ ช้สาหรบั เขยี นโปรแกรมระบบปฎิบัติการ เหมาะสาหรบั โปรแกรมเมอร์ที่ มีความสามารถสงู
ALGOL : เป็นภาษาทใ่ี ชเ้ ขียนโปรแกรมดา้ นวทิ ยาศาสตร์ LISP : เป็นภาษาท่ีใช้เม่อื ประมวลผลดา้ นสัญลักษณ์, อกั ขระ,หรอื คาตา่ งๆ ซง่ึ เป็นการได้ตอบระหว่างคน กับคอมพวิ เตอร์ ภาษานน้ี ยิ มใชเ้ ขยี นโปรแกรมด้านปญั ญาประดษิ ฐ์ Prolog : เปน็ ภาษาโปรแกรมสาหรบั งานดา้ นปัญญาประดิษฐ์ ซงึ่ แทนการใช้ภาษาLISP PL/1 : เป็นภาษาทีเ่ รียนร้งู ่าย ใชง้ านท้ังดา้ นวทิ ยาศาสตร์ และด้านธุรกิจ ดงั น้ันภาษานีจ้ ะมขี นาดใหญ่ มี option มาก ALP : เปน็ ภาษทเ่ี หมาะสมกับการทาตาราง มีสญั ลกั ษณต์ ่างๆ มาก Logo : เปน็ ภาษายอ่ ยของ lisp เปน็ โปรแกรมสาหรบั เดก็ มีการสนทนาโตต้ อบกับคอมพิวเตอร์ โดยใช้ \"เต่า\" เป็นสัญลกั ษณ์โต้ตอบกับคาสงั่ งา่ ยเชน่ forward, left Pilot : เปน็ ภาษาโปรแกรมที่นยิ มใชม้ ากที่สดุ ในการเขยี นโปรแกรมบทเรยี นคอมพวิ เตอรช์ ่วยสอน (CAI) เช่น งานเก่ียวกับคาสงั่ ฝกึ หดั การทดสอบ เป็นตน้ Smalltalk : เปน็ ภาษาเชิงโต้ตอบกับเครอื่ งคอมพวิ เตอรป์ ระกอบด้วยการจา และการพิมพ์ เปน็ ภาษาที่ สนับสนนุ ระบบคอมพิวเตอรภ์ าพ เป็นภาษาเชงิ วัตถุไม่ใช่เชิงกระบวนการ Forth : เปน็ ภาษาสาหรบั งานควบคุมแบบทนั ที เชน่ การแนะนากล้องดาราศาสตร์ และเป็นภาษา โปรแกรมที่มีความเร็วสูง Modula-2 : คลา้ ยคลงึ กับภาษาปาสคาล ออกแบบมาเพ่ือให้เขยี นซอฟตแ์ วรร์ ะบบ RPG : เป็นภาษาเชิงปญั หา ออกแบบมาเพ่อื ใชแ้ ก้ปญั หาการทารายงานเชิงธรุ กจิ เช่น การปรับปรงุ แฟ้มขอ้ มลู 1.3 ตัวแปลภาษาคอมพวิ เตอร์ 1.4 รูปแบบการเขียนโปรแกรมในปจั จุบนั 1.5 การเขยี นโปรแกรมในแบบ GUI ตวั แปลภาษาคอมพวิ เตอร์ (Translator) ♦ แอสเซมเบลอ (Assembler) เป็นตวั แปลภาษาแอสแซมบลีซ่งึ เป็นภาษาระดับต่าให้เป็นภาษาเครือ่ ง ♦ อินเตอร์พรเี ตอร์ (Interpreter) เป็นตวั แปลภาษาระดบั สูงซึ่งเป็นภาษาท่ีใกล้เคยี งกบั ภาษามนุษย์ ไป เปน็ ภาษาเครื่อง โดยใช้หลกั การแปลพรอ้ มกับงานตามคาสั่งทีละบรรทัดตลอดทั้งโปรแกรมทาให้การแก้ไขโปรแกรม ทาได้ง่ายและรวดเร็ว แตอ่ อบเจคโคดที่ได้จากการแปลโดยการใชอ้ ินเตอร์พรีเตอร์นนั้ ไม่สามารถเกบ็ ไว้ใช้ใหม่ได้จะจะต้องแปล โปรแกรมใหม่ทุกครั้งที่ต้องการใช้งาน ♦ คอมไพเลอร์ (Compiler) จะเป็นตัวแปลภาษาระดบั สูงเชน่ เดยี วกับอนิ เตอร์พรีเตอร์แตจ่ ะใชว้ ธิ ีแปล โปรแกรมท้งั โปรแกรมใหเ้ ปน็ ออบเจคโคด ก่อนท่จี ะสามารถนาไปทางานเช่นเดียวกับแอสแซมเบลอ ออบเจคโคดท่ีได้ จากการแปลน้ันสามารถจดั เก็บไว้เป็นแฟ้มข้อมลู เพื่อใหน้ าไปใช้ในการทางานเม่อื ใดก็ได้ตามตอ้ งการ ซึง่ เป็นขอ้ ดีของ คอมไพเลอรท์ จี่ ะนาผลทไ่ี ดจ้ ากการแปลนนั้ ไปใช้งานก่ีคร้งั ก็ไดไ้ ม่จากัด ไม่ต้องเสยี เวลาในการแปลใหม่ทกุ ครั้ง ทาให้ เป็นรปู แบบการแปลท่ไี ด้รบั ความนิยมอย่างมาก ในปัจจุบัน มหี ลักการแปลภาษาคอมพิวเตอรแ์ บบใหมเ่ กดิ ขน้ึ คอื แปลจากซอร์สโคดไปเปน็ รหสั ช่วั คราวหรอื อนิ เทอมีเดยี ตโคด (Intermediate code)ซง่ึ สามารถนาไปทางานได้ด้วยการใช้โปรแกรมในการอ่านและ ทางานตามรหัสช่วั คราวนน้ั โดยโปรแกรมนี้จะมีหลักการทางานคล้ายกับอนิ เทอพรเี ตอร์ แตจ่ ะทางานได้เรว็ กวา่ เน่อื งจากรหัสช่ัวคราวจะใกลเ้ คยี งกบั ภาษาเคร่ืองมาก มขี ้อดคี อื สามารถนารหสั ช่วั คราวน้ันไปใช้ได้กับทุก ๆ เคร่ืองท่ีมี โปรแกรมตีความได้ทนั ที
รปู แบบการเขียนโปรแกรมในปจั จบุ ัน 1. การเขยี นโปรแกรมแบบโครงสร้าง (Structured Programmimg) หลกั การเขียนโปรแกรมที่มีประสิทธภิ าพ • -มตี รรกะ • -อา่ นเข้าใจง่าย • -แบง่ เปน็ สว่ นๆไม่ซับซอ้ น การเขียนโปรแกรม มี 2 แบบ คือ -การเขยี นโปรแกรมแบบโมดูลาร์ โมดลู (Module) คอื โปรแกรมย่อยๆ (Subroutine) ทีส่ ามารถทางานเปน็ อิสระ มี 2 แบบ คอื โปรแกรม ย่อยภายใน และ โปรแกรมย่อยภายนอก -การเขียนโปรแกรมแบบบนลงล่าง มองปญั หาโดยเน้นภาพรวมโครงสรา้ งการทางานใชผ้ ังโครงสร้าง (Structure Chart) ในการกาหนดการ ทางานกาหนดโมดูลหลกั เพ่ือเรมิ่ ต้น เรยี กโมดูลย่อยและจบการทางานไม่เน้นแสดงลาดับการประมวลผล โครงสร้างพ้ืนฐานทใี่ ชใ้ นการเขียนโปรแกรม คือ โครงสรา้ งแสดงข้นั ตอนการทางานทเ่ี ปน็ ไปตามลาดับก่อนหลัง และแตล่ ะข้ันตอนจะถกู ประมวลผล เพยี งคร้ังเดยี วท่านัน้ สามารถแสดงการทางานของโครงสรา้ งน้ี อลั กอริธึม รหสั เทียม (Pseudo Code) โครงสรา้ งแบบเลือก (Selection Structure) คือมเี งื่อนไขท่ีตอ้ งตดั สนิ ใจเลือกการทางานผลลัพธ์ของเงอ่ื นไขคือ จรงิ หรอื เทจ็ เท่านั้น ประเภทของโครงสรา้ งแบบเลือก 1.เลอื กทางานเฉพาะเมอื่ เงือ่ นไขเป็นจรงิ 2.เลือกทางานอยา่ งใดอยา่ งหนึ่งระหวา่ งเง่ือนไขจรงิ และเท็จ 3.คาสั่งเลือกแบบซ้อนกนั 4.คาส่งั แบบหลายทางเลือก เมอ่ื มีทางเลือกมากกว่า 2 ทาง 2. การเขียนโปรแกรมในเชงิ วตั ถุ (OOP : Object-Oriented Programmimg) 2.1. โครงสรา้ งแบบระเบยี น (Record Structures) กาหนดรายการของชนดิ ข้อมลู จานวน n ชนิด ได้แก่ T1, T2, ..., Tn พร้อมท้งั ระบชุ ่ือชนิดของขอ้ มลู แต่ละตัว ผใู้ ชส้ ามารถสร้างชนิดของระเบยี น ซึ่งประกอบดว้ ย n ตัว ได้ โดย องค์ประกอบที่ i เป็นชนิด Ti 2.2. ชนิดของข้อมูลแบบกลมุ่ (Collection Types) ถ้าชนิดของขอ้ มูล T ถูกกาหนดขน้ึ ผใู้ ช้ สามารถ สรา้ งชนดิ ของข้อมลู ชนดิ ใหมไ่ ด้ โดย การระบกุ ลุ่มของชนิดขอ้ มลู T เชน่ แถวลาดับ (Array) รายการ (List) และเซต (Set) เป็นตน้ 2.3. ชนิดของข้อมูลแบบอา้ งถึง (Reference Types) เปน็ ชนดิ ของข้อมลู ท่อี ้างถงึ ชนดิ ของขอ้ มูล T อาจ มองงา่ ยๆ ได้ว่า ชนิดข้อมูลแบบอา้ งถึงคือ ตวั ชี้ (Pointer) ในภาษาซี และภาษาซีพลัสพลัส นนั่ เอง เพียงแต่ว่าในทาง ระบบฐานข้อมูล ชนิด ของข้อมลู แบบนี้จะต้องอ้างถึงหลายๆ สิ่ง ไมใ่ ช่ เปน็ เพยี งแคต่ ัวชธี้ รรมดาเทา่ น้นั นนั่ คือ จะต้อง อา้ งถึงรายละเอียดของการจดั เก็บระเบียนหน่งึ ๆ เชน่ เลขที่ของจานบนั ทึก กลุ่มระเบยี นภายใน จานบนั ทึกน้นั พร้อม ท้ังตาแหน่งภายในกลุ่ม ระเบียนนั้นดว้ ย
ข้อดีของวัตถตุ อ่ ระบบฐานข้อมูลมีอยหู่ ลายประการ ได้แก่ 1. ทาให้เปน็ ระบบแบบชนดิ ริช (Rich Type) ซึ่งข้อมลู จะถูกจัดให้อยู่ในแบบทีเ่ ป็นธรรมชาติ มากขึ้นกวา่ ที่จัด ในแบบจาลองข้อมลู เชงิ สัมพันธ์ และแบบจาลองข้อมูลอน่ื ๆ ท่ผี ่านมา 2. ผใู้ ช้สามารถนาวัตถมุ าใชซ้ ้าก็ได้ หรือนามาแบ่งกนั ใช้กไ็ ด้ ทาใหส้ ามารถพฒั นาซอฟต์แวรต์ ่างๆ ได้มาก ขน้ึ และรวดเร็วขึน้ โดยนาแง่คิดในเรอื่ งคลาส และลาดบั ชั้นของคลาสมาใช้ 3. มกี ารป้องกันการใช้ข้อมูลอย่างไม่ถูกต้องผ่านชนิดข้อมูลนามธรรม (Abstract Data Type) โดยให้ใช้ ผ่านฟังก์ชนั ท่ถี ูกออกแบบไวเ้ ป็นอยา่ งดแี ล้วเท่านั้น
Search
Read the Text Version
- 1 - 5
Pages: