8.1.1
Interpreting, Correcting & Completing Algorithm
Interpreting Algorithms
Interpreting Algorithms
Reading other peoples' code is sometimes the most difficult part of writing software, so it needs some practice.


Interpreting algorithms
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.


Look out for identifiers
Look out for identifiers
- Identifiers are the names of variables, constants, and subroutines.
- These often give strong clues about the purpose of an algorithm.


Identify inputs and outputs
Identify inputs and outputs
- Check what is being input and output in the algorithm for clues about its purpose.


Examine output messages
Examine output messages
- Output messages often format the result of an algorithm in a human readable way.


Look for comments
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
Correcting Algorithms
As well as knowing what an algorithm does, it's important to be able to fix it if it all goes wrong.
,h_400,q_80,w_640.png)
,h_400,q_80,w_640.png)
Incorrect identifiers
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).


Incorrect operators
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.


Missing processes
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
Completing Algorithms
Some exam questions will ask you to state the output of an algorithm.


Interpreting the algorithm
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.


Trace tables
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.
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction

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