Representing Algorithms

Represent algorithms using flow charts

Input-Process-Output

All programs can be broken down into combinations of:

  • Inputs
  • Processes 
  • Outputs

Flowcharts

  • An algorithm can be represented by a flowchart.
  • This is a graphical representation that:
    • uses symbols to show each step,
    • with arrows showing how to move between each step.

Flowcharts

Line An arrow represents control passing between the connected shapes
Process This shape represents something being performed or done
Sub-routine This shape represents a subroutine call that will relate to a separate, non-linked flowchart
Input/output This shape represents the input or output of something into or out of the flowchart
Decision This shape represents a decision (Yes/No or True/False) that results in two lines representing the different possible outcomes
Terminal This shape represents the 'Start' and 'End' of the process

Flowcharts

  • All flow charts begin and end with the terminal shape, indicating the start and end of the flow chart.

Flowcharts

  • Inputs and outputs are represented by a parallelogram

Flowcharts

  • Decision boxes must have two possible outputs:
    • True/False
    • Yes/No

Flowcharts

  • All other processes are represented by a rectangle

Flowcharts

  • Where algorithms are decomposed into separate sub-routines, a rectangle with two extra vertical lines is used.

Flowcharts

Questions

  1. Define the following terms
    1. Decomposition
    2. Abstraction
  1. A programmer is creating software to send and receive encrypted messages via email. Describe how decomposition can be used to allow this problem to be solved.
  1. A chess club develops a system to store details about games played. For each game, the winner's and loser's names are stored alongside the date that the game was played. Explain how abstraction has been used in the development of this system.

Answers

  1. Define the following terms
    1. Decomposition
    2. Abstraction
  • Decomposition is breaking a problem down into smaller sub-problems.
  • Once each sub-problem is small and simple enough, it can be tackled individually.
  • Abstraction is removing or hiding unnecessary details from a problem, so that the important details can be focused on.

1b Representing Algorithms II

By David James

1b Representing Algorithms II

Computer Science - Fundamentals of Algorithms - Representing Algorithms

  • 409