6 exam-style questions with full mark schemes and model answers. Write your own answer and the AI examiner marks it against the mark scheme.
Learn this properly: What Is Computational Thinking?A team is designing software to run a cinema booking system. Customers choose a film and showing, pick seats, pay, and receive a digital ticket.
Discuss how the computational thinking techniques of decomposition, abstraction and algorithmic thinking would each be used when designing this cinema booking system. You should make clear what each technique means and give a specific example of how it applies to this system. (6 marks)
A program calculates the average mark of a class. The teacher types in each pupil's mark, the program adds them up, works out the mean, and displays it on screen. The marks are also saved to a file.
For this system, identify the following.
(a) Two inputs. (2 marks)
(b) Two processes. (2 marks)
A games designer notices that several different enemies in a game (a goblin, a troll and a dragon) all share the same behaviour: each one moves towards the player, attacks when close, and loses health when hit.
(a) Name the computational thinking technique the designer is using by spotting that these enemies share the same behaviour. (1 mark)
(b) Explain one benefit to the designer of recognising this shared behaviour when building the game. (2 marks)
A shop needs a program that asks the customer for the price of an item and the quantity they want to buy, then works out and displays the total cost. If the total is over £50, a 10% discount is applied to the total.
Write an algorithm in OCR Exam Reference Language (or any high-level language) to carry out this task. Your algorithm should use input, a calculation, a selection statement and output. (3 marks)
A satnav app shows a simplified map of roads to help a driver get from one place to another. The map leaves out details such as individual buildings, the colour of the roads, and the exact width of each street.
Explain how this is an example of abstraction, and give one reason why abstraction is useful here. (2 marks)
When planning a program, a developer breaks a large problem down into smaller sub-problems that are easier to solve.
State the name of this computational thinking technique. (1 mark)