You are on page 1of 57

1.

Deitel (2007) . C How To

Program. Pearson
2.

Adrian & Kathie Kingsley Hughes


(2005) Beginning

Programming. Wiley
3.

Publishing, Inc.
from Wikipedia website, free
encyclopedia.

EN MOHD HATTA BIN HJ MOHAMED ALI


1

1.1
The Computer

What Is Computer?
An electronic device, operating under the control of
instructions stored in its own memory

Two major components


Computer

Hardware

Software

Why Program?
Computer programmable machine designed to follow
instructions
Program instructions in computer memory to make it do
something
Programmer person who writes instructions (programs)
to make computer perform a task
SO, without programmers, no programs; without programs,
a computer cannot do anything

1.2
Computer System: The Hardware

Types of Computer

Computers Component
Main Component (Hardware) of computer;

Computers Component (cont)


The architecture of a typical computer, usually consists of;
System Unit (CPU)
power of the computers. Consist of ALU and control unit.

Main Memory (RAM & ROM)


stores information to be processed or instructions on how to process
information.+ 2nd Storage (mass storage - tapes, optical discs, magnetic
disc, etc.)

Peripherals devices
2 types;
1. Input Devices keyboards, mouse, laser pointer, digital pen, etc.
2. Output Devices monitors, LCD screen, printers, speakers, etc.

Communication Devices
Enables a computer to send and receive data, instructions, and information

Note:
Some references books show the basic components of typical computer system is CPU,
Main memory, secondary memory/storage devices, input devices and output devices.
9

Computer Architecture
The Organization of CPU
CPU
Instruction
(Input)

ALU Arithmetic
Logic Unit
Control
Unit

Result
(Output)

Communication
devices

Input Devices

11

Computer Architecture (cont)


System Unit (CPU)
Comprised of:

Control Unit
Retrieves and decodes program instructions
Coordinates activities of all other parts of computer

Arithmetic & Logic Unit


Hardware optimized for high-speed numeric calculation
Hardware designed for true/false, yes/no decisions

Computer Architecture (cont)


Main Memory
It is volatile. Main memory is erased when program
terminates or computer is turned off
Also called Random Access Memory (RAM)
Organized as follows:

bit: smallest piece of memory. Has values 0 (off,


false) or 1 (on, true)

byte: 8 consecutive bits. Bytes have addresses.

Computer Architecture (cont)


Main Memory
Addresses Each byte in memory is identified by a
unique number known as an address.

In Figure 1-3, the number 149 is stored in the byte with the address 16, and
the number 72 is stored at address 23.

Computer Architecture (cont)


Secondary storage
Non-volatile: data retained when program is not
running or computer is turned off
Comes in a variety of media:

magnetic: floppy disk, zip disk, hard drive

optical: CD-ROM

Flash drives, connected to the USB port

Computer Architecture (cont)


Input devices
Devices that send information to the computer from
outside
Many devices can provide input:

Keyboard, mouse, scanner, digital camera,


microphone

Disk drives and CD-ROM

Computer Architecture (cont)


Output devices
Output is information sent from a computer program
to the outside world.
The output is sent to an output device
Many devices can be used for output:

Computer monitor and printer

Floppy, zip disk drives

Writable CD drives

18

1.3
Computer System: The Software

Computer Software
Software is divided into 2 categories
Software

System
Software

Application
Software

Computer Software (Cont..)


SYSTEM SOFTWARE
Normally supplied by the
manufacturer of the computer
Consists of utility programs and
operating aids that facilitate the
use and performance of the
computer
Includes the computers
operating system
Related software that manages
the systems resources and
control the operations of the
hardware.

APPLICATION SOFTWARE
Designed to perform a specific
task such as course registration
or banking and a generalpurpose such as processor (eg.
Ms Word)
May be acquired by purchasing
off-the-shelf or by designing for
own purpose (customer made)
Off-the-shelf : prewritten and
ready to use
Custom made : written by inhouse, consulting firm or
software house
21

Computer Software (Cont..)


Where are the application and system software?
Application Software

Interpreter
use to interpret highlevel language to low level
lang. and so on.
user will communicate
with system easily.

users can directly understand


and use the software.
communicate in human
language
eg. Micr. Office, notepad, prog.
lang. such C, C++, VB, etc.

System Software
operating system
manage and control by
machine language
eg. i-Mac, windows,
Unix, Linux,machine lang.

22

Programs & Programming Languages


A program is a set of instructions that the computer
follows to perform a task
We start with an algorithm, which is a set of well-defined
steps.

Example Algorithm for


Calculating Gross Pay

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.

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

Programs and
Programming Languages
Types of languages:

Low-level: used for


communication with computer
hardware directly. Often written
in binary machine code (0s/1s)
directly.
High-level: closer to human
language

Some Well-Known Programming


Languages

From a High-level Program to an


Executable File

1.
2.

3.
4.

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 1 - 4 are often performed by a single


command or button click.

Errors detected at any step will prevent execution of


following steps.

From a High-level Program to an


Executable File

Source Code

Object Code

Preprocessor

Linker

Modified
Source Code

Compiler

Executable Code

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.

Integrated Development
Environments (IDEs)

1.4
What Is a Program Made Of?

What Is a Program Made Of?

Common elements in programming languages:

Key Words
Programmer-Defined Identifiers
Operators
Punctuation
Syntax

Program 1-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

// This program calculates the user's pay.


