As you move through your lessons on programming you will find that you use more subroutines (procedures & functions) to save yourself time. As programmers it means we write fewer lines of code, which is brilliant but it also saves the computer time and effort too.

programming functions

The great thing about a subroutine is that the computer doesn’t have to assign any memory to it until the program uses the code, and when the subroutine is over any memory that was used is recycled freeing up the space for something else.

At GCSE we study procedural programming and so the main programming structures that we are concerned with are procedures and functions. All subroutines are a block of code that has a name and sits outside of the main program – functions use this technique to process something and send a value back.

Functions are particularly good for calculations that you need to repeat and validation of your user’s input. In the following example, we will assume that we have already written the menu procedure in the previous section. Our function pseudocode would look something like:

FUNCTION checkUser()
    allowedMenu = [‘Deutsch’, “English”, “Espanol”]
    choice = INPUT

    WHILE choice is NOT IN allowedMenu DO
          OUTPUT “Not a Valid Choice”
          choice = INPUT

RETURN choice


In this case, we’ve added a WHILE loop that insists that the user makes a valid choice before their choice is sent back to my program. A function is particularly good in this case because we can write our validation code once and call it many times throughout the program and because it will send a value back we can rest assured that the variables won’t hold any dodgy values!

Let’s see what this looks like in Python when we combine the function with the procedure that we created in the previous section. In the example code below, the new function is used to make sure that the user enters a valid input – in this case, a string that exists within the array.

Try expanding the code so that once the user selects a language, they can translate a word using the example code that we saw in Use of Records for Saving Data.

You can edit and run the code direcr in your broswer:

Where next? Try reading about Procedures, or make your Subroutines even better with Parameters.

Found this page helpful? Please consider sharing!

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on reddit
Share on whatsapp

Looking for More?

Sign in to access the following extras on this page for members: Notes


A Level Content

Looking for something else? Check back soon as new resources are added every week!

Not a member yet? Sign Up or Log In below