There are three standard algorithms, or patterns, for National 5: running total, input validation and traversing an array.
Standard algorithms provide a structured way to handle common programming tasks. Understanding them helps in writing efficient, error-free code and solving real-world problems systematically.
The running total in a loop algorithm (or running total) is used to keep a running total of some numbers, either:
Values entered by the user
A list of values in an array
The algorithm loops several times, takes in a value, and adds it to the total.
A running total usually uses a fixed loop. It could be a running total of integers or real numbers.
total = 0
for counter in range(0, 10):
num = (int(input("Enter number"))
total += num
temps = [18.2, 19.1, 20.1, 19.8, 21.4]
total = 0.0
for counter in range(0, 5):
total += temps[counter]
total = 0
while total < 100:
num = (int(input("Enter number"))
total += num
This is the standard algorithm for making sure a user is entering the correct (or valid) information.
This example asks the user to enter their age, which must be at least 15 to use the rest of the program.
First, it asks the user to enter a valid age. It only triggers the while loop if their age is less than 15. If so, it shows an error message and asks them to re-enter the data.
# Ask the user for their age
age = int(input("Please enter a valid age"))
# This loop only triggers if their age is less than 15
while age < 15:
print("Sorry, you must be 15 or over")
age = int(input("Please enter a valid age"))
valid = False
#get user to input a number and loop until number is between 0 and 120
while valid == False:
age = int(input("What age are you: "))
if age < 0 or age > 120:
print("Age invalid.")
print("Please enter an age between 0 and 120.")
else:
valid = True
print("Input is valid.")
password = "password1234"
while valid == False:
guess = input("Please enter the password: ")
#if input is incorrect, ask to try again
if guess != password:
print("Incorrect. Please try again.")
else:
valid = True
print("Access Granted.")
We can use a loop to traverse the array - that means, to travel through it, or loop through it.
This example sets up a list of seven names. It has a loop that counts 7 times (from 0 to 6). It prints one of the names each time, using the loop counter variable.
This prints the values of names[0], names[1], names[2] etc. all the way to names[6].
# An array of seven names
names = [“Dopey”, “Grumpy”, “Doc”, “Bashful”, “Sneezy”, “Sleepy”, “Happy”]
# The array elements are numbered from 0 to 6
# Loop from 0 to 6 and print the name
for counter in range(0, 7):
print(names[counter])
Alternative (modern method)