4c32e3e2ba9d1699ca2e8a0e8b3d0b04.ppt
- Количество слайдов: 90
บทท 1 ความรเบองตนเกยวก บการเขยนโปรแกรม วชา 4121305 A หลกการเขยนโปรแกรม อ. ชนดา เรองศรวฒนกล สาขาวชาเทคโนโลยสารสนเทศ คณะวทยาศาสตรและเทคโนโลย
คอมพวเตอรในงานดานตาง ๆ การคำนวณทางคณตศาสต ร การจดการงานทวไป การคำนวณทางวทยาศาสต ร การสอสาร เครองคดเลข การจำลองสถานการณ (simulation( การแกไขปญหาทางวทย าศาสตร (scientific problem solving( การควบคมธรกรรม การทำเอกสาร การนำเสนอผลงาน โทรศพทมอถอ โทรคมนาคม ความบนเทง ดนตร ภาพยนตร Graphic เกมส ATM การจดการประมวลผลบญ ชลกคา 2
Computer & Program Computers อปกรณทใชเพอการคำนวณด วยความเรวสงและถกตองเทยง ตรง อปกรณซงสามารถถกสงงาน (โ ปรแกรม)ใหทำงานไดตามตองการ สามารถเกบและเรยกขอมลจำนวน มากไดอยางรวดเรว ประกอบดวยองคประกอบทมองเหน จบตองไดเรยกวา ฮารดแวร (Hardware( 3
ฮารดแวรคอมพวเตอร. 1หนวยประมวลผลกลาง CPU (Central Processing Unit(. 2หนวยความจำหลก Primary storage (memory (. 3หนวยความจำสำรอง Secondary storage (disks, tapes etc (. . 4อปกรณรบขอมล Input devices (mouse, keyboard etc (. . 5อปกรณแสดงผล Output devices (screen, printer, plotter, etc (. 4
การทำงานพนฐานของคอม พวเตอร Storage Input Processing Output 5
Microprocessor(CPU) เปนเหมอนสวนสมองหลกของเ ครองคอมพวเตอร หนวยคำนวณและตรรกะ (ALU)ท ำหนาทประมวลผลทางคณตศ าสตร (บวก ลบ คณ หาร) และทางตรรกศาสตร หนวยควบคม (Control Unit) ทำหนาทควบคมจงหวะการ ทำงานทงหมดภายในซพย หนวยความจำ (Memory Unit) ทำหนาทเกบขอมลและผลล พธไวภายใน Intel / AMD / Motorola 6
หนวยความจำหลก (Primary Storage) เกบชดคำสงและขอมลตางๆ ไมโครโปรเซสเซอรจะอานขอมลจากหนวยควา มจำชนดนเปนหลก RAM (Random Access Memory) สามารถเขยนหรออานขอมลได เกบขอมลไมถาวร ขอมลจะสญหายหากขาดไฟเลยง RAM ROM (Read Only Memory) อานขอมลไดอยางเดยว เกบขอมลไดถาวร แมวาจะไมมไฟเลยง ขอมลในหนวยความจำนจะมการบนทกในตอ นเรมตนโดยบรษทผผลตเทานน 7
หนวยความจำรอง (Secondary Storage) ความจสงขนกวาหนวยควา มจำหลก แตความเรวในการถายเทขอม ลนอยกวา Hard disk Floppy disk Zip drive Thumb drive CD-ROM Thumb Drive 8
Primary Memory VS Secondary Memory Primary Memory ความเรวสงกว ามาก ราคาสงกวา สญเสยขอม ลเมอไฟฟาด บ Secondary Memory ความเรวต ำกวา ราคาตำกวา เกบขอมลไ ดถาวร ไมตองใชไ 9
ขอมลในระบบคอมพวเตอร ลกษณะของขอมลจะเปนบต (Bit) มาประกอบกน ขอมล 1 บตมเพยงสองสถานะ ใชสญลกษณ 1 หรอ 0 แทน ซงตรงกบเลขฐานสอง (Binary number( โดยทวไปขอมลหนงตวอกษร (Character) หรอเรยกวา 1 ไบต (Byte) นนประกอบดวยขอมล 8 บต ดงนนขอมล 1 ไบตมความแตกตางกน 28 หรอ 256 แบบ bit = binary digit (เลขฐานสอง ( 10
Input/Output (I/O) Devices เปนอปกรณททำห นาทตดตอสอสาร ระหวางคอมพวเตอรก บโลกภายนอก แปนพมพ Keyboard เมาส Mouse จอภาพMonitor ปรนทเตอร Printer ลำโพง Speaker 11
การทำงานของเครองคอมพว เตอร. 1 ชดคำสงและขอมลจะถกเกบอยในห นวยความจำ. 2 CPU (microprocessor)ดงขอมลและชดคำส งมาจาก หนวยความจำ อปกรณอนพต (Keyboard , Mouse , etc(. 3. CPU ประมวลผลขอมล 12
Computer Components Secondary Memory Main Memory HD CPU Input Devices Output Devices 13
ซอฟตแวร (Software( ซอฟแวร หมายถงชดคำสงหรอโปรแกรมท ใชสงงานใหคอมพวเตอรทำงาน ซอฟตแวรจงหมายถงลำดบขนตอ นการทำงานทเขยนขนดวยคำส งของคอมพวเตอร คำสงเหลานเรยงกนเปนโปรแก รมคอมพวเตอร 14
ชนดของซอฟตแวร. 1ซอฟตแวรระบบ ระบบปฏบตการ (OS) ซอฟตแวรจดการอ ปกรณตอพวง (Device Driver) . 2 ซอฟตแวรประยกต โปรแกรมสำเรจรป โปรแกรมทพฒนา ขนเอง 15
ซอฟตแวร
ระบบปฏบตการ systems( (operating ใชสำหรบการควบคมและประสาน งานอปกรณคอมพวเตอรทงหม ดโดยเฉพาะกบสวนนำเขาและสง ออกผลลพธ (I/O Device) บางครงเรยกวา แพลตฟอรม (platform( คอมพวเตอรจะทำงานไดจำเปน ตองมระบบปฏบตการตดตง 17
คณสมบตในการทำงานแบบ Multi-Tasking 18
คณสมบตในการทำงานแบบ Multi-User 19
ประเภทของระบบปฏบตการ อาจแบงออกไดเปน 3 ประเภท คอ. 1ระบบปฏบตการแบบเดยว (stand-alone OS(. 2ระบบปฏบตการแบบเครอขาย (network OS(. 3ระบบปฏบตการแบบฝง 20
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( DOS (Disk Operating System( พฒนาขนเมอประมาณป 1980 ใชสำหรบเครองคอมพวเ ตอรสวนบคคลเปนหลก ปอนชดคำสงทเรยกว 21
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( l. DOS (Disk Operating System( 22
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Windows สวนประสานงานกบผใชแบบ GUI (Graphical User Interface( ใชงานไดงาย ผใชไมตองจดจำคำสงให ยงยาก แบงงานออกเปนสวนๆทเรยกว 23
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Windows 24
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Unix ผใชกบตองมความรทา งดานคอมพวเตอรพอสมควร รองรบกบการทำงานของผใ ชไดหลายๆคนพรอมกน (multi-user( มการพฒนาระบบทสนบสน นใหใชงานไดทงแบบเด ยวและแบบเครอขาย 25
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Uni 26
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Mac OS X ใชกบเครองคอมพวเตอรท ผลตขนโดยบรษทแอปเปลเท านน เหมาะสมกบการใชงานประเภทสง พมพเปนหลก มระบบสนบสนนแบบ GUIเชนเดยวกบระบบปฏบตก 27
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Mac OS X 28
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Linux พฒนามาจากระบบ Unix ใชโคดทเขยนประเภทโอเพนซอ รส (open source( มการผลตออกมาหลายชอเรยกแต กตางกนไป มทงแบบทใชสำหรบงานแบ บเดยวตามบานและแบบทใชส ำหรบงานควบคมเครอขายเชนเ 29
. 1ระบบปฏบตการแบบเด ยว (stand-alone OS( Linux 30
. 2ระบบปฏบตการแบบเคร อขาย (Network OS( Windows Server ออกแบบมาเพอใชงานก บระบบเครอขาย โดยเฉพาะ เดมมชอวา Windows NT รองรบกบการใชงานใน ระดบองคกรขนาดเลกแ ละขนาดกลาง พฒนาโดยบรษทไมโคร ซอฟท 31
. 2ระบบปฏบตการแบบเคร อขาย (Network OS( OS/2 Warp Server พฒนาโดยบรษท ไอบเอม ใชเปนระบบเพ อควบคมเครองแ มขายหรอ server 32
. 2ระบบปฏบตการแบบเคร อขาย (Network OS( Solaris ทำงานคลายกบร ะบบปฏบตการแ บบ Unix (Unix compatible( ผลตโดยบรษทซ น ไมโครซสเตมส 33
. 3ระบบปฏบตการแบบฝง (Embedded OS( Pocket PC OS (Windows CE เดม ( ยอขนาดการทำงานของ Windows ใหมขนาดทเลกลง (scaled-down version( รองรบการทำงานแบบ multi-tasking ได มกตดตงบนเครอง Pocket PC 34
. 3ระบบปฏบตการแบบฝง (Embedded OS( Palm OS พฒนาขนมากอน Pocket PC OS ลกษณะงานทใชจะค ลายๆกน ใชกบเครองทผล ตขนโดยบรษทปาล มและบางคายเทานน เชน Visor 35
. 3ระบบปฏบตการแบบฝง (Embedded OS( Symbian OS รองรบกบเทคโนโลยการสอสารแบบไรส าย (wireless) โดยเฉพาะ นยมใชกบโทรศพทมอถอประเภท smart phone สนบสนนการทำงานแบบหลายๆงานในเวลาเ ดยวกน (multi-tasking( 36
. 3ระบบปฏบตการแบบฝง (Embedded OS( Android เปนระบบปฏบตการ (Operating System) บนมอถอ (เหมอนกบ symbian และ windows mobile) สรางขนมาจากระบบปฎบต การลนกซ ระบบปฏบตการ Android พฒนาขนมาโดย Goo. Gle เปนระบบเปด ทสามารถใหนกพฒนานำไ ปพฒนาตอได 37
โปรแกรมอรรถประโยชน หรอโปรแกรมยทลต (Utility Program( สวนใหญจะมขนาดของไฟลทเลกกว าระบบปฏบตการ มคณสมบตในการใชงานคอนขางหลา กหลายหรอใชงานไดแบบอรรถประโยชน นยมเรยกสนๆวา ยทลต (utility( อาจแบงออกไดเปน 2 ชนดคอ ยทลตสำหรบระบบปฏบต การ (OS utility programs( ยทลตอนๆ (stand-alone 38
ยทลตสำหรบระบบปฏบต การ (OS Utility Programs( ตวอยางของยทลตทท ำงานดานตางๆ ประเภทการจดการไฟล (File Manager( ประเภทการลบทงโปรแกรม (Uninstaller( ประเภทการสแกนดสก (Disk Scanner( 39
ยทลตอนๆ (Stand. Alone Utility Programs( โปรแกรมปองกนไวร ส (Anti Virus Program( ตดตงไวเพอปอ งกนและแกไขปญหาเ กยวกบโปรแกรมประ สงคราย ตองอพเดทขอมลให มอยเสมอเพอให รจกและหาทางยบย 40
ยทลตอนๆ (Stand. Alone Utility Programs( โปรแกรมบบอดไฟล (File Compression Utility( เปนโปรแกรมททำห นาทบบอดไฟลให มขนาดทเลกลง ไฟลทไดจากการบ บอดไฟลบางครง นยมเรยกวา ซปไฟล (zip files( 41
ประเภทของซอฟตแวรประยก ต แบงตามกลมการใชงานได 3 กลมดงน กลมการใชงานทางดานธรก จ (business( กลมการใชงานทางดานกราฟ กและมลตมเดย (graphic and multimedia( 42
ซอฟตแวรประมวลผลคำ (Word processing( เปนกลมของโปรแกรมทช วยในการประมวลผลคำ สามารถจดการเอกสารตางๆได เชน ขนาดตวอกษรใหญ เลก รปแบบตวอกษร เปนตน นำเอารปภาพมาผนวกเขากบ เอกสารได (คลปอารตและภาพถาย ( ตวอยางโปรแกรม เชน Microsoft. Word, Sun Star. Office Writer 43
ซอฟตแวรตารางคำนวณ (Spreadsheet( กลมของซอฟตแวรท เกยวของกบการคำนว ณตางๆ นำเอา ตารางคำนวณ (spreadsheet) มาใชในการทำงาน หนวยทเลกทสดบร เวณทำงานเรยกวา เซล นยมใชกบงานดานบญ ชและรายการคำนวณอน ตวอยางโปรแกรม เชน Microsoft Excel, Sun 44
ซอฟตแวรฐานขอมล (Database( สรางและรวบรวมขอมล ตางๆใหอยเปนระบบ แกไขปรบปรงรายการข อมลตางๆ เชน การเพมขอมล การเปลยนแปลงขอมล การลบขอมล หรอการจดเรยงขอม ลใหเปนไปไดโดยงาย ตวอยางโปรแกรม เชน Microsoft Access, Oracle, 45
ซอฟตแวรนำเสนองาน (Presentation( ชวยในเรองของการนำเสนองา นเปนหลก อาจใสขอมลทเปนตวอก ษร รปภาพตลอดจนเสยงตางๆรวมถ งเทคนคการนำเสนอใหมควา มสวยงามและนาสนใจได การนำเสนองานบางครงนยมเ รยกวา slide show ตวอยางโปรแกรม เชน Microsoft Power. Point, Sun Star. Office Impress 46
ซอฟตแวรสำหรบงานบญช (Accounting( บนทกขอมลและแสดงรายงานทางการเงนตาง ๆ ออกรายงานงบกำไรขาดทน งบดล รวมถงรายงานซอ ขายได ตวอยางโปรแกรม เชน Intuit Quick. Books, Peachtree Complete Accounting 47
ซอฟตแวรกลมการใช กราฟกและมลตมเดย งานดาน อาจแบงซอฟตแวรกลมนออกเปนป ระเภท ไดดงน ซอฟตแวรสำหรบงานออกแบบ (CAD - Computer-aided design( ซอฟตแวรสำหรบสงพมพ (Desktop publishing( ซอฟตแวรสำหรบตกแตงภาพ (Paint/image editing( ซอฟตแวรสำหรบการตดตอวดโอและเส ยง (Video and audio editing( 48
ซอฟทแวรสำหรบงานออกแบบ (CAD - Computer-aided design( ชวยสำหรบการออกแบบแ ผนผง การออกแบบและตกแตงบาน รวมถงการจดองคประกอบ อนๆ เหมาะสำหรบงานดานวศ กรรมสถาปตยกรรม รวมถงงานดานวทยาศาสต รและเทคโนโลยบางประเภท ตวอยางโปรแกรม เชน Autodesk Auto. CAD, Microsoft Visio Professional 49
ซอฟทแวรสำหรบตกแตงภาพ (Paint/image editing( สำหรบการสรางและจดการร ปภาพ การจดองคประกอบแสง สของภาพ รวมถงการวาดภาพลายเสน เหมาะสำหรบออกแบบงานกราฟ ก เชน งานพาณชยศลป งานออกแบบและตกแตงสนคา ตวอยางโปรแกรม เชน Adobe Illustrator, Adboe Photoshop, Corel. DRAW, Macromedia Free. Hand 50
ซอฟตแวรสำหรบการตดตอว ดโอและเสยง (Video and audio editing( ใชจดการกบขอมลเสยง เชน ผสมเสยงแกไขเสยง สรางเอฟเฟคตหรอเสยงให มๆ เหมาะสำหรบใชกบงานวงกา รตดตอภาพยนตร โทรทศน สตดโอบนทกเสยงหรองา นบนอนเทอรเนตบางชนด ตวอยางโปรแกรม เชน Adobe Premiere, Cakewalk SONAR, Pinnacle Studio DV 51
ซอฟตแวรสำหรบสรางเวบ (Web page authoring( สามารถจดการและออกแบบเว บไซทไดโดยงาย สามารถแทรกขอมลประเภทเ สยง ขอความ รปภาพเคลอนไหว เพอนำเสนอบนเวบไซทไ ดเปนอยางด ตวอยางโปรแกรม เชน Adobe Go. Live, Adobe Dreamweaver, Adobe Fireworks, Adobe Flash, Microsoft Front. Page 52
ซอฟตแวรการใชงานบนเวบ และการสอสาร กลมของโปรแกรมประเภทน ซอฟตแวรสำหรบจดการอเมล เชน (Electronic mail Software( ซอฟตแวรสำหรบทองเวบ (Web browser( ซอฟตแวรสำหรบจดประชมทางไกล (Video Conference( ซอฟตแวรสำหรบถายโอนไฟล (File Transfer( ซอฟตแวรประเภทสงขอความดวน 53
ซอฟตแวรสำหรบจดการอเมล (Electronic mail Software( กลมของซอฟตแวรทใช สำหรบการสงขอความจด หมาย สามารถตรวจรบจดหมายเขา สงจดหมายออกหรอสำเนาจด หมายได นอกจากนนยงแทรกรปภา พหรอไฟลเพอสงแนบไป กบจดหมายได ตวอยางโปรแกรมเชน Microsoft Outlook 54
ซอฟตแวรสำหรบทองเวบ (Web browser( มกเรยกยอวา บราวเซอร (browser( เปนโปรแกรมหลกสำหรบการเร ยกดขอมลบนเวบไซททเผ ยแพรอยในอนเทอรเนต มคณสมบตสำหรบการรบช มเวบเพจไดด เชน แสดงผลหลายภาษา ชมเวบเพจแบบออฟไลน ทำงานรวมกบโปรแกรมเสรมได ตวอยางโปรแกรม เชน Microsoft Internet Explorer, Nestcape 55
ซอฟตแวรสำหรบจดประชมท างไกล (Video Conference( สำหรบการประชมแบบทางไกลโดย เฉพาะ สามารถใหขอมลทเปนทงภ าพเคลอนไหวและเสยงทใชใน การประชมและถายทอดออกไปในระ ยะไกลได อาจพบเหนกบการนำเอาไปประย กตใชในการตดตอสอสารระห วางเพอนหรอคนรจกทอย ตางถนได ตวอยางโปรแกรม เชน Microsoft Netmeeting 56
ซอฟตแวรประเภทสงขอความด วน (Instant Messaging( ผรบและผสงสามารถทจะเ ปดการเชอมตอโปรแกรมและส งขอความถงกนไดโดยทนท ผานเบอรอเมลหรอหมายเลขท ระบ การพดคยผานขอความนจะเ ปนแบบสวนตวมากขน บางโปรแกรมอาจสนทนาแบบกลมไ ดดวย ตวอยางโปรแกรม เชน ICQ , MSN Messenger, Yahoo Messenger 57
ซอฟตแวรสำหรบสนทนาบนอ นเทอรเนต (Internet Relay Chat( โปรแกรมสำหรบการสนทนาเฉพาะกล ม เรยกสนๆวาโปรแกรม แชท (chat( ตดตอกนโดยพมพขอความโต ตอบกนไปมา ผสนทนาสามารถตงหองและพด คยกนในแชทรม (chat room) ได ตวอยางโปรแกรม เชน PIRCH, MIRC 58
การจดหาซอฟตแวรมาใช งาน. 1แบบสำเรจรป (Package Software(. 2แบบวาจาง (Custom Software(. 3แบบทดลองใช (Shareware(. 4แบบใชงานฟร (Freeware(. 5แบบโอเพนซอรส (Public. Domain/Open Source( 59
. 1แบบสำเรจรป (Package Software( หาซอไดกบตวแทนจำหนายซอฟตแว รทไดรบการแตงตงจากบรษทผ ผลตโดยตรง นำไปตดตงเพอการใชงานไดโดยทน ท โดยมบรรจภณฑและเอกสารคมอการใช งานไวแลว อาจเขาไปในเวบไซทของบรษทผผลต เพอซอไดเชนกน 60
. 2แบบวาจาง Software( (Custom เหมาะกบลกษณะงานทเปนแบบเ ฉพาะ จำเปนตองผลตขนมาใชเองหร อวาจางใหทำ อาจมคาใชจายทแพงพอสมควร 61
. 3แบบทดลองใช (Shareware( ลกคาสามารถทดสอบการใชงานของโป รแกรมกอนไดฟร ผผลตจะกำหนดระยะเวลาของการใช งานหรอเงอนไขอน เชน ใชไดภายใน 30 วน หรอ ใชได แตปรบลดคณสมบตบางอยางลง อาจดาวนโหลดไดจากเครอขายอนเ ทอรเนต 62
. 4แบบใชงานฟร (Freeware( สามารถดาวนโหลดบนอนเทอรเน ตได สวนใหญจะเปนโปรแกรมขนาดเล กและใชเวลาเพยงไมกนาทในก ารดาวนโหลด ใหใชงานไดฟร แตไมสามารถนำไปพฒนาตอหร อแกไขเปลยนแปลงได 63
. 5แบบโอเพนซอรส (Open Source( Open Source คอ ซอฟตแวรทมการเปดใหแกไขปรบ ปรงตวโปรแกรมตางๆได นำเอาโคดโปรแกรมไปพฒนาและประยกต ใชไดภายใตเงอนไขทกำหนด มนกพฒนาจากทวโลก ชวยกนเขยนโคดและนำไปแจกจายตอ ประหยดเงนและคาใชจาย การพฒนาโปรแกรมทำไดเรวขน 64
ภาษาคอมพวเตอร เปนเสมอน “ลามแปลภาษา ” แบงออกไดหลายระดบ หากใกลเคยงกบคอมพวเตอร จะอยกลมระดบตำ หากใกลเคยงกบมนษย จะอยกลมระดบสง 65
ยคของภาษาคอมพวเตอร ภาษาคอมพวเตอรยคท 1 (first generation language : 1 GL( ภาษาคอมพวเตอรยคท 2 (second generation language : 2 GL( ภาษาคอมพวเตอรยคท 3 (third generation language : 3 GL( ภาษาคอมพวเตอรยคท 4 (fourth generation language : 4 GL( 66
ภาษาคอมพวเตอรยคท 1 (first generation language( การทำงานใชภาษาระดบตำ (low-level language) หรอทเรยกวา ภาษาเครอง (machine language) จะประกอบดวย ตวเลขเฉพาะ 0 และ 1 เทานน เครองคอมพวเตอรสามารถทำความเข าใจได ทนททำงานไดเรว การเขยนโปรแกรมคอนขางยงยากและ ไม สะดวก มนษยทำความเขาใจไดยาก คอมพวเตอรจะทำงานกบภาษาเครองเทาน เปนทมาของคำวา น code 67
ภาษาคอมพวเตอรยคท 1 (first generation language( ตวอยางบางสวนของภาษาเ ครอง 00000010101111001010 00000010111111001000 0000001110101000 68 68
ภาษาคอมพวเตอรยคท 2 (second generation language( ใชสญลกษณ (symbol) มาแทนรปแบบของตวเลขในภาษาเครอง ภาษาทใชคอ ภาษาแอสแซมบล (assembly language) ซงไดนำเอาคำยอ รวมถงสญลกษณตางๆมาใชแทนตวเ ลข 0 กบ 1 เปนกลมภาษาระดบตำเชนเดยวก บภาษาเครอง 69
ภาษาคอมพวเตอรยคท 2 Program (second generation M[0] : = 0; เนองจากภาษาเครองเขาใจ 1: 2: read(M[1]) ยาก language( 3: if M[1] > 0 then และภาษาองกฤษใชคำมากเก นกวาทจะใชในการแสดงค วามหมาย(verbose( สรางภาษา Assembly โดยใชสญลกษณและชอ ทนตวเลข เปนภาษาระดบตำทอาน เขาใจไดงายขน เปนภาษาทขนอยกบเ ครอง goto 5 4: goto 7 5: M[3] : = M[0] - M[1]; 6: if M[3] > then goto 16 แ 7: writeln(M[1]) 8: read(M[2]) 9 : M[3] : = M[2] - M[1]; 10: if M[3] > then goto 12 …. …. : 16 halt 70 70
ภาษาคอมพวเตอรยคท 3 (third generation language( พฒนาใหมรปแบบใกลเคยงกบภาษาข องมนษยเรยกวา ภาษาระดบสง (highlevel language( มกลมคำภาษาองกฤษทเขาใจงายข น เปนภาษาเชง กระบวนการ (procedural language) หรอเชงโครงสราง ทำงานเปนขนตอน เรยงตามลำดบคำสงทเขยน เขยนโปรแกรมทซบซอนไดมากขน แตกยงยงยากอยบาง หากเปนโปรแกรมขนาดใหญตองอาศยประ 71
ภาษาคอมพวเตอรยคท 4 (fourth generation language( เขยนโปรแกรมไดงายมากยงขน ใช ภาษาระดบสงมาก (very-high level language( n n เปนภาษาเหมาะกบงานเฉพาะดานและใชงานงายก วา 3 GL โปรแกรมเมอรสามารถใช visual environment ไดโดยใชเครองมอทางดานกราฟก ทำใหสราง Prototype หรอ GUIของโปรแกรมไดรวดเรว ไดโปรแกรมทมความสมบรณและสวยงามมากข น 72
ภาษาคอมพวเตอรยคท 5 (fifth generation language( เปนภาษาทใกลเคยงกบภาษาของมน ษยมากทสดหรอทเรยกวา ภาษาธร รมชาต (natural language( ทำงานโดยอาศยระบบฐานความร (knowledge base system)เพอชวยในการแปลความหมายของ คำสง ระบบคดและมสวนรวมในการตดสนใจ ของผใช นยมใชกบคอมพวเตอรทเกยวขอ 73
ตวแปลภาษาคอมพวเตอร เปนตวกลางในการแปลความหมายหรอภา ษาของชดคำสงทมนษย เขยนใหอยในรปแบบของภาษาทคอ มพวเตอรจะเขาใจได แปลงซอรสโคด (source code) ใหเปน รหสคำสง (object code( 74
ตวแปลภาษาคอมพวเตอร แบงออกไดเปน 3 ประเภทดวยกนคอ . 1แอสแซมเบลอร (Assemblers( . 2อนเตอรพรเตอร (Interpreters( . 3คอมไพเลอร (Compilers( 75
ตวแปลภาษาคอมพวเตอร . 1แอสแซมเบลอร (Assemblers( ตวแปลภาษาของภาษาแอสแซมบล แปลความหมายสญลกษณชดคำสงใ หเปนภาษาเครอง ใชงานรวมกบการเขยนโปรแกรมของภา ษาระดบตำ (low-level language( 76
Assembly code Assembler Object code 77 77
ตวแปลภาษาคอมพวเตอร . 2อนเตอรพรเตอร (Interpreters( สำหรบการเขยนโปรแกรมในภาษาระดบ สง (high-level language( แปลความหมายของชดคำสงทละบรรท ดคำสง เหมาะสำหรบการเขยนโปรแกรมทมข นาดเลก 78
Interpreter อานภาษาระดบสง แปลคำสง แลวทำงานตามคำสงนนๆ ทำตามดานบนทละคำสง …. writeln(‘a’); writeln(‘b’); writeln(‘c’); …. Interpreter 0100100101 0100110 a b c Source 79
ตวแปลภาษาคอมพวเตอร . 3คอมไพเลอร (Compilers( ใชกบการทำงานในภาษาระดบสง (high-level language( แปลความหมายของชดคำสงทเขย นทงหมดในคราวเดยวกน เปนชดของรหสคำสงเกบไวใชเ มอตองการ ไมตองเสยเวลาไปแปลชดคำสงซ ำอก 80
The translation Process Source Program Compiler Executable Program 81
Compiler อานทงโปรแกรมในครงเดยว แปลงใหเปนไฟลทสามารถใชงานได (machine language( …. writeln(‘a’); writeln(‘b’); writeln(‘c’); …. Source Compiler a b c object file …. 0100100101. . . Linker . Exe file 82
การเขยนโปรแกรมคออะไร เมอโปรแกรมเมอรมอบหมายงานหรอปญหา โปรแกรมเมอรมหนาท ดงน หาขนตอนวธ (Algorithms) สำหรบการแกปญหานนๆ ใหกบคอมพวเตอร อธบายขนตอนวธดงกลาวนนใหอย ในรปแบบหรอคำสงซงสามารถสง ใหคอมพวเตอรทำงานได โปรแกรม (Program) หมายถง ชดคำสงทควบคมการทำงานของคอมพ 83
เทคนคทางดานการเขยนโ ปรแกรม แบบไมมโครงสราง (nonstructure( แบบมโครงสราง หรอแบบกระบวนความ (procedure( แบบเชงวตถ (object oriented programming(
แบบไมมโครงสราง ลกษณะของการโปรแกรม • เขยนจากบนลงลาง (topdown) แตสามารถกระโดดไปยงตำแ หนงตางๆ ได • ทางเขา - ออกจากโปรแกรม ภาษาทสนบสนนเทคนค อาจมมากกวาหนง การเขยนโปรแกรมแบบไมมโค • ไมเครงครดเรองตวแปร รงสรางเชน ภาษาเบสก
แบบมโครงสราง หรอแบบกระบวนความ (procedure( ลกษณะของการโปรแกรม • แบงงานออกเปนสวนยอยๆ แตละสวนเขยนเปน Procedure หรอ Function • มโครงสรางชดเจน มทางเขา -ออกทางเดยว ภาษาทใชสนบสนนเทคนคการเ • มกฎเกณฑในการใชตวแปร ขยนแบบมโครงสราง ไดแก คอนเครงครด, Basic , C , Pascal Fortran , Cobol เปนตน
แบบเชงวตถ (object oriented programming( OOP มาจากคำวา Object Oriented Programming หมายถง การเขยนโปรแกรมเชงวตถ ภาษาทสนบสนนการเขยนโปรแกร มเชงวตถ เชน C++, Java, ซงเปนแนวคดใหมทมองส C#เปนตน วนประกอบตางๆ เปนวตถ
ขนตอนวธสำหรบการเขยนโปรแกร ม (Algorithms( ขนตอนวธ (Algorithms) คอ ลำดบของชดคำสงสำหรบการแกปญ หา ขนตอนวธทดสำหรบการโปรแกรมต องมคณลกษณะดงน แตละคำสงตองไมกำกวม (Unambiguous) และ เปนคำสงทคอมพวเตอรสามารถทำงา นได 88
แบบฝกหดกลม จงอธบายภาษาคอมพวเตอรตามหวขอทกำหนดใ หตอไปน. 1ความเปนมาของภาษา. 2ลกษณะสำคญ -จดเดน. 3เปนภาษาในระดบใด. 4เหมาะกบงานประเภทใด. 5หนาจอการเขยนโปรแกรม หรอรปแบบของภาษา โดยมภาษาทกำหนดใหคอ 1) COBOL 2) C 3) C# 4)PHP 5) Visual Basic (6 JAVA โดยใหนำเสนอเปน Power Point ภายในคาบ 89
แบบฝกหด. 1ผททำงานดานออกแบบและจดการ website เชน webmaster ควรจะเลอกใชโปรแกรมอะไรบางเพอชวย เหลอและสนบสนนในการทำงาน. 2ซอฟตแวรประเภท Open Source คออะไร. 3ระบบปฏบตการ Android คออะไร มลกษณะเดนอยางไร. 4 จงอธบายการทำงานของตวแปลภาษาแบบคอม 90
4c32e3e2ba9d1699ca2e8a0e8b3d0b04.ppt