1 / 62

Computer Programming

Section A. Programming Basics. CHAPTER 11. Computer Programming. PARSONS/OJA. Page 546. Section A. Chapter 11. Programming Basics. What is a computer program?.

olaf
Download Presentation

Computer Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Section A Programming Basics CHAPTER 11 Computer Programming PARSONS/OJA Page 546

  2. Section A Chapter 11 Programming Basics What is a computer program? • A computer program is a set of detailed, step-by-step instructions that tell a computer how to solve a problem or carry out a task • The instructions that make up a computer program are sometimes referred to as code • Today, program code contains familiar English-like words • Programs can exist as a single module or multiple modules Page 548-549

  3. Section A Chapter 11 Programming Basics What is a computer program? Page 548

  4. Section A Chapter 11 Programming Basics How big is a typical computer program? • A small-sized program has fewer than 100,000 lines of code • A medium-sized program has between 100,000 and 1 million lines • A large program has more than 1 million lines of code • On average, one person can write, test, and document only 20 lines of code per day Page 549

  5. Section A Chapter 11 Programming Basics Who creates computer programs? • A computer programmer typically focuses on creating computer programs • Coding refers to entering the list of commands that become a computer program • The term computer programming encompasses a broad set of activities that include planning, coding, testing, and documenting computer programs Page 549

  6. Section A Chapter 11 Programming Basics How does software engineering differ from computer programming? • Software engineering refers to a program development process in which mathematical, engineering, and management techniques are applied to reduce the cost and complexity of a computer program while increasing its reliability and modifiability • A software engineer design, codes, tests, and documents software, but tends to focus on designing and testing activities Page 549

  7. Section A Chapter 11 Programming Basics What is a programming language? • A programming language is a set of keywords and grammar rules designed for creating instructions that can ultimately be processed, or executed, by the computer • Keywords • Parameters • Syntax Page 550

  8. Section A Chapter 11 Programming Basics How are programming languages categorized? • Low-level languages vs. high-level languages • Generation • Paradigm Page 550

  9. Section A Chapter 11 Programming Basics What is a low-level language? • A low-level language typically includes commands that are specific to a particular CPU or microprocessor family • Includes machine languages and assembly languages Page 550

  10. Section A Chapter 11 Programming Basics What is a high-level language? • A high-level language hides the underlying low-level assembly or machine language, and provides command words and grammar that are more like human languages • COBOL • BASIC • Java • C Page 550

  11. Section A Chapter 11 Programming Basics What is a high-level language? Page 551

  12. Section A Chapter 11 Programming Basics What was the first generation of computer languages? • Machine languages were the first languages available for programming computers • First-generation languages • A machine language provides a set of commands, represented as a series of 1s and 0s Page 551

  13. Section A Chapter 11 Programming Basics What is a second-generation language? • An assembly language allows programmers to use abbreviated command words, called op codes, rather than 1s and 0s • Classified as a low-level language • Assembly languages are most often used to write system software Page 551

  14. Section A Chapter 11 Programming Basics What is a third-generation language? • Third-generation languages use easy-to-remember command words to take the place of several lines of assembly language or endless strings of machine language • COBOL • Fortran • Pascal • C • BASIC Page 551-552

  15. Section A Chapter 11 Programming Basics What is a fourth-generation language? • Fourth-generation languages more closely resemble human languages • Eliminate many of the strict punctuation and grammar rules complicating third-generation languages • Typically used for database applications • SQL • RPG-I Page 552

  16. Section A Chapter 11 Programming Basics What is a fourth-generation language? Page 552

  17. Section A Chapter 11 Programming Basics Do any fifth-generation languages exist? • Some believe a fifth-generation language is a computer programming language based on a declarative programming paradigm • Other experts feel fifth-generation languages are those that allow programmers to use graphical or visual tools to construct programs Page 552

  18. Section A Chapter 11 Programming Basics What is a programming paradigm? • The phrase programming paradigm refers to a way of conceptualizing and structuring the tasks that a computer performs • Multiparadigm languages support more than one paradigm Page 553

  19. Section A Chapter 11 Programming Basics What is a problem statement? • A problem statement defines certain elements that must be manipulated to achieve a result or goal • Specifies any assumptions that define the scope of the problem • Clearly specifies the known information • Specifies when the problem has been solved Page 554

  20. Section A Chapter 11 Programming Basics Program Coding: How do I code a computer program? • It depends on the programming language you use, the programming tools that you selected, and then programming paradigm that best fits the problem you’re trying to solve Page 555

  21. Section A Chapter 11 Programming Basics What is a generic text editor? • A generic text editor is any word processor that can be used for basic text editing tasks, such as writing e-mail, creating documents, or coding computer programs Click to start Page 555-556

  22. Section A Chapter 11 Programming Basics What is a program editor? • A program editor is a type of text editor specially designed for entering code for computer programs Page 556

  23. Section A Chapter 11 Programming Basics What is a VDE? • A VDE (visual development environment) provides programmers with tools to build substantial sections of a program by pointing and clicking • Form Design Grid • Control • Properties • Event • Event-handling code Page 557

  24. Section A Chapter 11 Programming Basics What is a VDE? Click to start Page 557

  25. Section A Chapter 11 Programming Basics What is a VDE? Page 558

  26. Section A Chapter 11 Programming Basics Is a visual development environment better than an editor? • It depends on whether a visual development environment is available for a specific programming language • VDEs are not available for every programming language • Microsoft Visual Basic was one of the first programming languages to feature a visual development environment • Event-driven paradigm Page 558

  27. Section A Chapter 11 Programming Basics How does a programmer know if a program works? • A computer program must be tested to ensure that it works correctly • Testing consists of running the program and entering test data to see whether the program produces the correct results Page 559

  28. Section A Chapter 11 Programming Basics What can cause program errors? • A syntax error occurs when an instruction does not follow the syntax rules, or grammar, of the programming language • Omitting . misspelling a keyword • A runtime error occurs when the computer can’t execute an instruction • Divide by 0 • A logic error is an error in the logic or design of a program • Incorrect formula Page 559

  29. Section A Chapter 11 Programming Basics How do programmers find errors? • Proofreading lines of code • Programmers can also use a debugger, which allows programmers to step through a program and monitor the status of variables, input, and output Page 559

  30. Section A Chapter 11 Programming Basics Do computer programs contain any special documentation? • User manuals • Help files • Programmers also insert remarks, which indicate how the code in a program works, in case others must modify the program Page 560

  31. Section B Procedural Programming CHAPTER 11 Computer Programming PARSONS/OJA Page 562

  32. Section B Chapter 11 Procedural Programming Algorithms: What is an algorithm? • An algorithm is a set of steps for carrying out a task, which can be written down and implemented • Carefully following the steps of a correctly formulated algorithm guarantees that you can accomplish the task for which the algorithm was designed Page 562

  33. Section B Chapter 11 Procedural Programming How do I write an algorithm? • Typically written in a format that is not specific to a particular programming language • This approach allows the programmer to focus on correctly formulating the algorithm, without being distracted by the detailed syntax of a computer programming language Page 562

  34. Section B Chapter 11 Procedural Programming How do I figure out an algorithm? • Record the steps you take to solve the problem yourself • The algorithm should: • Specify how the computer gets initial information • Specify how to manipulate this information • Specify how the computer decides what to display as the solution Page 563-564

  35. Section B Chapter 11 Procedural Programming What’s the best way to express an algorithm? • Structured English – a subset of the English language with a limited selection of sentence structures that reflect processing activities • Pseudocode – a notation system for algorithms that has been described as “a mixture of English and your favorite programming language” • Flowcharts – a graphical representation of the way that a computer should progress from one instruction to the next when it performs a task Page 565

  36. Section B Chapter 11 Procedural Programming What’s the best way to express an algorithm? Click to start Page 566

  37. Section B Chapter 11 Procedural Programming How do I know if my algorithm is correct? • Before finalizing the algorithm, perform a walkthrough to verify that your algorithm works • Step through the problem using realistic test data Page 567

  38. Section B Chapter 11 Procedural Programming Procedural Languages and Applications: What are the most popular procedural languages? • COBOL • FORTH • APL • ALGOL • PL/1 • Pascal • C • Ada • BASIC Page 573

  39. Section B Chapter 11 Procedural Programming What kinds of problems are best suited to the procedural approach? • Problems that can be solved by following a step-by-step algorithm • Transaction processing • Characterized by the use of a single algorithm applied to many different sets of data Page 574

  40. Section B Chapter 11 Procedural Programming What are the advantages and disadvantages of the procedural paradigm? • This approach tends to produce programs that run quickly and use system resources efficiently • Does not fit gracefully with certain types of problems • Unstructured problems • Complex algorithms • Forces programmers to view problems as a series of steps Page 574

  41. Section C Object-Oriented Programming CHAPTER 11 Computer Programming PARSONS/OJA Page 575

  42. Section C Chapter 11 Object-Oriented Programming What is the basic focus of the object-oriented paradigm? • The object-oriented paradigm is based on the idea that the solution for a problem can be visualized in terms of objects that interact with each other • An object is a unit of data that represents an abstract or real-world entity, such as a person, place, or thing Page 575

  43. Section C Chapter 11 Object-Oriented Programming What’s the difference between an object and a class? • A class is a template for a group of objects with similar characteristics CLASS: Pizza Page 575

  44. Section C Chapter 11 Object-Oriented Programming How do I define the classes that I need to solve a problem? • A class attributes defines the characteristics of a set of objects • A public attribute is available for use by any routine in the program • A private attribute can be accessed only from the routine in which it is defined • UML diagrams help plan the classes for a program Page 576

  45. Section C Chapter 11 Object-Oriented Programming How do I define the classes that I need to solve a problem? Page 576

  46. Section C Chapter 11 Object-Oriented Programming How do I code a class when writing a program? class Pizza { public string pizzaShape; public double pizzaPrice; public double pizzaSize; } Page 577

  47. Section C Chapter 11 Object-Oriented Programming Inheritance: How flexible are classes for defining different types of objects? • The object-oriented paradigm endows classes with quite a bit of flexibility • An OO feature called “inheritance” provides flexibility to deal with objects’ unique characteristics Page 577

  48. Section C Chapter 11 Object-Oriented Programming What is inheritance? • Inheritance refers to passing certain characteristics from one class to other classes • The process of producing new classes with inherited attributes creates a superclass and subclasses Page 577

  49. Section C Chapter 11 Object-Oriented Programming How do I code a subclass? • Java uses the “extends” command to link a subclass to a superclass class RectanglePizza extends Pizza { double pizzaLength; double pizzaWidth; } Page 578

  50. Section C Chapter 11 Object-Oriented Programming Methods and Messages: How does an OO program use objects? • Programs use objects to manipulate them with methods • A method is a segment of code that defines an action • Collect input • Perform calculations • Make comparisons • Execute decisions • Produce output Page 578

More Related