0% found this document useful (0 votes)
499 views49 pages

ch1 C++

This chapter provides an overview of computers and programming languages. It discusses the history of computers from mainframe to personal computers and the elements that make up a computer system, including hardware components like the CPU and memory, and software. The chapter explores how programming languages have evolved from machine language to high-level languages like C++. It provides examples of a simple C++ program and how a C++ program is processed by a text editor, preprocessor, compiler, linker and operating system.

Uploaded by

Malik Arslan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
499 views49 pages

ch1 C++

This chapter provides an overview of computers and programming languages. It discusses the history of computers from mainframe to personal computers and the elements that make up a computer system, including hardware components like the CPU and memory, and software. The chapter explores how programming languages have evolved from machine language to high-level languages like C++. It provides examples of a simple C++ program and how a C++ program is processed by a text editor, preprocessor, compiler, linker and operating system.

Uploaded by

Malik Arslan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 49

C++ Programming:

From Problem Analysis


to Program Design, Third Edition

Chapter 1: An Overview of Computers


and Programming Languages

C++ Programming: From Problem Analysis to 1


Program Design, Third Edition
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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 2


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 3


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 4


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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 5


Categories of Computers

• Mainframe computers

• Midsize computers

• Micro computers (personal computers)

C++ Programming: From Problem Analysis to Program Design, Third Edition 6


C++ Programming: From Problem Analysis to Program Design, Third Edition 7
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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 8


Elements of a Computer System

1. Hardware
− Central Processing Unit (CPU)
− Main Memory
− Secondary Storage
− Input/ Output Devices
2. Software

C++ Programming: From Problem Analysis to Program Design, Third Edition 9


Central Processing Unit (CPU)

The main components of the CPU are:


1. Control unit (CU)
2. Arithmetic and logic unit (ALU).
3. Registers.

C++ Programming: From Problem Analysis to Program Design, Third Edition 10


Central Processing Unit (CPU)

1. CU (Control Unit):
− Fetches and decodes instructions

− Controls flow of information in and out of MM

− Controls operation of internal CPU components

2. ALU (arithmetic logic unit): carries out all arithmetic


and logical operations

C++ Programming: From Problem Analysis to Program Design, Third Edition 11


Central Processing Unit (CPU)

3. Registers.

1. PC (program counter): points to next


instruction to be executed

2. IR (instruction register): holds instruction


currently being executed

C++ Programming: From Problem Analysis to Program Design, Third Edition 12


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
C++ Programming: From Problem Analysis to Program Design, Third Edition 14
Secondary Storage
• Secondary storage: Device that stores
information permanently
• Examples of secondary storage:
− Hard disks
− Floppy disks
− Zip disks
− CD-ROMs
− Tapes
− Flash drives
C++ Programming: From Problem Analysis to Program Design, Third Edition 16
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
− Secondary storage
C++ Programming: From Problem Analysis to Program Design, Third Edition 17
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 18
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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 19


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
C++ Programming: From Problem Analysis to Program Design, Third Edition 20
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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 22


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 23


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 24


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;

C++ Programming: From Problem Analysis to Program Design, Third Edition 25


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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 26


A C++ Program
#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

C++ Programming: From Problem Analysis to Program Design, Third Edition 27


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

This is a C++ output statement.


It causes the computer to endl causes the insertion point
evaluate the expression after the pair to move to the beginning of the
of symbols << and next line.
display the result in the screen.

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

28
A C++ Program
cout << "My first C++ program." << endl;

Sample Run:
My first C++ program.

C++ Programming: From Problem Analysis to Program Design, Third Edition 29


A C++ Program
cout << "The sum of 2 and 3 = " << 5 << endl;

The first expression The second expression consists of


“The sum f 2 and 3 = “ is Number 5 and evaluates to itself.
a string and evaluates to
itself .

Sample Run:
The sum of 2 and 3 = 5

C++ Programming: From Problem Analysis to Program Design, Third Edition 30


A C++ Program
cout << "7 + 8 = " << 7 + 8 << endl;

The first expression


“7 + 8 = “ is a string and The second expression consists of
evaluates to itself. 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.
Sample Run:
7 + 8 = 15

C++ Programming: From Problem Analysis to Program Design, Third Edition 31


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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 32


Processing a Program
The following steps are necessary
to process a program in C++:

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:
1. verifies that the program
obeys the rules of the
programming language and
checks the source program
for syntax errors.
2. 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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 39


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 40


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 41


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

42
Example (continues)

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

43
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
C++ Programming: From Problem Analysis to Program Design, Third Edition 45
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++.

C++ Programming: From Problem Analysis to Program Design, Third Edition 46


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 47


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

C++ Programming: From Problem Analysis to Program Design, Third Edition 48


Summary (continued)

• Various kinds of languages, such as


machine language, assembly, high-level
• The problem-solving process has three
steps:
1. Analyze problem and design an algorithm
2. Implement the algorithm in code
3. Maintain the program

C++ Programming: From Problem Analysis to Program Design, Third Edition 49

You might also like