Arrays are a large feature of the Computer Science GCSE. This is mainly because after the basic data types, they are the fundamental building blocks of any programming language.
In their most basic form they are variables that can hold more than one value. You’ll probably see lots of long and complicated words used when people talk about arrays, but hopefully I can dispel a few myths here.
If you’ve ever written a shopping list, then you’ve written an array and they don’t get much more difficult.
When we start our shopping list, we start with a blank list. Each item on the list is written as a word, so we know in Computer Science terms that this is an array of strings. In pseudocode, this might look like:
myShopping = [ ]
Notice how I’ve used square brackets to tell the computer that this variable is going to hold more than one piece of data. Square brackets is the same across almost every programming language.
Now if I wanted to add an item to my shopping list, I would want to add it to the end. In Computer Science, we call this appending (if it was just writing, then we would be writing over the top of data that is already there). In pseudocode, this looks like:
If I had a list of fruit I would write each item on a new line. In code, instead of a new line, we separate each item with a comma. So after adding my apple, a banana, and a strawberry to my list it would look like this:
But what if I want to tell someone what the 2nd item on my list is without showing the others?
Well this is where lists really make a big difference to your programs. If you want to find out where something is in a book, you look at the index and you’ll find a page number that you can go to. In an array, an index is a number that tells you where to go in the array to find the item of data that you are looking for. So to tell someone what the 2nd item in the array is we use:
Now, hang on just a minute! Was that a typo??? Actually no. Unlike us who count from 1, computers start at 0 which means that the 1st item is item 0, the 2nd is item 1… and so on. For those of you looking for higher grades, it’s worth knowing some technical maths terms at this point:
Ordinal Number: 1st 2nd 3rd…
Cardinal Number: 0, 1, 2, 3…
Let’s put this into practice with a short Python program. Imagine that we wanted to create a shopping list that our program could remember. Remembering that we refer to a one-dimensional array as a list, we could create a static array where we program our whole list in the program code, or we could create a dynamic array that grows with our shopping list.
Try extending the program code below so that our user can add more than one item to the list using iteration. (looping)