Structured Programming
In a high-level, procedural language such as Pascal, Visual Basic, Python or C#, an algorithm can be implemented using just three basic structures:
- Sequence
- Selection
- Iteration
Contents
Sequence
A sequence consists of one or more statements following one after the other (all programs use sequence, you write them in a specific order).
Here is an example written in pseudocode:
hoursWorked = USERINPUT hourlyRate = USERINPUT totalCharge = hoursWorked * hourlyRate OUTPUT “Total charge: ”, totalCharge
Selection
Selection is implemented using an IF…THEN…ELSE statement, it essentially makes a choice between one path or another.
Here is a pseudocode example:
IF sunIsShining THEN takeSunhat ELSE takeUmbrella ENDIF
The IF statement can also use ELSE IF to create more complex selection statements.
Here is a pseudocode example:
IF sunIsShining THEN takeSunhat ELSE if Raining takeUmbrella ELSE takeCoat ENDIF
Some languages also have a CASE statement (switch case in C#). This allows you to replicate complex IF statements in a more straight forward way.
Here is a pseudocode example:
SWITCH (sun) CASE Shining: TakeSunHat CASE NotShining TakeUmbrella END SWITCH
Iteration / Repetition
Iteration means repetition. Most high level languages have three iterative structures:
Unknown number of iterations, even potentially none
WHILE condition statements ENDWHILE
Given number of iterations
FOR x = n to m statements ENDFOR
Unknown number of iterations, but definitely once
REPEAT statements UNTIL condition
Structured Programming
Structured programming is only possible because the structures are built in to programming languages like Python, Java, VB and C#.
Early programming languages had no iterative statements and a selection statement could only be written like this:
IF (condition) GO TO label
This made it difficult to follow as your program jumped from one place to another. Each goto command jumped to a new place in the program without having any way to get back. In some languages GOSUB was also possible, this jumped to a label but would return once the code for the label was completed. This was achieved using the RETURN command.
An example of this approach is:
n = 1 LABEL1 a = USERINPUT b = a * a OUTPUT “Square = ”, b n = n + 1 IF n < 5 GOTO LABEL1
Structured programming is a method of writing a computer program which uses:
- Top-down analysis for problem-solving
- Modularization for program structure and organisation
- Structured code for the individual modules.