ภาษาคอมพิวเตอร์และการพ ัฒนา โปรแกรม Programming Languages and Program Development โปรแกรม (Program) หมายถึงชุดคาสง่ ั ทีเ่ ขียนด้วยภาษา โปรแกรมเพือ ่ บอกให้คอมพิวเตอร์ ทางานตามต้องการ How People Make Programs Programming กระบวนการแก้ปญ ั หาโดยการ เขียนชุดคาสง่ ั เป็นขนตอนบอกให้ ั้ คอมพิวเตอร์ ทางานตามความต้องการของผูใ้ ช ้ Computer Programs and Programming Languages p. 664 Fig. 13-1 Programming language—used to write instructions Next How People Make Programs Programming รวมถึง : – การกาหนดปั ญหา – การออกแบบ ตรวจสอบ และทดสอบ algorithm – เขียนโปรแกรม – ตรวจสอบและแก ้ไขโปรแกรม Interpreters and Compilers Interpreter: แต่ละคาสง่ ั จะถูกแปลท ันที • Compiler: จะป้ อน โปรแกรมเข ้าไป ทัง้ หมดแล ้วจึงแปล เป็ นภาษาเครือ ่ ง Programming Languages and Methodologies ระบบคอมพิวเตอร์ทก ุ เครือ ่ งจะต ้องมี ภาษาธรรมชาติของตัวเองคือ machine language ้ ทนด้วย Machine language คือ ภาษาทีใ่ ชแ เลขฐานสอง ทาให้มก ี ารเขียน การอ่าน และการ แก้ไขยุง ่ ยาก ั ้ ทน Assembly language เป็นภาษาสญล ักษณ์ทใี่ ชแ ด้วยต ัวอ ักษร และง่ายต่อการเข้าใจต่อการอ่านและ การเขียน Levels of Languages Lower-level languages – เปรียบเสมือน ก ับเลข 0และเลข 1 ทีค ่ อมพิวเตอร์เข้าใจ Higher-level languages – เปรียบ่สมือน ก ับภาษาทีม ่ นุษย์ใช ้ Divided into five generations Low-level language คอมพิวเตอร์จะเข้าใจภาษาเครือ ่ ง ตามชนิดของคอมพิวเตอร์ ภาษาเครือ ่ งและภาษาแอสแซมบลี จ ัดเป็นภาษาระด ับตา ่ p. 664 Next High-level language เป็นภาษาคอมพิวเตอร์ทส ี่ ามารถ ้ ับคอมพิวเตอร์ได้ทก นาไปใชก ุ เครือ ่ ง p. 664 Next Five Generations of Languages 1. 2. 3. 4. 5. Machine language Assembly languages High-level languages Very high-level languages Natural languages 1. Low-Level Languages What is machine language? โปรแกรมและตาแหน่งของ หน่วยความจาจะเขียนในรูปของ ค่า 0s และ 1s ปัญหาของภาษาเครือ ่ ง โปรแกรมเขียนยากและต้อง แก้ไข คอมพิวเตอร์แต่ละเครือ ่ งจะมี ภาษาเป็นของต ัวเอง CPU และ หน่วยความจาหล ักจะ ื่ มต่อผ่านบ ัส เชอ p. 665 Fig. 13-2 Next 2. Low-Level Languages What is assembly language? คาสง่ ั จะถูกกาหนดเป็น ั รห ัสในรูปของสญล ักษณ์ ้ ัวย่อและรห ัส โดยใชต Source program เป็น รห ัสข้อมูลทีถ ่ ก ู เปลีย ่ นเป็น ภาษาเครือ ่ ง p. 666 Fig. 13-3 Next 2. Assembly Languages ้ ทนค่าบวก add, C ใชแ ้ ทนว่า ต ัวอย่าง A ใชแ compare, etc. “Adding values (Price and ShippingCharge) stored in memory” 156C LD R5, Price 166D LD R6, ShippingCharge 5056 ADDI R0, R5 ,R6 306E ST R0, TotalCost C000 HLT 3. Procedural Languages โปรแกรมเมอร์เขียนชุดคาสง่ ั บอกให้คอมพิวเตอร์ทางาน ตามต้องการจนสมบูรณ์ การเขียนคาสง่ ั เหมือนก ับ การเขียนภาษาอ ังกฤษ บางครงจ ั้ ัดอยูใ่ นภาษายุคที่ 3 ้ ว้างขวางคือ ภาษาทีใ่ ชก third-generation BASIC, COBOL, and C language (3GL) p. 666 Next High-Level Languages Well known high-level programming languages include: – FORTRAN (Formula Translation): เป็ น ้ ภาษาระดับสูงภาษาแรกทีน ่ ามาใชในเช งิ ธุรกิจ – COBOL (Common Business Oriented ้ Language): เป็ นภาษาทีพ ่ ัฒนาเพือ ่ ใชในการ แก ้ปั ญหาทางธุรกิจ High Level Languages LISP (List Processing): เป็นภาษาทีพ ่ ัฒนา ่ ัวเลขเป็นต ัว ในการประมวลผลข้อมูลทีไ่ ม่ใชต ั อ ักขระ คา หรือสญล ักษณ์อน ื่ ๆ BASIC (Beginners All-purpose Symbolic ้ มา Instruction Code): เป็นภาษาทีพ ่ ัฒนาขึน เพือ ่ ให้ใชง้ า่ ยต่อการเรียนรูส ้ าหร ับผูเ้ ริม ่ ต้น High-Level Languages Pascal: เป็นภาษาที่ ออกแบบเป็นภาษา โครงสร้าง ้ C: เป็นการพ ัฒนาขึน มาเพือ ่ เป็นเครือ ่ งมือ สาหร ับการโปรแกรม ่ ระบบปฏิบ ัติการเชน UNIX Object-Oriented Programming Languages What is C++? เป็นภาษาทีพ ่ ัฒนาต่อจากภาษาซ ี โดยการเพิม ้ ความ ้ มาสาหร ับการทางานแบบเชงิ ว ัตถุ (objectสะดวกขึน oriented) ใชใ้ นการพ ัฒนาฐานข้อมูลและการเขียนโปรแกรมเว็บ Next Object-Oriented Programming Languages What is Java? ้ มาโดย พ ัฒนาขึน บริษ ัท Sun Microsystems มีล ักษระเหมือนก ับ ภาษา C++ เป็นแบบ just-in-time (JIT) compiler โดยการ เปลีย ่ น source code ให้เป็น machine code Next Object-Oriented Programming Languages What is a visual programming language? Visual programming environment (VPE) allows developers to drag and drop objects to build programs Provides visual or graphical interface for creating source code Sometimes called fifth-generation language Often used in RAD (rapid application development) environment p. 671 Programmer writes and implements program in segments Next Object-Oriented Programming Languages What is Visual Studio .NET 2003? Suite of visual programming languages and RAD tools .NET is set of technologies that allows program to run on Internet Visual Basic .NET 2003 is used to build complex object-based programs Step 1. The Step 2. The programmer programmer designs the user interface. assigns properties to each object on the form. Step 3. The programmer writes code to define the action of each command button. Step 4. The programmer tests the application. Next Object-Oriented Programming Languages What is Delphi? Powerful visual programming tool Ideal for large-scale enterprise and Web applications p. 673 Fig. 13-12 Next Object-Oriented Programming Languages What is PowerBuilder? Another powerful visual programming tool Best suited for Web-based and large-scale object-oriented applications p. 674 Fig. 13-13 Next Nonprocedural Languages and Program Development Tools What is a fourth-generation language (4GL)? Nonprocedural language that allows access to data in database Popular 4GL is SQL, query language that allows users to manage data in relational DBMS p. 675 Fig. 13-15 Next Nonprocedural Languages and Program Development Tools What is Visual Basic for Applications (VBA)? Macro programming language p. 676 Fig. 13-17 Macro—series of statements used to automate tasks Next Web Page Development What is HTML (Hypertext Markup Language)? Used to create Web pages p. 678 Fig. 13-18 Next Web Page Development What is a scripting language? Typically easy to learn and use JavaScript—adds dynamic content and interactive elements to Web page VBScript (Visual Basic, Scripting Edition)—adds intelligence and interactivity to Web page Perl (Practical Extraction and Report Language)—has powerful text processing capabilities Next Web Page Development What is dynamic HTML (DHTML)? p. 682 Fig. 13-21 Allows developers to include more graphical interest and interactivity in Web page Next Web Page Development What are XHTML, XML, and WML? XHTML (Extensible HTML) enables Web sites to be displayed more easily on microbrowsers XML (Extensible Markup Language) allows developers to create customized tags Click to view Web Link, click Chapter 13, Click Web Link from left navigation, then click XML below Chapter 13 p. 682 WML (Wireless Markup Language) allows developers to design pages specifically for microbrowsers Includes features of HTML and XML Server sends entire record to client, enabling client to do much of processing without going back to server Uses wireless application protocol (WAP), standard that specifies how wireless devices communicate with Web Next Web Page Development What is Web page authoring software? p. 683 Creates sophisticated Web pages without using HTML Generates HTML Next The Program Development Cycle What is the program development cycle? Steps programmers use to build computer programs p. 686 Fig. 13-24 Programming team—Group of programmers working on program Next The Programming Process Program – a set of detailed, step-by-step instructions that directs the computer to do what you want it to do Programming language – a set of rules that provides a way of telling the computer what operations to perform Five main steps Defining the problem Planning the solution Coding the program Testing the program Documenting the program 1. Defining the Problem การกาหนดปัญหา การกาหนดคุณสมบ ัติตามทีก ่ าหนด: ข้อมูลเข้า ผลล ัพธ์ทต ี่ อ ้ งการ การประมวลผลข้อมูลเข้าให้เป็นผลล ัพธ์ น ักเขียนโปรแกรมจะร ับข้อกาหนดรายละเอียดจาก น ักวิเคราะห์ระบบ หรือน ักเขียนโปรแกรมอาจพบก ับลูกค้าโดยตรง 2. Planning & Design the Solution Algorithm – เป็นการกาหนดรายละเอียดขนตอนของ ั้ การแก้ปญ ั หา ่ ยในการวางแผนอ ัลกอริทม เครือ ่ งมือทีช ่ ว ึ มีหลายชนิด Desk-check the solution การกาหนดขนตอนจะก ั้ าหนดด้วยดินสอยและ กระดาษ Planning Tool: ้ าพแทนขนตอน Flowchart – เป็นการใชภ ั้ ของการทางาน Pseudocode – ล ักษณะเหมือนภาษาอ ังกฤษ Specifies algorithm with more precision than you can in English, but less than a programming language Planning & Design Solution What is involved in designing the solution? Two approaches Devise solution algorithm, step-by-step procedure to solve problem p. 688 Object-oriented design Structured design, sometimes called top-down design Programmer begins with general design and moves toward detailed design Next Step 2 — Design Solution What is a hierarchy chart? Shows program modules graphically Also called structure chart p. 688 Fig. 13-26 Nex t Step 2 — Design Solution โครงสร้างการควบคุมแบบเรียงลาด ับ ? เป็นการแสดงการทางานตามลาด ับของกิจกรรม p. 690 Fig. 13-28 Control structure depicts logical order of program instructions Next Step 2 — Design Solution โครงสร้างการควบคุมแบบเลือก มี 2 ชนิด ? p. 690 Fig. 13-29 Case control structure If-then-else control structure—yields one of two possibilities: true or false Next Step 2 — Design Solution What is a case control structure? มีการเลือกทางเป็นไปได้มากกว่า 3 ทาง p. 690 Fig. 13-30 Next Step 2 — Design Solution What is a repetition control structure? Do-while control structure—ตรวจสอบ เงือ ่ นไขจนกระทั่งเป็ นจริงแล ้วจึงออกจากการ วนรอบ p. 691 Figs. 13-31–13-32 Do-While Control Structure Nex t Do-until control structure—ทางาน จนกระทั่งเงือ ่ นไขเป็ นจริงจึงออกจากการ วนรอบ Do-Until Control Structure Step 2 — Design Solution What is a program flowchart? ั ักษณ์ เป็นภาพสญ แสดงขนตอนในการ ั้ แก้ปญ ั หา p. 692 Fig. 13-33 Nex t Step 2 — Design Solution What is an example of a flowchart? p. 692 Fig. 13-34 Next Step 2 — Design Solution What is pseudocode? เป็นคาสง่ ั เทียมทีม ่ ี การเขียนขนตอน ั้ เหมือนก ับ ภาษาอ ังกฤษ p. 694 Fig. 13-36 Nex t 3. Coding the Program เป็นการเปลีย ่ นอ ัลกอริทม ึ ทีไ่ ด้จากการวางแผนให้อยู่ ในรูปของภาษาคอมพิวเตอร์ ภาษาคอมพิวเตอร์ทงหมดจะมี ั้ syntax rules เหมือนก ับ grammatical rules คอมพิวเตอร์จะไม่ร ับโปรแกรมทีเ่ ขียนผิดพลาด Programs can be keyed into the computer by using a text editor 4. Testing the Program Two phases of testing the program Translation Converting the program you wrote into the binary instructions the CPU understands (object codes) Debugging Identifying and correcting logic errors in the program 5.Documenting the Program Materials are generated at each part of the process Common examples of documentation Flowchart and/or pseudocode Comments within the source code Testing procedures Layouts of input and output records A narrative description of the program