Skip to main content
### Number and algebra

### Geometry and measure

### Probability and statistics

### Working mathematically

### For younger learners

### Advanced mathematics

# Procedure Solver

### 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

### Key questions

### Possible extension

### 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 .

Or search by topic

Age 16 to 18

Challenge Level

- Problem
- Getting Started
- Student Solutions
- Teachers' Resources

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.

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'?

- 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 .