← IGCSE Computer Science Paper 1

What a check digit cannot detect

A wrong number can still pass the check digit test, and a valid number may belong to the wrong item. The check digit tests the digits only, not what they mean.

Understanding What a check digit cannot detect in IGCSE Computer Science Paper 1

What it does: The test only compares two digits. It never checks which item the number refers to. Check digits catch typing mistakes on data entry. Methods such as parity and checksum are used to detect errors in transmission. A check digit does not prove a number is right. Some different errors happen to give the same check digit, so they slip through.

Common mistakes: A check digit only tests the digits. A pass cannot show that the number belongs to the right book. The output should say that the digits pass, for example OUTPUT "Digits pass: ", ok. A check digit calculation cannot tell whether a number belongs to the right item. It only tests the digits, so line 2 should be valid ← CheckDigitOK(code).

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 179–188) and word search (Modules 168–188).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A student mistypes an ISBN, but the check digit calculation still gives a valid result. What does this show?
A wrong number can still pass the check digit testA number that passes the check must be correct
Matches
Check digit passed, so the number must be correct
↓
Passing the check does not prove the number is right. A wrong number can still give the same check digit.
Applying
Meanings
Term
check digit limitation
Meaning
A wrong number can still pass the check digit test, and a valid number may belong to the wrong item. The check digit tests the digits only, not what they mean.
Practice
// Check digit = digit total MOD 10
Testing
Gaps
valid ← (total 11) = 0
Check Answer
Spots
2ok ← CheckDigitOK(isbn)
3OUTPUT "Right book: ", ok

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Cosmic Dragon' badge — Orbit Master, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A student mistypes an ISBN, but the check digit calculation still gives a valid result. What does this show?
A. A number that passes the check must be correct
B. A wrong number can still pass the check digit test ✓
A check digit does not prove a number is right. Some different errors happen to give the same check digit, so they slip through.
2. A student types the ISBN of a different book that is also valid. Will the check digit detect that it is the wrong book?
A. No, a valid number for the wrong book passes the check ✓
B. Yes, the check digit knows which book was wanted
The check digit only tests the digits. It cannot tell whether the number belongs to the item the user meant.
3. Which statement about a check digit is correct?
A. It checks that the number belongs to the right item
B. It checks the digits, not what they mean ✓
A check digit is a calculation on the digits. It has no knowledge of the meaning of the number or which item it refers to.
4. Two mistakes in one number happen to cancel out, so the calculated check digit matches the original. What is the result?
A. The error is not detected ✓
B. The error is always detected
Some errors give the same check digit by chance. The receiver sees a match, so the wrong number is accepted.
5. Which job is a check digit designed for?
A. Catching typing errors when a number is entered ✓
B. Catching interference errors during data transmission
Check digits are designed for data entry errors, such as mistyped digits. Parity bits, checksums and echo checks deal with transmission.

Match the Pairs

Digits 1234 changed to 1243, check digit still matches → A wrong number that still passes the check, because the error happened to give the same check digit
Valid ISBN typed, but it is for a different book → The number passes the check but belongs to the wrong item, because a check digit tests digits, not meaning
A check digit checks the digits only, not what the number means → check_digit_ok = (calculated == last_digit)
A check digit is not designed to find errors during data transmission → Parity bit or checksum is used for transmission errors
Check digit passed, so the number must be correct → Passing the check does not prove the number is right. A wrong number can still give the same check digit.
The check digit is correct, so this is the right book → A valid number can belong to a different book. The check digit cannot tell if the item is the one intended.

Key Term

check digit limitation
A wrong number can still pass the check digit test, and a valid number may belong to the wrong item. The check digit tests the digits only, not what they mean.

Fill in the Blanks

1. total ← 55 valid ← (total MOD 11) = 0
Hint: Type the operator that gives the remainder after division, used to test whether the total passes the check.
2. valid ← TRUE IF valid = TRUE THEN OUTPUT "Accepted"
Hint: Type the Boolean value that means the check was passed, so a wrong number with a matching check digit is still accepted.
3. checkA ← 7 checkB ← 7 IF checkA = checkB THEN OUTPUT "Pass"
Hint: Type the comparison operator. Two different numbers can give the same check digit, so both pass.
4. isbn ← "9780306406157" IF ISBNValid(isbn) THEN OUTPUT "Digits valid, book unknown"
Hint: Type the variable holding the number being tested. A valid number can still belong to the wrong book.
5. digitsOK ← TRUE itemOK ← FALSE result ← digitsOK AND itemOK
Hint: Type the logical operator that is only true when both values are true. Valid digits do not prove the right item.

Spot the Error

Question 1
A INPUT isbn
B ok ← CheckDigitOK(isbn)
C OUTPUT "Right book: ", ok
Line C — A check digit only tests the digits. A pass cannot show that the number belongs to the right book. The output should say that the digits pass, for example OUTPUT "Digits pass: ", ok.
Question 2
A INPUT code
B valid ← IsRightBook(code)
C IF valid THEN
D OUTPUT "Digits pass"
Line B — A check digit calculation cannot tell whether a number belongs to the right item. It only tests the digits, so line 2 should be valid ← CheckDigitOK(code).
Question 3
A INPUT typed
B ok ← CheckDigitOK(typed)
C OUTPUT "Transmission OK: ", ok
Line C — Check digits are designed to catch typing errors on data entry. They are not designed to detect errors made during data transmission. The message should refer to the typing check.
Question 4
A total ← d1*3 + d2*2 + d3
B rem ← total MOD 11
C rightBook ← (rem = 0)
Line C — A remainder of 0 only means the digits pass the check. It does not prove the number is for the right book. The variable should be passes ← (rem = 0).
Question 5
A a ← [4, 5, 1, 2]
B b ← [5, 4, 1, 2]
C s1 ← SUM(a) MOD 11
D s2 ← SUM(b) MOD 10
E OUTPUT s1 = s2
Line D — Both numbers must use the same modulus. With MOD 11 for both, the swapped digits give the same check value, so this wrong number would pass. Line 4 should be s2 ← SUM(b) MOD 11.

Student with a class code? Join your class →