C++ Programming: From Problem Analysis to Program Design

Slides:



Advertisements
Similar presentations
Chapter 1 An Overview of Computers and Programming Languages.
Advertisements

Chapter 1: An Overview of Computers and Programming Languages
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition by Tony Gaddis, Judy Walters,
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
CHAPTER 1: AN OVERVIEW OF PROGRAMMING INSTRUCTOR: MOHAMMAD MOJADDAM How to Program in C++
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages Updated by: Dr\Ali-Alnajjar.
CHAPTER 1 AN OVERVIEW OF COMPUTERS AND PROGRAMMING LANGUAGES.
Chapter 1: An Overview of Computers and Programming Languages.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
Chapter 1 An Overview of Computers and Programming Languages.
EGR 2261 Engineering Problem Solving Using C and C++ Professor Nick Reeder.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
Overview of Programming and Problem Solving. Objectives In this chapter you will: Learn about different types of computers Explore the hardware and software.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
C++ Programming: Program Design Including Data Structures, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1 An Overview of Computers and Programming Languages.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Introduction to Programming By: Prof. Muhammad Abu Baker Siddique 2 nd Lecture 1.
Chapter 1: Introduction to Computers and Programming
Chapter 1 Introduction 2nd Semester H
BASIC PROGRAMMING C SCP1103 (02)
Introduction to Computers and C++ Programming
Chapter 1: An Overview of Computers and Programming Languages
Engineering Problem Solving Using C and C++ Professor Nick Reeder
Chapter 1: An Overview of Computers and Programming Languages
Engineering Problem Solving With C An Object Based Approach
Chapter 1: An Overview of Computers and Programming Languages
BASIC PROGRAMMING C SCP1103 (02)
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
About the Presentations
Chapter 1: An Overview of Computers and Programming Languages
Overview of Computers & Programming Languages
Chapter 1: Introduction to Computers and Programming
Hello World 2 What does all that mean?.
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Chapter 1: An Overview of Computers and Programming Languages
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Reminders Please turn off cell phones.
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

C++ Programming: From Problem Analysis to Program Design Chapter 1: An Overview of Computers and Programming Languages Dr .Hanaa.M

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Objectives In this chapter you will: Learn about different types of computers Explore the hardware and software components of a computer system Learn about the language of a computer Examine high-level programming languages

Objectives (continued) Discover what a compiler is and what it does Examine a C++ Program and explore how a C++ program is processed Become aware of Standard C++ and ANSI/ISO Standard C++

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Categories of Computers Mainframe computers Midsize computers Micro computers (personal computers)

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Elements of a Computer System Hardware Central Processing Unit (CPU) Main Memory Secondary Storage Input/ Output Devices Software

Central Processing Unit (CPU) The main components of the CPU are: Control unit (CU) Arithmetic and logic unit (ALU). Registers.

Central Processing Unit (CPU) CU (Control Unit): Fetches and decodes instructions Controls flow of information in and out of MM Controls operation of internal CPU components ALU (arithmetic logic unit): carries out all arithmetic and logical operations

Central Processing Unit (CPU) 3. Registers. PC (program counter): points to next instruction to be executed IR (instruction register): holds instruction currently being executed

Main Memory Directly connected to the CPU All programs must be loaded into main memory before they can be executed All data must be brought into main memory before it can be manipulated When computer power is turned off, everything in main memory is lost

Secondary Storage Secondary storage: Device that stores information permanently Examples of secondary storage: Hard disks Floppy disks Zip disks CD-ROMs Tapes Flash drives

Input/output Devices Input devices feed data and programs into computers. They include: Keyboard Mouse Secondary storage Output devices display results. They include: Monitor Printer

Software Software: Programs that do specific tasks 1. System programs take control of the computer, such as an operating system Operating System monitors the overall activity of the computer and provides services. 2. Application programs perform a specific task Word processors Spreadsheets Games

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

The Language of a Computer Digital signals are sequences of 0s and 1s Machine language: language of a computer Binary digit (bit): The digit 0 or 1 Binary code: A sequence of 0s and 1s Byte: A sequence of eight bits

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Programming Language Evolution Early computers were programmed in machine language To calculate wages = rates * hours in machine language: 100100 010001 //Load 100110 010010 //Multiply 100010 010011 //Store C++ Programming: From Problem Analysis to Program Design, Third Edition

Assembly Language Assembly language instructions are mnemonic. Mnemonic (easy-to-remember). Assembler: translates a program written in assembly language into machine language

