Algorithm, Pseudocode and Flowchart
Kamnoetvidya Science Academy
A Model For Creating Computer Software
• Specify the problem
• Develop a design (algorithm)
• Implement the design
• Maintain the design
What Is An Algorithm?
• The steps needed to solve a problem
• Characteristics
• Specific
• Unambiguous
• Language independent
Developing An Algorithm: Top-Down
Approach
Top General approach Abstract
Approach Approach Approach
to part of to part of to part of
problem problem problem
Specific Specific Specific Specific
steps steps steps steps
Bottom Particular
The algorithm
Figure extracted from Computer Science
Illuminated by Dale N. and Lewis J.
Techniques For Laying Out An Algorithm
• Pseudo-code
• Flowcharts
Pseudo-Code
• Employs 'programming-like' statements to depict the algorithm
• No standard format (language independent)
Pseudo-Code Statements
• Output
• Input
• Process
• Decision
• Repetition
Statements are carried out in order
Example: calling up a friend
1) Look up telephone number
2) Enter telephone number
3) Wait for someone to answer
: :
Variables
• Are symbols used to store values
• The value stored can change during the algorithm
Pseudo-Code: Output
• Used to display information
• General format:
• Line of text: Output 'Message'
• Variable: Output Name of variable
• Example
• Output 'Available credit limit: ' limit
Pseudo-Code: Input
• Used to get information
• Information is stored in a variable
• General format:
• Input: Name of variable
• Example:
• Input user_name
Pseudo-Code: Process
• For computer programs it's usually an assignment statement (sets a
variable to some value)
• General form:
• variable arithmetic expression
• Example:
• x2
• xx+1
• ab*c
Pseudo-Code: Decision Making
• If-then
• General form:
• if (condition is met) then
• statement(s)
• Example:
• if temperature < 0 then
• wear a jacket
• If-then-else
• General form:
• if (condition is met) then
• statement(s)
• else
• statements(s)
Pseudo-Code: Decision Making (2)
•
• Example:
• if (at work) then
• Dress formally
• else
• Dress casually
Pseudo-Code: Repetition
• repeat-until
• while-do
Pseudo-Code: Repetition (2)
• repeat-until
•
• Repeat at least once (check condition after statement(s))
•
• General form:
• repeat
• statement(s)
• until (condition is met)
• Example:
• repeat
• Go up to buffet table
• until full
•
Pseudo-Code: Repetition (3)
• while-do
•
• Repeat zero or more times (check condition before statement(s))
•
• General form:
• while (condition is met)
• statement(s)
• Example:
• while students ask questions
• Answer questions
•
•
Pseudo-Code: Fast Food Example
• Use pseudo-code to specify the algorithm for a person who ordering
food at a fast food restaurant. At the food counter, the person can either
order not order the following items: a burger, fries and a drink. After
placing her order the person then goes to the cashier.
Pseudo-Code: ATM Example
• Use pseudo-code to specify the algorithm for an ATM bank machine.
The bank machine has four options: 1) Show current balance 2) Deposit
money 3) Withdraw money 4) Quit. After an option has been selected,
the ATM will continue displaying the four options to the person until he
selects the option to quit the ATM.
Summary Of Pseudo-Code Statements
• Statement Purpose
• Output Display information
• Input Get information
• Process Perform an atomic (non-divisible) activity
• Decision Choose between different alternatives
• Repetition Perform a step multiple times
Basic Flowcharts Element
Terminator Process
Input Output
Off page
Connecto
r
Decision c
Arrow Variables
Flowchart: Fast Food Example
• Draw a flowchart to outline the algorithm for a person who ordering
food at a fast food restaurant. At the food counter, the person can either
order not order the following items: a burger, fries and a drink. After
placing her order the person then goes to the cashier.
Flowchart: ATM Example
• Draw a flowchart to outline the algorithm for an ATM bank machine.
The bank machine has four options: 1) Show current balance 2) Deposit
money 3) Withdraw money 4) Quit. After an option has been selected,
the ATM will continue displaying the four options to the person until he
selects the option to quit the ATM.
Summary
• Laying out an algorithm using flowcharts and pseudo-code
• Learning basic elements of algorithms:
• Input
• Output
• Decision-Making
• Repetition
• Processes