An inventory system coordinates a sliding storage grid of numbered boxes. The Python program shown below uses the subroutines described in the Subroutines table.
| Subroutine | Purpose |
|---|---|
getItem(row, column) | Returns the number of the item in position (row, column). If the space is empty, it returns 0. |
slide(row, column) | Slides the item at position (row, column) into an adjacent empty space (value 0), if one exists. |
showGrid() | Displays the grid showing the current position of each item. |
if getItem(0, 2) == 0:
slide(1, 2)
if getItem(1, 2) == 0:
slide(1, 1)
showGrid()
The program runs on the initial board state shown in the grid below.
| Column 0 | Column 1 | Column 2 | |
|---|---|---|---|
| Row 0 | 5 | 9 | |
| Row 1 | 3 | 1 | 4 |
| Row 2 | 8 | 2 | 7 |
(Note: The blank cell at Row 0, Column 2 represents an empty space.)
Complete the grid below to show the positions of the numbered items after the Python program is run.
Practise AQA GCSE Computer Science Programming concepts with exam-style questions for GCSE Computer Science. 100 questions, matched to the AQA GCSE Computer Science (8525) specification and written in Paper 1 and Paper 2 style. Every question includes a full worked solution and mark scheme, so you can see where marks are awarded rather than just whether you got the answer right.