#include <iostream>
using namespace std;
int main()
{
double hours, rate, pay;
// Get the number of hours worked.
cout << "How many hours did you work? ";
cin >> hours;
// Get the hourly pay rate.
cout << "How much do you get paid per hour?";
cin >> rate;
// Calculate the pay.
pay = hours * rate;

// Display the pay.


cout << "You have earned $" << pay << endl;
return 0;

Key Words

Also known as reserved words


Have a special meaning in C++
Can not be used for any other purpose
Key words in the Program 1-1: using,
namespace, int, main, double, and return.

Key Words
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

// This program calculates the user's pay.


#include <iostream>
using namespace std;
int main()
{
double hours, rate, pay;
// Get the number of hours worked.
cout << "How many hours did you work? ";
cin >> hours;
// Get the hourly pay rate.
cout << "How much do you get paid per hour? ";
cin >> rate;
// Calculate the pay.
pay = hours * rate;

// Display the pay.


cout << "You have earned $" << pay << endl;
return 0;

Programmer-Defined Identifiers
Names made up by the programmer
Not part of the C++ language
Used to represent various things: variables
(memory locations), functions, etc.
In Program 1-1: hours, rate, and pay.

Programmer-Defined Identifiers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

// This program calculates the user's pay.


#include <iostream>
using namespace std;
int main()
{
double hours, rate, pay;
// Get the number of hours worked.
cout << "How many hours did you work? ";
cin >> hours;
// Get the hourly pay rate.
cout << "How much do you get paid per hour? ";
cin >> rate;
// Calculate the pay.
pay = hours * rate;

// Display the pay.


cout << "You have earned $" << pay << endl;
return 0;

Operators

Used to perform operations on data


Many types of operators:

Arithmetic - ex: +,-,*,/

Assignment ex: =

Some operators in Program1-1:


<< >> = *

Operators
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

// This program calculates the user's pay.


#include <iostream>
using namespace std;
int main()
{
double hours, rate, pay;
// Get the number of hours worked.
cout << "How many hours did you work? ";
cin >> hours;
// Get the hourly pay rate.
cout << "How much do you get paid per hour? ";
cin >> rate;
// Calculate the pay.
pay = hours * rate;

// Display the pay.


cout << "You have earned $" << pay << endl;
return 0;

Punctuation

Characters that mark the end of a statement, or


that separate items in a list
In Program 1-1: , and ;

Punctuation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

// This program calculates the user's pay.


#include <iostream>
using namespace std;
int main()
{
double hours, rate, pay;

// Get the number of hours worked.


cout << "How many hours did you work? ";
cin >> hours;
// Get the hourly pay rate.
cout << "How much do you get paid per hour? ";
cin >> rate;
// Calculate the pay.
pay = hours * rate;

// Display the pay.


cout << "You have earned $" << pay << endl;
return 0;

Syntax

The rules of grammar that must be followed


when writing a program
Controls the use of key words, operators,
programmer-defined symbols, and punctuation

Variables
A variable is a named storage location in the
computers memory for holding a piece of data.
In Program 1-1 we used three variables:

The hours variable was used to hold the


hours worked

The rate variable was used to hold the pay


rate

The pay variable was used to hold the gross


pay

Variable Definitions
To create a variable in a program you must write a
variable definition (also called a variable declaration)
Here is the statement from Program 1-1 that defines
the variables:
double hours, rate, pay;

Variable Definitions
There are many different types of data, which you
will learn about in this course.
A variable holds a specific type of data.
The variable definition specifies the type of data a
variable can hold, and the variable name.

Variable Definitions
Once again, line 7 from Program 1-1:
double hours, rate, pay;

The word double specifies that the variables can


hold double-precision floating point numbers. (You
will learn more about that in Chapter 2)

1.5
Input, Processing, and Output

Input, Processing, and Output


Three steps that a program typically
performs:
1) Gather input data:
from keyboard
from files on disk drives
2) Process the input data
3) Display the results as output:
send it to the screen
write to a file

1.6
The Programming Process

The Programming Process

1.7
Procedural and
Object-Oriented Programming

Procedural and Object-Oriented


Programming
Procedural programming: focus is on the
process. Procedures/functions are written
to process data.
Object-Oriented programming: focus is on
objects, which contain data and the means
to manipulate the data. Messages sent to
objects to perform operations.

1.8
Exercise & Quiz

Exercise
Lab Exercise
FKAAS. Programming Technique 1.

Part A -

Part B -

56

Quiz 1
Page 23
Tony Gaddish & Barret Krupnow. Starting Out with
C++, 5th Edition. Pearson International Edition.

Part A - Short Question


1, 2, 3, 4, 5
Part B - Fill the Blank Question
8, 9, 10, 11, 12, 13, 14, 15, 16, 17

57

Quiz 1 (cont..)
1. Both main memory and secondary storage are types of memory.
Describe the differences of them.
2. What is the difference between operating system software and
application software.
3. Indicate all categories that following operating system belong to;
System A : This system allow multiple users to run multiple
programs simultaneously.
System B : Only one user may access the system at a time,
but multiple programs can be run simultaneously.
System C : Only one user may access the system at a time,
and only one program can be run on the system at a time.
4. Why must programs written in a high-level language be translated
into machine language before It can be run.
5. Why it easier to write a program in a high level language than in
machine language.
58

Quiz 1 (cont..)
1. Computers can do many different job because they can be ________.
2. The job of the __________ is to fetch instruction, carry out the
operations commanded by the instructions, and produce some
outcome or resultant information.
3. Internally, the CPU consist of the __________ and the ___________.
4. A(n)_________is an example of a secondary storage device.
5. The two general categories of software are _________and ________.
6. A program is a set of ______________.
7. Since computer cant programmed in natural human language,
algorithm must be written in a(n) ____________ language.
8. __________ is the only language computer really process.
9. __________ language are close to the level of human in terms of
readability.
10. __________ language are close to the level of the computer.
59

You might also like