You are on page 1of 0

AlgorithmandFlowcharting

LessonObjectives
Attheendofthelecturethestudentsshouldbe
ableto:
Definetermsinprogrammingsuchas:system,SDLC,
flowcharting,algorithm,compile,syntaxerrors,etc.
Knowthestepsinprogramming.
Knowthedifferentsymbolsforflowchartingandhow
tousethem.
Whatissystem?
Isanorganizedsetofrelatedcomponents
establishedtoaccomplishacertaintask.
Note:Therearenaturalsystemssuchasthe
bodyscardiovascularsystembutmanysystems
havebeenplannedanddeliberatelyputintoplace
bypeople.
Whatissystem?
Forexample:afastfoodfranchisehasasystemof
servingacustomerincludingtakinganorder,
assemblingthefoodandcollectingtheamount
due.
Phases of SDLC
System Development Life Cycle
Preliminary Investigation: Determining the
problem
Analysis: Understanding the existing system
Design: Planning the new system
Development: Doing the work to bring the new
system into being
Implementation: Converting the new system
SDLC
Analysis
-gather data
-analyze data
-develop requirements
Implementation
-training
-conversion
-evaluation
-maintenance
Preliminary Investigation
-problem definition
Design
-preliminary design
-detail design
Development
-scheduling
-programming
-testing
ComputerProgram
Isasetofdetailed,stepbystepinstructionsthatdirects
thecomputerwhatyouwantittodo.Itisanotationfor
expressinginstructionstobecarriedoutbyacomputer.
Programsarewritteninaprogramminglanguage,which
isasetofrulesthatprovidesawayoftellingthe
computerwhatoperationstoperform.
Thepersonwhocreatescomputerprogramiscalled
computerprogrammer.
Ac t i vi t i es I nvol ve i n
Pr ogr ammi ng
Understand the problem.
Plan the logic.
Code the program.
Compile the program into machine
language.
Test the program.
Put the program into production.
Ac t i vi t i es i nvol ve i n
Pr ogr ammi ng
Understanding the Problem
Before writing the program the programmer must first
understand the problem.
Satisfy the users need
One of the most difficult task since description of what
is needed may be vague, or worse yet, the user may
not even know what he/she wants.
A good programmer is part counselor, and part
detective.
Ac t i vi t i es I nvol ve i n
Pr ogr ammi ng
Plan the Logic
The process of planning for the solution of the
problem.
They are referred to as ALGORITHMS
Two most common tools are FLOWCHARTS and
PSEUDOCODE.
Involves writing down steps (in English).
The programmer doesnt worry about syntax at this
point, just the sequence of events that will lead from
available input to the desired output.
Ac t i vi t i es I nvol ve i n
Pr ogr ammi ng
Code the Program
There are over 400 programming languages that
exist.
Most programming languages have translators
also known as compiler and interpreters.
Pascal, C, C++, Visual Basic, Cobol, etc.
The part in which the programmer worry about the
correct syntax; command, punctuation, spelling, etc.
The actual construction of the source code.
Ac t i vi t i es i nvol ve i n
Pr ogr ammi ng
Compile the program into Machine Language
Machine language - the only language a machine
knows.
Its consists of 0s and 1s.
Compiler is a special program that translates high-level
language instructions into machine language.
Compiler catches all syntax errors.
Ac t i vi t i es i nvol ve i n
Pr ogr ammi ng
Test the Program
To execute and then run the program. The program upon
execution is being subjected to different kinds of test data
to anticipate and correct errors that might occur before
releasing the program to the users.
Errors can be classified into two: (1) syntactical or logical
errors (2) compile or run-time errors.
Ac t i vi t i es i nvol ve i n
Pr ogr ammi ng
Put the Program into Production
The organization can now use the program.
Training personnel to use the program.
Running the program using the actual data.
Test for users approval.
Al gor i t hm
A sequence of well-understood steps that one takes to
do something.
A set of instructions for a person to follow in order to
accomplish a certain task.
A sequence of instructions that tell how to solve a
particular problem.
It is a finite set of instructions that specify a sequence of
operations to be carried out in order to solve a specific
problem or class of problems.
Examples:
directions for going to a certain place
baking a chocolate cake
computing income tax
searching for a name in a telephone directory
Ex ampl e:
Pr epar e a Cup of Cof f ee
Step 1: Fill kettle with water.
Step 2: Turn on stove.
Step 3: Put kettle on stove.
Step 4: If water is boiling proceed to step#5 otherwise wait.
Step 5: Turn off stove
Step 6: Fill mug with boiled water
Step 7: Put 1 tsp. of coffee in mug.
Step 8: With sugar, put 2 tsp. of sugar in mug, otherwise proceed
to step#9.
Step 9: With milk, pour 1 tbsp. of milk in mug, otherwise proceed to
step#10.
Step 10: Stir contents of mug
Char ac t er i st i c s of an Al gor i t hm
Specify each step or instruction exactly.
There must be no ambiguity.
The instructions must be clear.
There must be a finite number of steps.
The algorithm must terminate.
There must be a stopping point.
There must be an output.
The algorithm must produce the correct result.
Fl ow c har t i ng
What is Flowcharting?
A graphical representation of the logical steps that solves a
problem.
Programmers use flowcharts to understand the logic
processing of data.
To visualize how statements in a program are interrelated.
Although time consuming, its the best tool for beginners.
Use of symbol and phrases to designate the logic of how a
problem solved.
A common method for defining the logical steps of flow within a
program by using a series of symbols to identify the basic
input, process and output (IPOs) function within a program.
A diagram representing the logical sequence in which a
combination of steps or operation is to be performed. It is a
blueprint of the program.
Fl ow c har t i ng
Types of Flowcharts
Program Flowcharts
Depicts the detailed logical flow of process in a program.
System Flowcharts
Shows the logic flow of data from one source to another.
Divided into functions of departments or personnel.
Symbols are used to represent documents used and
operations undertaken.
Highlights excessive information flow, duplication of
information stored in different locations and reasons for
delay of transactions.
BasicFlowchartingSymbols
Terminal block
Input/Output block
Process symbol
Decision symbol
On-page Connector
Off-page Connector
Initialization symbol
Flow lines
Fl ow c har t i ng
BasicFlowchartingSymbols

