Sub-Procedures (OCR A Level Computer Science)
Revision Note
Identify Sub-Procedures Necessary to Solve a Problem
Problems can be decomposed using tables and lists, however larger problems can quickly become cumbersome using this approach so diagrams are preferred
What is a Hierarchy chart?
A hierarchy chart is an example of a diagram used to show problem decomposition
Each problem is divided into multiple subproblems, which is turn are divided into further subproblems until they cannot be divided any further
Hierarchy charts show how module and subroutines relate to each other and is depicted as a tree structure
Hierarchy charts can be created on paper or digitally and can also be created programmatically by software
An example of a hierarchy chart is shown below for a sending messages and calls on a mobile phone. Each sub-problem is broken down into smaller sub-problems:
Worked Example
Mabel is a software engineer. She is writing a computer game for a client. In the game the main character has to avoid their enemies. This becomes more difficult as the levels of the game increase.
The computer game allows a user to select a character (e.g. name, gender). They can then choose a level for the game (easy, normal, challenging). The user controls their character by moving it left or right. The character can jump using space bar as an input. If the character touches one of the enemies then it loses a life. The character has to make it to the end of the level without losing all their lives.
The game is designed in a modular way.
One sub-procedure will handle the user input.
Describe three other sub-procedures Mabel could create for the given game description.
6 marks
Answer:
Mabel could create a sub-procedure to select a character, including name and gender, etc [1], which gives the user options when choosing a character [1]
Mabel could create a sub-procedure to choose a level [1] which gives the user a choice of difficulty (easy, medium, challenging) by taking the user input [1]
Mabel could create a sub-procedure to allow the character to lose lives [1]. If the character has less than 0 lives left then the game ends [1]
Examiner Tips and Tricks
Basic input procedures such as moving left and right are not credit worthy but showing the output of a left/right move would be
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?