In simple terms
A friendly intro before the formal notes — no formulas yet.
Digital Pigeonholes
An array is a data structure that stores a collection of items, all of the same type, in a single, named block of memory. You can access any item directly by using its numerical position, called an index.
Imagine a row of numbered mail pigeonholes in a post office sorting room. Each pigeonhole is for a specific address (the index) and can hold one parcel (the data). If you need the parcel for address number 15, you don't check every box; you go straight to pigeonhole 15. Arrays allow a program to do the same thing: store and retrieve data from a specific location in a collection instantly.
- 1
Define the array's structure: its name, size (lower and upper bounds), and the data type it will hold, e.g., DECLARE Scores : ARRAY[1:50] OF INTEGER.
- 2
Populate the array with data. This is often done using a loop to read values from a user or a file into each position.
- 3
Access a specific element using its index. For example, Scores[3] refers to the third element in the Scores array.
- 4
Process the entire array by using a FOR loop to iterate from the lower bound to the upper bound, performing an operation on each element in turn.
Explore the concept
Use the live diagram and synced steps — play it or tap a step card to walk through.
Full topic notes
Formal explanation with the rigour you need for the exam.
The Structure of a One-Dimensional Array
A one-dimensional (1D) array is a composite data structure that stores a fixed-size, sequential collection of elements of the same data type. Think of it as a numbered list. All elements are stored under a single variable name, and individual elements are accessed by their position in the list, known as an index or subscript.
Homogeneous Data: All elements in an array must be of the same data type (e.g., all INTEGER, all STRING).
Single Identifier: The entire collection of data is referred to by one name.
Indexed Access: Elements are accessed using an integer index, typically enclosed in square brackets, e.g., MyArray[3].
Static Size: In the context of the 9618 syllabus, arrays have a fixed size that is defined when they are declared and cannot change while the program is running.
Declaring and Initialising Arrays in Pseudocode
Before you can use an array, you must declare it. This tells the computer the array's name, its size (by specifying the lower and upper index bounds), and what type of data it will hold. The Cambridge exam board has a specific format for this.
DECLARE <identifier> : ARRAY[<lower>:<upper>] OF <data_type>
For example, to declare an array to hold the names of 10 players, you would write: DECLARE PlayerNames : ARRAY[1:10] OF STRING. This creates 10 slots, indexed 1 through 10, each capable of holding a string. After declaration, arrays often need to be populated with initial values. This is typically done using a FOR loop to iterate through each index and assign a value.
Processing Arrays with Loops
The true utility of arrays is realised when they are processed using loops. A FOR loop is perfectly suited for array traversal because the number of elements is fixed and known. You can loop from the lower bound to the upper bound, using the loop counter variable as the index to access each element in sequence. This allows for efficient operations like calculating totals, finding averages, or searching for a specific value.
Worked examples
See the formulas applied — reveal one step at a time, like the exam.
A programmer is creating a game and needs to store the high scores of the top 5 players. The scores are whole numbers. Declare a suitable array to store these scores.
- 1
// 1 mark for correct identifier, ARRAY keyword, and data type. // 1 mark for correct bounds [1:5].
An array, TestScores, has been declared as ARRAY[1:30] OF INTEGER and is filled with student scores. Write pseudocode to find and output the highest score in the array.
- 1
// Declare a variable to hold the highest score found so far DECLARE HighestScore : INTEGER
How it all connects
The big idea sits in the middle — tap a linked idea to explore the link.
Tap a linked idea to see how it connects back to the main topic — that connection is what examiners reward.
Glossary
Try to recall each definition before you reveal it.
Quick check
Answer in your head first — then tap to check. No pressure.
Revision flashcards
Flip the card. Test yourself before the exam.
What is an array?
A static, finite, ordered set of elements of the same data type, stored in contiguous memory locations under a single identifier.
Key takeaways
Review these before you close the topic — retrieval beats re-reading.
- ✓
Homogeneous Data: All elements in an array must be of the same data type (e.g., all INTEGER, all STRING).
- ✓
Single Identifier: The entire collection of data is referred to by one name.
- ✓
Indexed Access: Elements are accessed using an integer index, typically enclosed in square brackets, e.g., MyArray[3].
- ✓
Static Size: In the context of the 9618 syllabus, arrays have a fixed size that is defined when they are declared and cannot change while the program is running.
Practice — then mark it
The whole point: a real Cambridge question, marked mark-by-mark.
Practice Array Problems
Practice Array Problems
Extra simulations & links
PhET, GeoGebra and other curated tools — open in a new tab.
Frequently asked
Checkpoint
One marked question is worth ten re-reads — close the loop before you move on.
Reading it isn’t knowing it — prove it.
Before you move on: do Practice Array Problems on paper, snap a photo, and get examiner-style feedback on exactly where you win and lose marks.