Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1 Introduction(1.1)

Similar presentations


Presentation on theme: "Chapter 1 Introduction(1.1)"— Presentation transcript:

1 Chapter 1 Introduction(1.1)

2 Objectives Introduction to Programming
Problem Solution and Software Development Algorithms C++ for Engineers and Scientists,

3 Introduction to Programming
Program: self-contained set of instructions used to operate a computer to produce a specific result Also called software Programming: the process of writing a program, or software Programming language-The set of instruction that can be used to construct a program C++ for Engineers and Scientists, Second Edition

4 Machine Language Although the previous algorithm defines the steps for calculating the gross pay, it is not ready to be executed on the computer. The computer only executes machine language instructions.

5 Machine Language Machine language instructions are binary numbers, such as Rather than writing programs in machine language, programmers use programming languages.

6 Programs and Programming Languages
Types of languages: Low-level: used for communication with computer hardware directly. Often written in binary machine code (0’s/1’s) directly. languages that use instructions tied directly to one type of computer Examples: machine language, assembly language

7 -closer to human language
High-level: -closer to human language -instructions resemble written languages, such as English,and can be run on a variety of computer types Examples: Visual Basic, C, C++, Java C++ for Engineers and Scientists, Second Edition

8 Introduction to Programming: Assembly Language (continued)
C++ for Engineers and Scientists, Second Edition

9 Introduction to Programming: Low- and High-Level Languages (continued)
Source code: the programs written in a high- or low-level language Source code must be translated to machine instructions in one of two ways: Interpreter: each statement is translated individually and executed immediately after translation Compiler: all statements are translated and stored as an executable program, or object program; execution occurs later C++ for Engineers and Scientists, Second Edition

10 Some Well-Known Programming Languages

11 Introduction to Programming: Low- and High-Level Languages (continued)
Large C++ programs may be stored in two or more separate program files due to Use of previously written code Use of code provided by the compiler Modular design of the program (for reusability of components) Linker: combines all of the compiled code required for the program C++ for Engineers and Scientists, Second Edition

12 Introduction to Programming: Procedural and Object Orientations (continued)
Figure 1.2 Creating an executable C++ program. C++ for Engineers and Scientists, Second Edition

13 Example Algorithm for Calculating Gross Pay

14 From a High-level Program to an Executable File
Create file containing the program with a text editor. Run preprocessor to convert source file directives to source code program statements. Run compiler to convert source program into machine instructions. Run linker to connect hardware-specific code to machine instructions, producing an executable file. Steps b–d are often performed by a single command or button click. Errors detected at any step will prevent execution of following steps.

15 Introduction to Programming: Application and System Software
Application software: programs written to perform particular tasks for users System software: collection of programs to operate the computer system System software must be loaded first; called booting the system Bootstrap loader: a permanent, automatically executed component to start the boot process C++ for Engineers and Scientists, Second Edition

16 Introduction to Programming: Application and System Software (continued)
Operating system: the set of system programs used to operate and control a computer; also called OS Tasks performed by the OS include Memory management Allocation of CPU time Control of input and output Management of secondary storage devices C++ for Engineers and Scientists, Second Edition

17 Introduction to Programming: The Development of C++
The purpose of most application programs is to process data to produce specific results Figure 1.3 Basic procedural operations. C++ for Engineers and Scientists, Second Edition

18 Introduction to Programming: The Development of C++ (continued)
Early object-oriented language: C++ C++ for Engineers and Scientists, Second Edition

19 Problem Solution and Software Development
Software development procedure: method for solving problems and creating software solutions Consists of three phases: Phase I: Development and Design Phase II: Documentation Phase III: Maintenance Software engineering: discipline concerned with creating efficient, reliable, maintainable software C++ for Engineers and Scientists, Second Edition

20 Problem Solution and Software Development (continued)
Figure 1.6 The three phases of software development. C++ for Engineers and Scientists, Second Edition

21 Problem Solution and Software Development: Phase I
Problem Solution and Software Development: Phase I. Development and Design Program requirement: request for a program or a statement of a problem After a program requirement is received, Phase I begins Phase I consists of four steps: Analysis Design Coding Testing C++ for Engineers and Scientists, Second Edition

22 Problem Solution and Software Development: Phase I (continued)
Figure 1.7 The development and design steps. C++ for Engineers and Scientists, Second Edition

23 Problem Solution and Software Development: Phase I (continued)
Step 1: Analyze the Problem Analyst must understand What outputs are required What inputs will be needed How the inputs can be used to produce the desired outputs Failure to analyze and understand the requirements leads to a failed solution! C++ for Engineers and Scientists, Second Edition

