0% found this document useful (0 votes)
17 views42 pages

Chapter 1

This document introduces computer programs and programming. It discusses the basic concepts of programs, compilers, interpreters and assemblers. It also outlines the program development life cycle. The document then provides an overview of computer components and history, how computers work, and the different types of programming languages. It emphasizes the importance of writing good programs through practices like using clear naming conventions, indentation and spacing to improve readability. The goal is to help readers understand the fundamentals of computer programs and programming.

Uploaded by

Nabil Hazym
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)
17 views42 pages

Chapter 1

This document introduces computer programs and programming. It discusses the basic concepts of programs, compilers, interpreters and assemblers. It also outlines the program development life cycle. The document then provides an overview of computer components and history, how computers work, and the different types of programming languages. It emphasizes the importance of writing good programs through practices like using clear naming conventions, indentation and spacing to improve readability. The goal is to help readers understand the fundamentals of computer programs and programming.

Uploaded by

Nabil Hazym
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/ 42

Chapter 1

INTRODUCTION TO
COMPUTER
PROGRAMS
Learning Outcomes

At the end of this chapter, you should be able to:


❑ Understand the concepts and importance of programs
and programming.
❑ Differentiate between program, compiler, interpreter and
assembler.
❑ Apply the steps in the program development life cycle.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 3
Introduction

❑ Computers can be found anywhere from the size of a


desktop to smaller than the palm of one’s hand such as
desktop computers, notebooks, netbooks, tablet PCs
and mobile devices.
❑ Many kinds of applications or apps can be downloaded
into the tablet or smartphone.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 4
Introduction (cont.)

❑ There are many ways to develop these applications.


– Some websites provide templates to create apps
quickly
– Users with programming knowledge can create their
apps from scratch.
❑ Examples of systems/apps developed using
programming language:
– Automated Teller Machine (ATM) systems,
– Student Information Systems
– Online Ticketing Systems

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 5
Overview of Computers
and History of
H
Programming Language
I
19th first general purpose computing device.
S Century
T
O 20th early analogue computers have been invented.
Century
R
Y 1936
• first freely programmable computers were developed.

O • electronic programmable computers using vacuum tubes and transistors have


1940s been created.
F
• commercial computers, computer games and programming languages were
C 1950-1960s developed.

O
M • mainframes and supercomputers were available.
1975
P
U • IBM introduced its personal computers
1981
T
E • The first personal computer with a graphical user interface was introduced
1983
R
S
INTRODUCTION C++ PROGRAMMING All Rights Reserved
© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 6
Basic Operation of a Computer

❑ A computer is a device that can process data.


❑ Data consists of raw facts or unprocessed information.

Basic operation of a computer

• Input – accepts data from user


• Process – manipulate data
• Output – produce result
• Storage – store result

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 7
Computer Components

❑ Computers are electronic devices capable of performing


computations and making logical decisions at speeds
faster than human beings.

Hardware Software

Computer Component

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 8
Language of a Computer

❑ Computers can only understand machine language.


❑ Machine language is also called binary numbers or
binary code, which is a sequence of 0s and 1s.
❑ The digits 0 and 1 are called binary digits or bits.
❑ A sequence of 8 bits is called a byte.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 9
Types of Programming Language

❑ machine dependent

❑ language is ❑ machine independent


