← IGCSE Computer Science Paper 1

Identifying loss, gain and change in an example

Compare the data sent with the data received. Fewer bits or characters means loss, extra ones means gain, and the same length with different values means change.

Understanding Identifying loss, gain and change in an example in IGCSE Computer Science Paper 1

What it does: Both patterns have 4 bits, but the third bit changed from 0 to 1. Same length with different values is data change. A letter L has gone missing, so the received word is shorter than the sent word. This is data loss.

Common mistakes: The variable is misspelled as recieved, so line 3 would fail because received does not exist. It should be received = "1011010". Gain means extra characters arrived, so the received data must be longer than the sent data. The test should use > not <.

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 142–154) and word search (Modules 142–164).

Take this worksheet further — free with Cloodit

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

Learning
Duo
Sent: 10110010. Received: 1011010. What type of error is this?
Data lossData gain
Matches
Sent: 1010 Received: 1011 (data loss)
↓
Both patterns are 4 bits long and only the last bit differs, so this is data change, not data loss.
Applying
Meanings
Term
compare sent and received
Meaning
Compare the data sent with the data received. Fewer bits or characters means loss, extra ones means gain, and the same length with different values means change.
Practice
sent ← "10110010"
Testing
Gaps
IF LENGTH(received) LENGTH(sent) THEN
Check Answer
Spots
1sent = "10110010"
2recieved = "1011010"

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

The 'Manta Ray' badge — Graceful Coder, 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. Sent: 10110010. Received: 1011010. What type of error is this?
A. Data loss ✓
B. Data gain
The sent pattern has 8 bits but the received pattern has only 7. Fewer bits arrived than were sent, so a bit was lost.
2. Sent: 01101100. Received: 01111100. What type of error is this?
A. Data loss
B. Data change ✓
Both patterns have 8 bits, so nothing was lost or added. The 4th bit has flipped from 0 to 1, so the data was changed.
3. Sent the word: CAT. Received the word: CART. What type of error is this?
A. Data change
B. Data gain ✓
3 characters were sent but 4 arrived. An extra character (R) was added, so this is data gain.
4. Sent the word: HELLO. Received the word: HELO. What type of error is this?
A. Data loss ✓
B. Data change
5 characters were sent but only 4 arrived. One L is missing, so data was lost.
5. Sent the word: DOG. Received the word: DIG. What type of error is this?
A. Data change ✓
B. Data gain
Both words have 3 characters, so the length is the same. The O became an I, so the value was changed.

Match the Pairs

Sent: 10110010 Received: 1011010 → Data loss: the received pattern is shorter, so a bit has gone missing
Sent: CAT Received: CATS → Data gain: an extra character has appeared that was not sent
The length is the same but one value is different, so the error is data change → Sent: 1100 Received: 1110
Count first: 5 characters sent but only 4 received, so the error is data loss → Sent: HELLO Received: HELO
Sent: 1010 Received: 1011 (data loss) → Both patterns are 4 bits long and only the last bit differs, so this is data change, not data loss.
Sent: DOG Received: DOGS (data change) → The received word is longer, with an extra character, so this is data gain, not data change.

Key Term

compare sent and received
Compare the data sent with the data received. Fewer bits or characters means loss, extra ones means gain, and the same length with different values means change.

Fill in the Blanks

1. IF LENGTH(received) < LENGTH(sent) THEN error ← "loss" ENDIF
Hint: Type the comparison operator that is true when the received data is shorter than the data sent.
2. IF LENGTH(received) > LENGTH(sent) THEN error ← "gain" ENDIF
Hint: Type the comparison operator that is true when the received data is longer than the data sent.
3. IF LENGTH(sent) = LENGTH(received) THEN IF sent <> received THEN error ← "change"
Hint: Type the operator meaning not equal, because the lengths match but the values differ.
4. sent ← "10110010" received ← "10110110" IF sent <> received THEN OUTPUT "change"
Hint: Type the variable holding the data that arrived, so it can be compared with the data sent.
5. sent ← "CAT" received ← "CART" n ← LENGTH(received) - LENGTH(sent)
Hint: Type the function that counts how many characters are in a string, used to spot a length difference.

Spot the Error

Question 1
A sent = "10110010"
B recieved = "1011010"
C if len(received) < len(sent):
D print("loss")
Line B — The variable is misspelled as recieved, so line 3 would fail because received does not exist. It should be received = "1011010".
Question 2
A sent = "HELLO"
B received = "HELLO!"
C if len(received) < len(sent):
D print("gain")
Line C — Gain means extra characters arrived, so the received data must be longer than the sent data. The test should use > not <.
Question 3
A sent = "01101100"
B received = "01001100"
C if sent == received:
D print("change")
Line C — The two patterns have the same length but different values, which is a change. The test must be sent != received. With == it would only be true when nothing went wrong.
Question 4
A sent = DOG
B received = "DIG"
C if len(sent) == len(received):
D print("change")
Line A — The word is a string, so it needs quotes. It should be sent = "DOG". Without quotes Python treats DOG as an undefined variable.
Question 5
A sent = "1100"
B received == "110011"
C if len(received) > len(sent):
D print("gain")
Line B — A double equals sign compares values, but this line needs to store the received bits. It should use a single = : received = "110011".

Student with a class code? Join your class →