Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.

Similar presentations


Presentation on theme: "PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation."— Presentation transcript:

1 PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation Testing and Debugging. Typical C++ Development Environment Variable Data Types Identifiers

2 2 Objectives In this chapter the topic will be cover: Introduction to Programming Computer programming concepts Problem solving Flowchart Structured programming design Implementation Documentation Testing and debugging

3 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

4 4 Introduction to Programming: Machine Language Machine language programs, also called executables, consist of binary instructions Each instruction has two parts: –Instruction part: the operation to be performed; also called an opcode –Address part: memory address of the data to be used Each class of computer has its own particular machine language Writing in machine language is tedious!

5 5 Introduction to Programming: Assembly languages Assembly Language: programming language with symbolic names for opcodes, and decimals or labels for memory addresses Example: ADD 1, 2 MUL 2, 3 Assembly language programs must be translated into machine instructions, using an assembler

6 6 Introduction to Programming: Assembly languages

7 7 Introduction to Programming: Low- and High-Level Languages Low-level languages: languages that use instructions tied directly to one type of computer Examples: machine language, assembly language High-level languages: instructions resemble written languages, such as English,and can be run on a variety of computer types Examples: Visual Basic, C, C++, Java

8 8 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

9 9 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

10 10 Introduction to Programming: Procedural and Object Orientations Programs can also be classified by their orientation: –Procedural: available instructions are used to create self-contained units called procedures –Object-oriented: reusable objects, containing code and data, are manipulated Object-oriented languages support reusing existing code more easily

11 11 Introduction to Programming: Procedural and Object Orientations (continued) Figure 1.1: Creating an executable C++ program.

12 12 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

13 13 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

14 14 Introduction to Programming: Application and System Software (continued) Multi-user system: a system that allows more than one user to run programs on the computer simultaneously Multitasking system: a system that allows each user to run multiple programs simultaneously; also called multiprogrammed system

15 15 Introduction to Programming: The Development of C++ The purpose of most application programs is to process data to produce specific results Basic procedural operations.

16 16 Introduction to Programming: The Development of C++ (continued) Early procedural languages included –FORTRAN: Formula Translation –ALGOL: Algorithmic Language –COBOL: Common Business Oriented Language –BASIC: Beginners All-purpose Symbolic Instruction Code –Pascal –C Early object-oriented language: –C++

17 17 Problem Solving 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

18 18 Problem Solving and Software Development (continued) The three phases of software development.

19 19 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

20 20 Problem Solution and Software Development: Phase I (continued) The development and design steps.

21 21 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!

22 22 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 Continue..

23 23 Problem Solution and Software Development: Phase I (continued) First-level structure diagram.

24 24 Problem Solution and Software Development: Phase I (continued) Second-level refinement structure diagram.

25 25 Problem Solution and Software Development: Phase I - Algorithm (continued) Example: Calculate the sum of all whole numbers from 1 through 100

26 26 Problem Solution and Software Development: Phase I - Algorithm (continued)

27 27 Problem Solution and Software Development: Phase I - Algorithm (continued)

28 28 Problem Solution and Software Development: Phase I - Flowchart

29 29 Problem Solution and Software Development: Phase I - Flowchart (continued) Continue..

30 30 Flowchart for calculating the average of three numbers. Problem Solution and Software Development: Phase I - Flowchart (continued) Continue..

31 31 Problem Solution and Software Development: Phase I (continued) Step 3: Structured Programming Design –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

32 32 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

33 33 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

34 34 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

35 35 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

36 36 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

37 37 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

38 38 Common Programming Errors Common errors include –Starting to write the program before fully understanding the requirements and the algorithm to be used –Failing to make backups periodically –Failing to provide complete, precise instructions in the programming language

39 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

40 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

41 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

42 42 Summary (continued) Four fundamental control structures used in coding: –Sequence –Selection –Iteration –Invocation

43 Exercise 1. Analyse the problem base on the structure chat at figure 1.6. 2.Write a pseudocode for figure 1.6 diagram. 3. Base on the pseudocode draw a flow chart. 43


Download ppt "PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation."

Similar presentations


Ads by Google