mnemonic ❑ the instructions are quite
❑ use assembler as English-like
translator to ❑ use compiler/interpreter as
translate to machine translator to translate to
language machine language
❑ Example: JAVA, C++, COBOL

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 10
Types of Programming Language
(cont.)
❑ Example:
To calculate the BMI of a user given the formula:
weight (kg)
BMI =
height (m) x height(m)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 11
Differences Between
Programs and Programming
❑ A program is a set of instructions that tell the computer how to
solve a problem or perform a task.
❑ Programming is the process of designing and writing computer
programs.
❑ A program is like a recipe. It contains a list of ingredients (variables)
and a list of directions (statements) that tell the computer what to do
with the variables.
❑ A program can be as short as one line of code, or as long as several
million lines of code.
❑ Computer programs guide the computer through orderly sets of
actions specified by the computer programmers.
❑ The programmer must decide what the programs need to do,
develop the logic of how to do it and write instructions for the
computer in a programming language that the computer can
translate into its own language and execute.
INTRODUCTION C++ PROGRAMMING All Rights Reserved
© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 12
The Importance of Computer
Programming
❑ Able to perform difficult tasks without making human-type errors
such as lack of focus, energy, attention or memory.
❑ Capable of performing extended tasks at greater serial speeds than
conscious human thoughts.
❑ Human brain cannot be duplicated or ‘re-booted’ like computers,
and has already achieved ‘optimization’ through design by
evolution, making it difficult to upgrade.
❑ Human brain does not physically integrate well, externally or
internally with current hardware and software.
❑ Non-existence of boredom in computers when performing repetitive
tasks allows jobs to be done faster and more efficiently.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 13
The Importance of Writing a Good
Program
Names for variables, types and functions
❑ Variables and constants are storage locations in the computer’s
memory that match with associated names known as identifiers.
❑ The following are some standards that can be used when naming
variables, constants, types and functions:
1. Function names will start with a lowercase letter.
Example: double calculateBMI (double, double);
2. Variable names start with a lowercase letter and the length must
not be more than 40 characters.
Example: double weight, height;
3. Constant names can be all in capital letters.
Example: const int MAX_SIZE =10;

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 14
The Importance of Writing a Good
Program (cont.)
Indentation styles and spacing
❑ In order to improve readability in programming, indentation can be
used to format the program source code.
• A text editor is used to create a program by following the rules or
syntax of different programming languages.
❑ Spaces can also be added in between sentences to make
programs much more readable.
❑ A new level of indentation should be used at every level of
statement nesting in the program.
❑ The minimum number of spaces at each indentation should be at
least three.
• Many programmers use a tab mark (typically 8 spaces) which will be
easier when indenting source code.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 15
The Importance of Writing a Good
Program (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 16
C++ Relationship Between
Programs, Compiler, Interpreter and
Assembler

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 17
C++ Program Structure

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 18
C++ Program Structure (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 19
The Flow of Program Execution

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 20
Comments

❑ Important in any program as they are very useful for documentation but it is
not compulsory to write comments in programs.
– Comments are not source code, thus they will not be read by the
compiler.
❑ Can be written in any way, according to the programmers’ preferences
❑ Explain the purpose, parts of the program and keep notes regarding
changes to the source code
❑ Store programmers’ name for future reference.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 21
Pre-processor Directive

❑ Also known as a header file in C++.


❑ It is a line of code that begins with the # symbol.
❑ Header files are not executable code lines but instructions to the
compiler.
❑ Header files are usually included at the top of the program before
the main function.
❑ The most common and important header file is
#include<iostream>.
– This header file tells the pre-processor to include the contents of
the file <iostream> which are the input and output operations
(such as printing to the screen).

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 22
Function

❑ Main Function
– Every C++ program contains one or more functions,
but one of it must be named as main .
– A function is a block of code that carries out specific
tasks.
– Generally, a main function starts with the function
type void or int before it is followed by the word
main and a pair of parentheses ().
– It is more advisable to write the function type int in
the main function but the word return 0 must be
written at the end of the function before it is closed.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 23
Function (cont.)

❑ Braces
– Body of the main function which is enclosed in braces
{}.
• Used to mark the beginning and end of blocks of
code in any program.
• The open brace { is placed at the beginning of
code after the main function and the close brace }
is used to show the closing of code.
• The code after the } will not be read/evaluated by
the compiler.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 24
Function (cont.)

❑ Statement
– A function consists of a sequence of statements that
perform the work of the function.
– Every statement in C++
ends with a semicolon (;).

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 25
Program Development
Life Cycle
❑ The process of developing a program is called program
development.
❑ The process associated with creating successful
application programs is called the Program
Development Life Cycle (PDLC).

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 26
Analysis

❑ First step in the Program Development Life Cycle


(PDLC).
❑ This process is done by reviewing the program
specifications.
❑ Other criteria must also be identified, especially the data
that will be used as input, the process involved and the
output that will be produced.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 27
Design

❑ A programmer needs to develop a series of steps with


logical order, which when applied would produce the
output of the problem.
❑ A solution is created using a structured programming
technique known as algorithm, which consists of
pseudocode and flowchart.
– A procedure or formula for solving a problem.
– A step-by-step problem solving process where the
result is attained in a limited amount of time.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 28
Design (cont.)

❑ Some requirements must be satisfied when creating an


algorithm:
1. Unambiguousness
2. Generality
3. Correctness
4. Finiteness

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 29
Design (cont.)

❑ Before an algorithm is created, the three types of control


structure should be understood first.
❑ A control structure is a pattern to control the flow of a
program module.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 30
Pseudocode

❑ A semiformal, English-like language with a limited


vocabulary used to design and describe algorithms.
❑ Every statement in pseudocode involves keywords
which define the process and operands.
❑ Each pseudocode statement should be written in a
separate line.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 31
Pseudocode (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 32
Flow Chart

❑ A graphic presentation of the detailed logical sequence


of steps needed to solve programming problems.
❑ Uses geometric symbols where different symbols are
used to represent different actions such as start/stop,
decision, input/output, processing and looping.
❑ Similar to pseudocode, keywords are written in
uppercase, while variable and constant names as well
as operations for the statements are written in lower
case.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 33
Flow Chart (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 34
Flow Chart (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 35
Flow Chart (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 36
Flow Chart (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 37
Flow Chart (cont.)

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 38
Implementation/Coding

❑ The pseudocode and flow chart which have been done


in the design step will be converted into a program by
using certain programming languages such as BASIC,
JAVA, C or C++.
❑ This step solves the problem by enabling the user to
start writing the programs.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 39
Implementation/Coding (cont.)

❑ Coding is the actual process of creating a program in a


programming language.
❑ The coded program is referred to as source code.
– Must follow certain rules which are called syntax.
– Must then be saved as a program which has the
extension ‘.cpp’.
❑ To be executed, the program is converted by the
computer into object code using a special program or
translator such as a compiler or interpreter.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 40
Testing/Debugging

❑ The step for checking and verifying the correctness of


the program.
❑ The process of making sure a program is free of errors
or ‘bugs’ is called debugging.
❑ Preliminary debugging begins after the program has
been entered into the computer system.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 41
Maintenance

❑ Last step in the Program Development Life Cycle


(PDLC).
❑ Essentially, every program, if it is to last a long time,
requires ongoing maintenance.
❑ A process of updating software for any changes,
corrections, additions, moving to a different computing
platform and others so that it continues to be useful.
❑ A costly process.
❑ Can be very useful especially on extending the life of a
program.

INTRODUCTION C++ PROGRAMMING All Rights Reserved


© Oxford Fajar Sdn. Bhd. (008974-T), 2015 1– 42

You might also like