Community resourceWorksheet
OCR H446 1.4.2 Arrays, records, lists and tuples
Part 1 of 14 · H446 1.4.2 · Data structures
OCR H446 1.4.2 expects students to choose between arrays, records, lists and tuples rather than reach for whichever structure is most familiar. This worksheet builds that choice from shape, meaning, mutability and the operations a program actually performs, using a creative-events app that holds seat grids, performer details, editable set lists and fixed colour values.
Students will:
- describe arrays, records, lists and tuples in terms of shape, access and whether values may change
- choose a structure for a described requirement and reject one close alternative with reasons
- explain how traversal, update, addition and removal differ across the four structures
- design storage for a changing ordered collection of player records with named fields
- complete closed-book sentences on structure choice without an answer bank
Inside: 8 explanation cells, 4 multiple-choice questions, 1 fill-in-the-blanks cell and 2 written answers. 22 marks, about 40 to 50 minutes.
Series: H446 1.4.2 · Data structures, part 1 of 14.
Shared by Coding PathwayVerified teacher
- 15 cells
- About 45 minutes
- CC BY-SA 4.0
- Shared 31 Aug 2026
- Updated 1 Oct 2026
Preview
The whole resource, exactly as a class sees it. Answers and marking are held back.
Arrays, records, lists and tuples
Programs often need to store several related values. The best structure depends on what the values mean and what the program must do with them. In this worksheet, a creative-events app needs to store seat grids, performer details, editable set lists and fixed colour coordinates.
By the end, you will be able to
- describe arrays, records, lists and tuples;
- choose a structure from its shape, data and required operations;
- distinguish a program record from a database record;
- explain how each structure can be created, traversed and changed.
Compare the structures
An array has a fixed indexed shape in the abstract model. A record groups named fields about one entity and fields may have different types. A list is an ordered collection that can grow or shrink. A tuple is an ordered immutable grouping: create a new tuple rather than changing it in place.
A method for choosing a structure
To store one performer’s name, stage number and access requirements, use a record. The fields describe one entity, have different meanings and may use different data types.
To store a 20 by 30 seat-state grid, use a 2D array. The positions form a fixed rectangular shape and each seat can be found from its row and column indexes.
For a new scenario, ask these questions in order:
- Am I storing one entity or a collection?
- Does the collection have a fixed indexed shape?
- Do the fields have different names or data types?
- Must the size or contents change while the program runs?
- Which access and update operations must be efficient?
Which structure best groups one attendee’s name, ticket number and access flag as named fields?
- ARecord
- B2D array
- CStack
- DTuple of unrelated items
Which statement correctly distinguishes a program record from a database record?
- AThey are always the same stored row
- BA program record groups named fields in a program; a database record is a row stored in a database table
- CA program record can contain only text
- DA database record cannot contain fields
Why might a tuple suit an RGB colour coordinate that should not change?
- AIt always sorts its values
- BIt removes duplicate values
- CIt is an ordered immutable grouping
- DIt can only hold Booleans
Which comparison between a changeable list and a fixed array is most accurate?
- AA list is simply an array with more initial positions
- BA fixed array automatically resizes with no management cost
- CA list cannot be traversed by position
- DA list can resize while the program runs, but capacity or link management can add overhead
Guided practice
For each scenario, annotate: entity/collection; fixed/growing; homogeneous/heterogeneous; indexed/named access; mutation required. Then choose a structure and reject one near alternative.
Choose and justify structures for: (a) attendance totals for each of the 12 months, (b) one venue with name, capacity and open fields, and (c) an editable ordered set list.
Give a structure and one linked property for each choice.
Students type their answer here.
Worked operation qualification
Traverse an array/list/tuple by visiting indexes/items. Update an array element or list item in place. Add/remove from a dynamic list. A tuple is immutable, so produce a new tuple. A fixed-size array cannot grow: insertion may mean shifting within spare capacity or creating another array.
These qualifications matter more than memorising Python method names.
Independent transfer
Design storage for a small game leaderboard containing a changing ordered collection of player records. Each record needs name, score and verified status.
Specify the outer and inner structures, show one example value, and explain how traversal, addition, removal and score update would work.
Keep collection operations separate from record-field access.
Students type their answer here.
Closed-book checkpoint
Complete each sentence from memory. There is no answer bank and correctness is held for teacher review.
Review your work
Check that every structure choice is justified by the data and operations in the scenario.