Skip to content

Course home

Algorithms

Algorithms

EasyMediumHard
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
Question 11

This algorithm searches an alphabetically sorted list of student names for a target name. The target name may or may not be in the list.

current = 0
found = False
overshot = False

while (current < len(studentList)) and (not found) and (not overshot):
    if studentList[current] == targetName:
        found = True
    elif studentList[current] > targetName:
        overshot = True
    else:
        current = current + 1

The use of the found variable helps to make the algorithm efficient by stopping the loop as soon as the target is located.

Describe how the use of the overshot variable also helps to make the algorithm efficient.

[2]
Markscheme

Algorithms Questions

  1. GCSE
  2. /Computer Science
  3. /Algorithms

159 exam-style questions on Edexcel GCSE Computer Science Algorithms, covering Constructs for solving problems, Variables, constants and data structures, Arithmetic, relational and logical operators, Tracing algorithm output with trace tables, Types of error and correcting logic errors, Standard algorithms (sorts and searches), and Evaluating algorithm fitness and efficiency. Each one has a worked solution and a mark scheme showing where the marks go.

Question bank