Difference between revisions of "Structured Programming"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Created blank page)
 
(Structured Programming)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
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.

Latest revision as of 14: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.