24 Problem Solution and Software Development: Phase I (continued)
Step 2: Develop a Solution Algorithm: the exact steps used to solve a problem Algorithm is usually defined at high level, then refined to detailed lower levels Structure level diagrams may be used to represent the levels of analysis C++ for Engineers and Scientists, Second Edition

25 Algorithms Algorithm: the step-by-step sequence of instructions that describe how the data is to be processed to produce the desired output Programming = the translation of the selected algorithm into a language the computer can use C++ for Engineers and Scientists, Second Edition

26 Algorithms (continued)
Pseudocode: English-like phrases used to describe the algorithm Formula: description of a mathematical equation Flowchart: diagram showing the flow of instructions in an algorithm Flowcharts use special symbols C++ for Engineers and Scientists, Second Edition

27 Problem Solution and Software Development: Phase I (continued)
Figure 1.8 First-level structure diagram. C++ for Engineers and Scientists, Second Edition

28 Problem Solution and Software Development: Phase I (continued)
Figure 1.9 Second-level refinement structure diagram. C++ for Engineers and Scientists, Second Edition

29 Problem Solution and Software Development: Phase I (continued)
Step 3: Code the Solution Also called writing the program, and implementing the solution Program should contain well-defined patterns or structures of the following types: Sequence Selection Iteration Invocation C++ for Engineers and Scientists, Second Edition

30 Problem Solution and Software Development: Phase I (continued)
Sequence: defines the order in which instructions are executed Selection: allows a choice between different operations, based on some condition Iteration: allows the same operation to be repeated based on some condition; also called looping or repetition Invocation: involves invoking a set of statements when needed C++ for Engineers and Scientists, Second Edition

31 Problem Solution and Software Development: Phase I (continued)
Step 4: Test and Correct the Program Testing: method to verify correctness and that requirements are met Bug: a program error Debugging: the process of locating an error, and correcting and verifying the correction Testing may reveal errors, but does not guarantee the absence of errors C++ for Engineers and Scientists, Second Edition

32 Problem Solution and Software Development: Phase I (continued)
Testing requires the use of meaningful, representative test data Impossible to test all possible combinations of data and operations in a complex program Testing plans must be developed to ensure good coverage in testing Testing usually requires more time than other steps in Phase I C++ for Engineers and Scientists, Second Edition

33 Problem Solution and Software Development: Phase I (continued)
Relative effort for steps in Phase I C++ for Engineers and Scientists, Second Edition

34 Problem Solution and Software Development: Phase II. Documentation
Many documents may be required, including Program description Algorithm development and changes Well-commented program listing Sample test runs Users’ manual C++ for Engineers and Scientists, Second Edition

35 Problem Solution and Software Development: Phase III. Maintenance
Maintenance includes Ongoing correction of newly discovered bugs Revisions to meet changing user needs Addition of new features Maintenance usually the longest phase, and may be the primary source of revenue Good documentation vital for effective maintenance C++ for Engineers and Scientists, Second Edition

36 Problem Solution and Software Development: Backup
Backup: process of making copies of program code and documentation on a regular basis Backup copies = insurance against loss or damage Consider using off-site storage for additional protection C++ for Engineers and Scientists, Second Edition

37 Integrated Development Environments (IDEs)
An integrated development environment, or IDE, combine all the tools needed to write, compile, and debug a program into a single software application. Examples are Microsoft Visual C++, Borland C++ Builder, CodeWarrior, etc.

38 Integrated Development Environments (IDEs)

39 Summary Software: programs used to operate a computer
Programming language types: Low-level languages Machine language (executable) programs Assembly languages High-level languages Compiler and interpreter languages C++ for Engineers and Scientists, Second Edition

40 Summary (continued) Software engineering: discipline concerned with creating readable, efficient, reliable, and maintainable programs Three phases in software development: Program development and design Documentation Maintenance C++ for Engineers and Scientists,

41 Summary (continued) Four steps in program development and design:
Analyze the problem Develop a solution Code the solution Test and correct the solution Algorithm: step-by-step procedure that describes how a task is performed Computer program: self-contained unit of instructions and data used to operate a computer to produce a desired result C++ for Engineers and Scientists,

42 Summary (continued) Sequence Selection Iteration Invocation
Four fundamental control structures used in coding: Sequence Selection Iteration Invocation C++ for Engineers and Scientists, Second Edition

43 Analyze and design(input, output, process) the solution (flowchart) for each of question
to read three numbers and find their product. displays the area of a rectangle by accepting length and width from the user. will read the radius of a circle and calculate and display its perimeter. that will accept the radius of a circle and calculate and display its area that will accept three numbers and calculate and display the total of the three. that will accept the marks in a test for a group of 25 students then calculate and display the average mark. C++ for Engineers and Scientists, Second Edition


Download ppt "Chapter 1 Introduction(1.1)"

Similar presentations


Ads by Google