8.1.1

Interpreting, Correcting & Completing Algorithm

Test yourself

Interpreting Algorithms

Reading other peoples' code is sometimes the most difficult part of writing software, so it needs some practice.

Illustrative background for Interpreting algorithmsIllustrative background for Interpreting algorithms ?? "content

Interpreting algorithms

  • Given an algorithm you should be able to read it and explain what it does.
  • This needs some practice, but there are some things you can look out for.
Illustrative background for Look out for identifiersIllustrative background for Look out for identifiers ?? "content

Look out for identifiers

  • Identifiers are the names of variables, constants, and subroutines.
  • These often give strong clues about the purpose of an algorithm.
Illustrative background for Identify inputs and outputsIllustrative background for Identify inputs and outputs ?? "content

Identify inputs and outputs

  • Check what is being input and output in the algorithm for clues about its purpose.
Illustrative background for Examine output messagesIllustrative background for Examine output messages ?? "content

Examine output messages

  • Output messages often format the result of an algorithm in a human readable way.
Illustrative background for Look for commentsIllustrative background for Look for comments ?? "content

Look for comments

  • Comments are descriptions of the code.
  • Comments will often state the purpose of a given algorithm.
  • Comments are often the clearest way to identify an algorithm.

Correcting Algorithms

As well as knowing what an algorithm does, it's important to be able to fix it if it all goes wrong.

Illustrative background for Incorrect identifiersIllustrative background for Incorrect identifiers ?? "content

Incorrect identifiers

  • A common mistake in programs is incorrect identifiers.
  • Be very careful with uppercase and lowercase letters.
  • Be careful with similar looking characters:
    • 0 and O.
    • 1 and l (lower case L).
Illustrative background for Incorrect operatorsIllustrative background for Incorrect operators ?? "content

Incorrect operators

  • Look out for the difference between similar operators such as testing if a number is less than another, rather than less than or equal to the other.
Illustrative background for Missing processesIllustrative background for Missing processes ?? "content

Missing processes

  • Sometimes a line of code has been forgotten, which can lead to issues such as infinite loops, where the code will never end.

Completing Algorithms

Some exam questions will ask you to state the output of an algorithm.

Illustrative background for Interpreting the algorithmIllustrative background for Interpreting the algorithm ?? "content

Interpreting the algorithm

  • The first step for this type of question is to try to identify what the algorithm does.
  • If you can interpret the algorithm, then it will be much easier to follow it.
Illustrative background for Trace tablesIllustrative background for Trace tables ?? "content

Trace tables

  • You can draw a table with a column for each variable in the algorithm.
  • Use this table to keep track of the value of each variable, and carefully follow through the code until the end.
  • Finally, the trace table should include your answer.

Jump to other topics

1Components of a Computer

2Software & Software Development

3Exchanging Data

4Data Types, Data Structures & Algorithms

5Legal, Moral, Cultural & Ethical Issues

6Elements of Computational Thinking

6.1Thinking Abstractly

6.2Thinking Procedurally

6.3Thinking Logically

7Problem Solving & Programming

8Algorithms

Go student ad image

Unlock your full potential with GoStudent tutoring

  • Affordable 1:1 tutoring from the comfort of your home

  • Tutors are matched to your specific learning needs

  • 30+ school subjects covered

Book a free trial lesson