Copyright © University of Cambridge. All rights reserved.

## 'Procedure Solver' printed from http://nrich.maths.org/

### Why do this problem?

This problem is an introduction to algorithmic thinking. This
branch of mathematical activity is of great use in decision
mathematics and leads students into the important art of computer
programming. It is essentially content free in terms of prior
knowledge, so may be used at any stage of a course of study.

### Possible approach

This problem should be shown to the students with no
explanation. What sense can they make of the layout and the
problem? Gradually the concept that the problem represents an
algorithm will emerge. Students may then begin to test the
algorithm on pairs of numbers to try to determine what the
procedure does. Can they prove that the algorithm does this in
general?

Students might want to think algebraically. They might become
confused by the assigments `X = X - Y' and will need to understand
that X represents a 'place holder' for a value which can change at
each step of the procedure. Whilst such reassignements are common
in computer programming, they might be seen as unusual by sixth
formers.

### Key questions

This question demands clear organised thinking. Questioning
should encourage this.

- What do the arrows and boxes represent?
- What happens, for example, for X = 10; Y = 25?
- What is the meaning of an expression such as 'X = X - Y'?

### Possible extension

- Can you program this procedure into Microsoft Excel?
- Can you create a clear, step-by-step algorithm to find the
solution of a quadratic equation, taking into account that there
might be 0, 1 or 2 distinct solutions?
- Pursue more formal ideas of logical programming using our
LOGO
environment .

### Possible support

If students are unused to the concept of an algorithm, you might
first like to try the problems

Flow
Chart and

Zeller's
Birthday .