Programming Constructs

What is a programming construct?

  • A programming construct determines the order in which lines of code are executed
  • There are three programming constructs. These are
    • Sequence
    • Iteration
    • **Branching **(also known as selection)

Sequence

  • Sequence refers to lines of code which are run one line at a time
  • The lines of code are run in the order that they written from the first line of code to the last line of code

Branching (selection)

  • Branching, also known as selection is when the flow of the program is interrupted and a condition is tested
  • The outcome of this condition will then determine which lines or block of code is run next
  • There are two ways to write selection statements:
    • ifelseifelse… statements - this is when you test conditions sequentially
    • switchcase… statements - this is when you test an expression against multiple possible constant values (known as cases)

Iteration

  • Iteration is **repeating a line or a block of code **using a loop
  • Iteration can be:
    • count controlled - this is when the code is repeated a fixed number of times (e.g. using a for loop)
    • condition controlled - this is when the code is repeated until a condition is met (e.g. using a while loop or a do while loop)

Identifying programming constructs

  • You can identify which programming constructs are used by looking at certain keywords
  • The keywords **if, elseif, else, endif, switch, case **indicate that the construct is selection
  • The keywords for, while, do indicate that the construct is iteration
  • If none of these keywords are used, this is a good indication that the construct is sequence
01 numbers = []
02 # Ask the user to enter 5 numbers
03 for i in range(5):
04     num = int(input("Enter a number: "))
05     numbers.append(num)
06 # Assume the first number is the largest
07 largest_number = numbers[0]
08 # Identifying the largest number
09 for num in numbers:
10     if num > largest_number:
11         largest_number = num
12 print("The largest number is:", largest_number)
  • In this example, **iteration **is used twice:
    1. Repeating code to ask the user to enter 5 numbers (indicated by the keyword **for **on line 03)
    2. Repeating code to identify the largest number (indicated by the keyword for on line 09)
  • In this example,** selection** is used once to determine if a number is bigger than the currently stored biggest number (indicated by the keyword** if **on line 10) and if so it will update the largest number on line 11
  • Sequence is any lines of code which does not use iteration or selection. In this example, the first and last lines of code are sequence