Difference between revisions of "Structured Programming"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Unknown number of iterations)
(Structured Programming)
 
(One intermediate revision by the same user not shown)
Line 69: Line 69:
 
  IF (condition) GO TO label
 
  IF (condition) GO TO label
  
This made it difficult to follow as your program jumped from one place to another.
+
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:
 
An example of this approach is:
Line 81: Line 81:
 
     IF n < 5 GOTO LABEL1
 
     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, and
+
Structured programming is a method of writing a computer program which uses:
Structured code for the individual modules.
+
*Top-down analysis for problem-solving
 +
*Modularization for program structure and organisation
 +
*Structured code for the individual modules.

Latest revision as of 15:38, 17 December 2018

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

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.