Sequence, Selection, Repetition and Subprogram

SEQUENCE

In a computer program or an algorithm, sequence involves simple steps which are to be executed one after the other. The steps are executed in the same order in which they are written.

Below is an example set of instructions to add two numbers and display the answer.

Pseudocode example:

BEGIN AddTwoNumbers
  get firstNumber
  get secondNumber
  total = firstNumber + secondNumber
  Display "The sum of your two numbers is "; total
END AddTwoNumbers

Here is the same algorithm as a flowchart:

enter image description here

SELECTION

Selection is used in a computer program or algorithm to determine which particular step or set of steps is to be executed. This is also referred to as a ‘decision’. A selection statement can be used to choose a specific path dependent on a condition. There are two types of selection: binary selection (two possible pathways) and multi-way selection (many possible pathways).

Binary Selection

In binary selection, if the condition is met then one path is taken, otherwise the second possible path is followed. In each of the examples below, the first case described requires a process to be completed only if the condition is true. The process is ignored if the condition is false. In the second case, there is an alternative process if the condition is false.

Pseudocode example:

IF Raining THEN
  Take umbrella
ENDIF

or

IF Raining THEN
  Take umbrella
ELSE
  Put on suncream
ENDIF

Flowchart example:

enter image description here

Multi-way selection

Multi-way selection allows for any number of possible choices, or cases. The path taken is determined by the evaluation of the expression. Multi-way selection is often referred to as a case structure.

Pseudocode example:

CASEWHERE buttonPressed evaluates to
  choice a : process1
  choice b : process2
  OTHERWISE : default process
ENDCASE

Flowchart example:

enter image description here


MINI TASK

Using multi-way selection write pseudocode identifying how traffic lights work. Consider what the OTHERWISE could be. Submit below:


REPETITION

Repetition allows for a portion of an algorithm or computer program to be executed any number of times depednet on some condition being met. An occurrance of repetition is usually known as a loop.

An essential feature of repetition is that each loop has a termination condition to stop the repetition, or the obvious outcome is that the loop never completes execution. This is known as an infinite loop and is obviously undesirable. The termination condition can be checked or tested at the beginning or end of the loop, and is known as a pre-test or post-test, respectively. Following is a description of each of these types of loop.

Repetition pre-test loop

A pre-tested loop is so named because the condition has to be met at the very beginning of the loop or the body of the loop is not executed. This construct is often called a guarded loop. The body of the loop is executed repeatedly while the termination condition is true.

Pseudocode example:

WHILE condition is true
  processes
ENDWHILE

Flowchart example:

enter image description here

Repetition post-test loop

A post-tested loop executes the body of the loop before testing the termination condition. This construct is often referred to as an unguarded loop. The body of the loop is repeatedly executed until the termination condition is true. An important difference between a pre-test and post-test loop is that the statements of a post-test loop are executed at least once, even if the condition is originally true, whereas the body of the pre-test loop may never be executed if the termination condition is originally true. A close look at the representations of the two loop types makes this point apparent.

Pseudocode example:

REPEAT
  process
UNTIL  condition is true

Flowchart example:

enter image description here


MINI TASK

Discuss where a procedure to "beat egg whites until fluffy" would fit in this kind of loop. Submit below:


FOR NEXT or counted loop

Counted loops or FOR NEXT loops can be regarded as special cases of repetition and, depending on the language in which they are implemented, are implemented as either pre-test or post-test repetitions.

To demonstrate a FOR NEXT loop as a flowchart it must have a purpose, our example will print the 12 times table.

Pseudocode example:

FOR i = 1 to 12 STEP 1
  Display "12 x " i " = " (12 * i)
NEXT i

Flowchart example:

enter image description here

SUBPROGRAMS

Subprograms, as the name implies, are complete part-programs that are used from within the main program section. They use refinement develop solutions to problems that are easy to follow. Sections of the solution are developed and presented in understandable chunks, and because of this, subprograms are particularly useful when using the top-down method of solution development.

When using subprograms it is important that the solution expression indicates where the main program branches to a subprogram. It is equally important to indicate exactly where the subprogram begins. In pseudocode, the statement in the main program that is expanded in a subprogram is underlined (in the example below the word "read" should be underlined, but this system does not allow underlining) to indicate that further explanation follows. The expanded subprogram section should be identified by using the keyword BEGIN followed by the underlined title used in the main program. The end of the subprogram is marked by the keyword END and the underlined title used in the main program.

When using flowcharts, a subprogram is shown by an additional vertical line on each side of the process box. This indicates that the subprogram is expanded elsewhere. The start and end of the subprogram flowchart uses the name of the subprogram in the termination boxes.

In many cases a subprogram can be written to do the same task at two or more points in an algorithm. Each time the subprogram is called, it may operate on different data. To indicate the data to be processed, one or more parameters are used. The parameters allow the author to write a general algorithm using the formal parameters. When the subprogram is executed, the algorithm carries out its task on the actual parameters given at the call. The parameters to be used by a subprogram are provided as a list in parentheses after the name of the subprogram. There is no need to include them at the end of the algorithm.

Pseudocode

BEGIN MAINPROGRAM
  read (name)
  read (address)
END MAINPROGRAM

BEGIN read (array)
   Set pointer to first position
   Get a character
   WHILE there is still more data AND there is room in the array
        Store data in the array at the position given by the pointer
        Increment the pointer
        Get next character
  ENDWHILE
END read

Flowchart

enter image description here

ACTIVITY 1

Complete the algorithm worksheet and submit here.


Comments

comments powered by Disqus