There are many different ways of describing an
algorithm in the Design phase:
NS Diagrams are useful for encouraging some aspects
of structured programming techniques.
NS Diagrams are noticeable by their ‘building blocks’
form, of which there are 4 main types..
Any algorithm should be able to be constructed using
one or more of the 4 main parts of an algorithm:
Process – a single step
Conditional – dependant upon choice
Iteration – loop until a condition is met
Module - a grouping of the above which can be
referenced multiple times, from multiple places.
A process block is used to represent a single action
An algorithm is composed of steps or primitives.
Or multiple together:
Process (single step)
Get an egg
Get an egg
Crack the egg
Used to represent a condition leading to two possible
actions (also known as a Boolean)
A branching action is represented by two blocks side
by side meaning: perform the action on the left if the
condition is true, or else perform the action on the
right if the condition is false.
A multiple branching block is used when there are
several alternative actions:
A test first loop block is used when a
set of actions are to be repeated under
a particular condition.
The condition is tested first
Repeated action is represented by a
block within a block, meaning repeat
the action under the conditions stated
Because a test first loop is tested
before any actions it is possible that no
actions take place.
A counted loop is also a test first loop
– repeating the actions a set number of
times and are counted before taking
NOTE: the counting starts before the
loop begins. ‘1’ happens before any eggs
are broken in.
A test last loop is used when a process is repeated
under a particular condition.
The condition is tested last
These repeated actions are tested
at the end of the loop.
E.g. making a pancake mix:
The actions in a test last loop are
always carried out at least once
because the test occurs after the
actions have occurred. So a little
milk will always be added and
A sub process block or module is
used in instances where the
process is large enough to
warrant a separate design or
where the process is used several
times in the same diagram.
a. Why are N-S diagrams used when designing
b. What are some other algorithm design tools?
2. What is being tested in test first and test last loops?
3. Express this part of an N-S diagram in words:
Follow the instructions :
Create an N-S diagram for one of the recipes in