# That Blue Square Thing

## AQA Computer Science GCSE

September 2020: This page is the for the 2022 exam version of the AQA Computer Science GCSE course. This is for Year 10 teaching in September 2020.
These pages were copied over from the old syllabus and will get updated as I work through the new one. That means they won't always be totally up to date and I might miss something - check the updated date at the bottom of the page.

### Programming Concepts - Repetition

#### Definite Repetition - FOR loops

Definitive repetition repeats a block of code a set number of times. You know in advance how many times the block will be repeated - either based on a value or a variable.

Use this when you know in advance how many times you want to loop, including when you want to loop through every value in a string or array.

In programming this is implemented using a FOR loop.

The pseudocode options for this are shown below:

FOR i <- 1 TO 3
OUTPUT i
ENDFOR

# outputs 1, then 2, then 3

Using a variable is similar.

FOR i <- 1 TO diceThrow
# works from 1 to the value of the variable
ENDFOR

FOR i <- 0 TO LEN(anArray) – 1
# works from 0 to the length of the array minus 1
ENDFOR

Note that in pseudocode a FOR loop starts at the first value and works all the way to the end value.

This works slightly differently Python.

for i in range(1, 4):
print(i)
# prints 1, 2, 3

Note that Python starts at the first value and works as far as the end value, but doesn't include the end value. This is awkward and annoying, but just one of those things you need to deal with.

This is slightly easier to use when iterating over a string or array:

theWord = "banana"
for i in range(0, len(theWord)):
print(theWord[i])
# prints b, a, n, a, n, a

This works because arrays and strings are indexed from 0. So, the loop starts at 0 and goes as far as the length of theWord (6) minus 1. This takes it as far as theWord[5] - which is the final a of banana.

Note that I've used i as my loop variable each time. This is something programmers often do - i probably stands for index. It's a really common thing to do. You don't have to do it, but any programmer looking at your code will automatically know what i means.
If you need two different loop variables for FOR loops then using i and j is standard.