Order of Steps in Problem Solving (OCR A Level Computer Science)
Revision Note
Written by: James Woodhouse
Reviewed by: Lucy Kirkham
Determining the Order of Steps
In order to begin creating subroutines to solve a problem, the overall order of steps to carry out must be identified. This is done using decomposition
What is Decomposition?
Decomposition is the act of taking a problem and breaking it down into smaller, more understandable and more easily solved sub-problems
Top-down design is one method of decomposing a problem
Top-down design
Top-down design involves breaking down a problem into major tasks and breaking down these major tasks into smaller sub-tasks. Each sub-task is broken down until each can be solved using a single subroutine or module. Furthermore, each sub-task should be unable to broken down further, be easily solved and be clear
The goal of top-down design is to structure a program into small manageable tasks. Sometimes these tasks may be delegated to other developers and may need to be coordinated on as a team. It is therefore important that everyone understands the problem and how to solve it
The advantages of decomposing a problem into sub-problems is that each subroutine is much simpler to test and maintain, especially using unit testing. As each subroutine is self-contained and well documented it is easier to find errors in code and fixing problems as they arise. It is also convenient to reuse subroutines as necessary rather than rewriting code
Calculating the student grades for a teachers classes should be done in the following order:
Step 1 - Calculate the grade for each assessment
For each question, mark the question and store the value
Sum the value of each marked question
Step 2 - For each student calculate the average grade across all of their assessments
Add up the grade for each assessment
Divide by the number of assessments
Store the result
Step 3 - Repeat steps 1-2 for each class
Last updated:
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?