Anda di halaman 1dari 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