Terminal
Terminal
usedtosignifythebeginningand
endofflowchart
Fl ow c har t i ng
OVAL
OVAL
START
START
BasicFlowchartingSymbols
Preparation/Initialization
signifiesthepreparationofdata
Usedtoselectinitialconditions
Usedtorepresentinstructionsor
groupofinstructionsthatwillalter
ormodifyaprogramscourseof
execution
Fl ow c har t i ng
Hexagon
Hexagon
SUM=0
SUM=0
PRODUCT=0
PRODUCT=0
BasicFlowchartingSymbols
Input/Output
showsinputandoutput.Data
aretobereadintothe
computermemoryfroman
inputdeviceordataaretobe
passedfromthememorytoan
outputdevice.
Fl ow c har t i ng
Parallelogram
Parallelogram
Read A
Read A
Print A
Print A
BasicFlowchartingSymbols
Process/Processing
performsanycalculationshat
aretobedone.
Fl ow c har t i ng
Rectangle
Rectangle
Sum = A+B
Sum = A+B
BasicFlowchartingSymbols
Decision
signifiesanydecisionsthataretobe
done.Twoalternativeexecution
pathsarepossible.Thepathtobe
followedisselectedduringthe
executionbytestingwhetherornot
theconditionspecifiedwithinthe
outlineisfulfilled.
Fl ow c har t i ng
Diamond
Diamond
If x>5
If x>5
T F
BasicFlowchartingSymbols
OnpageConnector
showtheentryorexitpointofthe
flowchart.Anonprocessingsymbol
usedtoconnectonepartofa
flowcharttoanotherwithout
drawingflowlines.Conservesspace
bykeepingrelatedblocksnearone
another,reducesthenumberof
flowlinesincomplexprogramand
eliminatescrosslinesfromtaking
place.
Fl ow c har t i ng
A
A
Small Circle Small Circle
BasicFlowchartingSymbols
OffpageConnector
designatesentryortoexitfrom
onepagewhenaflowchart
requiresmorethanonepage.
Fl ow c har t i ng
Pentagon Pentagon
B
B
BasicFlowchartingSymbols
Flowlines
signifiestheprocessthatisto
beexecutednext
Fl ow c har t i ng
Basic Flowcharting
Almost every program involves the steps of input,
processing and output.
Example:
Get number
Answer = number *2
Print Answer
Most flowcharts need some way to separate each step.
Drawing different boxes around each statement is the
standard convention.
Input operation are represented in a parallelogram. A
statement in English is written inside the parallelogram.
Fl ow c har t i ng
Answer = number * 2
Get
number
Arithmetic statements are
examples of processing
statements, are placed inside
the process box.
Output statements use the
same symbol as that of input
statements - parallelogram.
To show the correct sequence
of events arrow, flow lines and
the terminal symbol (for begin
and end) are used.
begin
Fl ow c har t i ng
begin
Get number
Answer= number * 2
Print Answer
end
The next step the programmer
shall do is to find the necessary
language in which to code the
flowchart.
What are Variables?
Memory allocations, the content of which may vary/change.
The capability of memory variables to change its content
makes the computers and programming worthwhile.
Because one memory location can be used over and over
again with different values, program instructions can be
written once and then used for thousands of problems.
Giving names (for identification) may vary from one
programming language to another; some may allow
hyphens; others allows underscores; some languages allow
dollar signs, others dont. There are languages that limits the
length of names to a variable.
Fl ow c har t i ng
Rules in naming variables...
Must be one word.
May contain letters, numbers, hyphens,
underscores.
Must not start with a number.
Must not contain a space.
Must have some meaning.
Invalid Variable names
interest rate - should be one word
rate! - contains ! an invalid character
xyxxx - although this is allowed, it doesnt mean
or imply anything that it may hold.
#total - should not start with a special character.
Fl ow c har t i ng
Types of Variables
Numeric Variables
The type of variable that can hold a number.
In this example: Answer = number * 2
Some languages allow additional types of data; Pascal and C
distinguish between integer or whole number numeric variables and
floating point, decimal and fractional numeric variables.
Character, Text or String Variables
Variables that can hold letters of the alphabet and other special
character such as punctuation marks.
Example:
NAME = WASHINGTON
Logical or Boolean Variables
A special type of variable that can only have two values - TRUE or
FALSE.
Fl ow c har t i ng
Arithmetic Operators and Mathematical Statements
Addition (+)
Subtraction (-)
Multiplication (*)
Division (/)
Modulus (%)
A mathematical statement is composed of a left variable, an
assignment operator (usually in the form of an equal sign) a
series of operands(may be a set of the same variables or a new
set of variables, and /or constants) and (arithmetic) operators.
Example:
x = x + 1
sum = a + b
Fl ow c har t i ng
Constants
A constant is a value that never changes during the
execution of the program.
Constants can be any type-numeric, alphabetic or
special symbols.
Like variable, constants can be named. The computer
sets up a specific memory location to hold the value of
the constant.
During the execution of the program, the constant is
referred to by name. Once the constant is given a
value, it cannot be changed during the execution of
the program.
Fl ow c har t i ng
Relational Operator
A relational operator compares two values and
determines the relationship between them.
Operator Use Returns true if
> op1 > op2 op1 is greater than op2
>= op1 >= op2 op1 is greater than or equal to op2
< op1 < op2 op1 is less than op2
<= op1 <= op2 op1 is less than or equal to op2
== op1 == op2 op1 and op2 are equal
!= / not= op1 != op2 op1 and op2 are not equal
op1 not= op2
Fl ow c har t i ng
Logical Operators
Use logical operators (also called Boolean operators) to
express relationships between search expressions.
Operator Use Returns true if
and cond1 and cond2 both condition should be true
or cond1 or cond2 either one of the condition is true
not (negation) not cond
! cond
Fl ow c har t i ng
ADVANTAGES OF USI NG
FLOWCHARTS
1. Communication: Flowcharts are better way of communicating the logic
of a system to all concerned.
2. Effective analysis: With the help of flowchart, problem can be analyzed
in more effective way.
3. Proper documentation: Program flowcharts serve as a good program
documentation, which is needed for various purposes.
4. Efficient Coding: The flowcharts act as a guide or blueprint during the
systems analysis and program development phase.
5. Proper Debugging: The flowchart helps in debugging process.
6. Efficient Program Maintenance: The maintenance of operating program
becomes easy with the help of flowchart. It helps the programmer to put
efforts more efficiently on that part
LI MI TATI ONS OF USI NG
FLOWCHARTS
1. Complex logic: Sometimes, the program logic is quite
complicated. In that case, flowchart becomes complex and
clumsy.
2. Alterations and Modifications: If alterations are required
the flowchart may require re-drawing completely.
3. Reproduction: As the flowchart symbols cannot be typed,
reproduction of flowchart becomes a problem.
4. The essentials of what is done can easily be lost in the
technical details of how it is done.
Simple Sequence
Logic involves executing instructions one
statement after another-in the order presented by
the program.
This is the simplest and most-used pattern.
The computer assumes that all instructions are
to be executed in this order unless the program
presents other instructions.
Logi c St r uc t ur es
A simple sequence pattern
The process is done one
step at a time
Logi c St r uc t ur es
Selection Structure
Requires that the computer make a choice among
two or more items.
Each choice is based on one of three comparisons a
computer can make: equal to, less than or greater
than.
Logi c St r uc t ur es
Selection pattern
A decision is
made or
choosing
between a set of
options
Logi c St r uc t ur es
Iteration Structure
causes an interruption in the normal sequence of
processing and directs that computer to loop back to
a previous statement in the program, repeating the
same sequence over again, usually with new data.
By looping the programmer avoids having to repeat
the same set of instructions over and over.
Logi c St r uc t ur es
Iteration pattern
A set of repeated
statements are
executed until the
desired output is
acquired.
Logi c St r uc t ur es
Linking pattern
An on-page
connector is used to
redirect the flow of
the chart.
Logi c St r uc t ur es
Iteration structure
example...
Example 1
Draw a flowchart to find the
sum of first 50 natural
numbers.
Logi c St r uc t ur es
Example 2
Draw a flowchart
to find the
largest of three
numbers A,B,
and C.
Selection structure
example...
Logi c St r uc t ur es
The CASE structure
Drawaflowchartthatwillacceptanddisplayanumber.Writei Drawaflowchartthatwillacceptanddisplayanumber.Writeitsequivalent tsequivalent
algorithms. algorithms.
Algorithm:
Step1:ReadinthevalueofN.
Step2:PrintthevalueofN.
START
READ N
PRI NT N
END
FlowchartSamples
Drawaflowchartthatwillcomputeanddisplaythesumandprodu Drawaflowchartthatwillcomputeanddisplaythesumandproductoftwo ctoftwo
numbers.Writeitsequivalentalgorithm. numbers.Writeitsequivalentalgorithm.
Algorithm:
Step1:InitializeSumandProductinto0.
Step2:ReadinthevaluesofAandB.
Step3:ComputethesumbyaddingAand
Bthencomputetheproductby
multiplyingAandB.
Step4:PrintthecomputedvalueofSum
andProduct.
START
Read A,B
Print Sum,
Product
END
Sum = 0
Product = 0
Sum = A + B
Product = A * B
ConstructaflowchartthatwillconvertaninputtednumberinFa ConstructaflowchartthatwillconvertaninputtednumberinFahrenheittoitsequivalent hrenheittoitsequivalent
measureinCelsius. measureinCelsius.
Formula:C=(5/9)*(F Formula:C=(5/9)*(F 32) 32)
Algorithm:
Step1:InitializeCelsiusinto0.
Step2:ReadinthevalueofFahrenheit.
Step3:ComputethevalueofCelsius.
Step4:Printthecomputedvalueof
Celsius.
START
Read Fah
Print
Celsius
END
Celsius=0
Celsius=(5/ 9)*
(Fah-32)
DrawaflowchartthatwillinputvaluesforAandB.Comparetw DrawaflowchartthatwillinputvaluesforAandB.Comparetwovaluesinputtedandprint ovaluesinputtedandprint
whichofthevaluesishigherincludingtheremark whichofthevaluesishigherincludingtheremark Higher Higher .Writeitsequivalentalgorithm. .Writeitsequivalentalgorithm.
Algorithm:
Step1:ReadthevaluesofAandB.
Step2:TestifAisgreaterthanB.
Step3:IfAisgreaterthanB,Aishigher.However,
ifAislessthanB,Bishigher.
Step4:PrintthenumberandtheremarkHigher
START
Input A,B
Print A,
Higher
END
A > B
Print B,
Higher
T
F
Drawaflowchartthatwillinputgradeofstudentanddetermine Drawaflowchartthatwillinputgradeofstudentanddeterminewhetherthegradeispassedor whetherthegradeispassedor
failed.Printthename,gradeandremarksofstudent.Writeit failed.Printthename,gradeandremarksofstudent.Writeitsequivalentalgorithm. sequivalentalgorithm.
Algorithm:
Step1:Initializenameandremarksintoblanks.
Step2:ReadinvaluesforGradeandName.
Step3:TestifGradeisgreaterthanorequalto60.
Step4:IfGradeisgreaterthanorequalto60,remarkis
Passed.However,ifGradeisbelow60,remarkisFailed.
Step5:Printthename,gradeandremarks.
START
Read Name,
Grade
END
If Grade
>60
Print Name,
Grade, Remarks
Name=
Remarks =
Remarks =
Failed
Remarks =
Passed
SEATWORK
SEATWORK