High-Level Languages High-level languages include Basic, FORTRAN, COBOL, Pascal, C++, C, and Java Compiler: translates a program written in a high-level language machine language The equation wages = rate • hours can be written in C++ as: wages = rate * hours;

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

A C++ Program Sample Run: #include <iostream> using namespace std; int main() { cout << "My first C++ program." << endl; cout << "The sum of 2 and 3 = " << 5 << endl; cout << "7 + 8 = " << 7 + 8 << endl; return 0; } Sample Run: My first C++ program. The sum of 2 and 3 = 5 7 + 8 = 15

A C++ Program cout << "My first C++ program." << endl; This is a C++ output statement. It causes the computer to evaluate the expression after the pair of symbols << and display the result in the screen. endl causes the insertion point to move to the beginning of the next line. C++ contain various types of Expressions such as arithmetic and strings. For example: 7+8 is arithmetic expression. Anything in double quotes is a string “7+8” is a string

A C++ Program Sample Run: cout << "My first C++ program." << endl; Sample Run: My first C++ program.

A C++ Program Sample Run: cout << "The sum of 2 and 3 = " << 5 << endl; Sample Run: The sum of 2 and 3 = 5 The first expression “The sum f 2 and 3 = “ is a string and evaluates to itself . The second expression consists of Number 5 and evaluates to itself.

A C++ Program Sample Run: cout << "7 + 8 = " << 7 + 8 << endl; Sample Run: 7 + 8 = 15 The first expression “7 + 8 = “ is a string and evaluates to itself. The second expression consists of number 7 and 8, and the C++ arithmetic operator +. Therefore the result of the expression is the sum of 7 and 8 which is 15.

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Processing a Program Editor The following steps are necessary to process a program in C++: Editor Step 1: Use text editor to create a C++ program. This program is called source code or source program.

Processing a Program Step 2: In a C++ program, statements that begin with the symbol # are called preprocessor directives. These statements are processed by a program called preprocessor.

Processing a Program Step 3: Compiler is used to: verifies that the program obeys the rules of the programming language and checks the source program for syntax errors. Translate the program into equivalent machine language (object program).

Processing a Program Step 4: Programs in high level languages are developed using a software development kit (SDK). SDK contains programs that are useful in creating your program such as mathematical functions. The prewritten code resides in a library. Linker combines the object code with the program from libraries.

Processing a Program Step 5: You must load the executable program into main memory for execution. Loader: a program that loads an executable program into main memory.

Processing a Program Step 6: The final step is to execute the program.

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

Problem Solving Programming is a process of problem solving Problem solving techniques Analyze the problem Outline the problem requirements Design steps (algorithm) to solve the problem Algorithm: Step-by-step problem-solving process Solution achieved in finite amount of time

Problem Solving Process Step 1 - Analyze the problem Outline the problem and its requirements Design steps (algorithm) to solve the problem Step 2 - Implement the algorithm Implement the algorithm in code Verify that the algorithm works Step 3 - Maintenance Use and modify the program if the problem domain changes

Example Design algorithm to find the perimeter and area of a rectangle. Analyze the problem: To find the perimeter and area of a rectangle, we need to know the rectangle’s length and width. The perimeter and area of rectangle is given by the following formula: Perimeter = 2 . (length + width) Area = length . width

Example (continues) Design algorithm: Get length of Rectangle. Get width of Rectangle. Find the perimeter using the following equation: Perimeter = 2 . (length + width) Find the area using the following equation: Area = length . width

Compiling and Linking Run code through compiler If compiler generates errors Look at code and remove errors Run code again through compiler If there are no syntax errors Compiler generates equivalent machine code Linker links machine code with system resources

Outline 1. Overview of the History of Computers. 2. Elements of a Computer System. 3. The language of a computer. 4. The Evolution of Programming Languages. 5. A C++ Program. 6. Processing a Program. 7. Analysis-Coding-Execution Cycle. 8. ANSI/ISO Standard C++.

ANSI/ISO STANDARD C++ C++ evolved from C C++ designed by Bjarne Stroustrup at Bell Laboratories in early 1980s C++ programs were not always portable from one compiler to another In mid-1998, ANSI/ISO C++ language standards were approved

Summary Computer: an electronic device that can perform arithmetic and logical operations Computer system has hardware and software Central processing unit (CPU): brain Primary storage (MM) is volatile; secondary storage (e.g., disk) is permanent Operating system monitors the overall activity of the computer and provides services

Summary (continued) Various kinds of languages, such as machine language, assembly, high-level The problem-solving process has three steps: Analyze problem and design an algorithm Implement the algorithm in code Maintain the program