DEIManufacturingCompanyplanstogiveayear
DEIManufacturingCompanyplanstogiveayear

endbonus
endbonus
toeachofitsemployee.Drawaflowchartwhichwill
toeachofitsemployee.Drawaflowchartwhichwill
computethebonusofanemployee.Considerthefollowing
computethebonusofanemployee.Considerthefollowing
conditions:Iftheemployee
conditions:Iftheemployee

smonthlysalaryislessthan2,000
smonthlysalaryislessthan2,000
pesos,thebonusis50%ofthesalary;foremployeeswith
pesos,thebonusis50%ofthesalary;foremployeeswith
salariesgreaterthan2,000pesos,thebonusis1,500pesos.
salariesgreaterthan2,000pesos,thebonusis1,500pesos.
Printthenameandthecorrespondingbonusforeach
Printthenameandthecorrespondingbonusforeach
employee.Writeeachequivalentalgorithms.
employee.Writeeachequivalentalgorithms.
Pseudoc ode
uses everyday language to prepare a brief set of instructions
in the order in which they will appear in the finished program.
It is an abbreviated version of actual computer code (that's
why it is called pseudocode).
Pseudocode looks more like a real program than the flowchart
does. It allows the programmer to focus on the steps required
to solve a program rather than on how to use the computer
language.
An advantage of pseudocode is that it can be used to
describe a program to a nontechnical user and can still
provide guidelines for the writing of program code.
Pseudoc ode
A textual presentation of a flowchart
Close to a natural language
The control structures impose the logic
May become a part of the program documentation
Could be translated into a program

You might also like