Skip to content
9618Paper 3 · Advanced Theory§13.1, §13.2, §13.3

13. Data Representation

User-defined data types, file organisation and access, floating-point representation, normalisation and rounding errors.

Statometer83BankerNext Paper 395%
Marks a paper18.2 · 24%Rank#3 of 8 · #1 on P3Trend · last 12↘Oct/Nov 24 · 31: 18 · Oct/Nov 24 · 32: 16 · Oct/Nov 24 · 33: 18 · May/Jun 25 · 31: 17 · May/Jun 25 · 32: 17 · May/Jun 25 · 33: 17 · Oct/Nov 25 · 31: 12 · Oct/Nov 25 · 32: 12 · Oct/Nov 25 · 33: 14 · May/Jun 26 · 31: 17 · May/Jun 26 · 32: 25 · May/Jun 26 · 33: 18 marks
9 in 10 chance in the next paper

Everything for this topic — study hub

A2 Level · 9618 · Paper 3

This topic is rows 1–3 of the study route.Open it on your study route

Statometer — what 32 real papers say about this topic and each of its 3 syllabus bullets

Banker · #3 of 8 in A2 Level · recomputed with every new session

83BANKER
Banker#3 of 8 in A2 Level#1 on Paper 3↘ Easing

Set in nearly every paper and worth a big slice of it — revise first, expect it.

Next Paper 3
95%
9 in 10 chance it is set
Marks a paper
18.2 / 75
24% of Paper 3 · fair share 17%
Appeared in
32 / 32
Paper 3 sittings 2021–2026
Last set
May/Jun 2026
9618/33 · Q5 · 7 marks · 11-series streak
Marks in each of the last 12 Paper 3 sittingsOct/Nov 24 → May/Jun 26
Oct/Nov 24 · 31: 18 marksOct/Nov 24 · 32: 16 marksOct/Nov 24 · 33: 18 marksMay/Jun 25 · 31: 17 marksMay/Jun 25 · 32: 17 marksMay/Jun 25 · 33: 17 marksOct/Nov 25 · 31: 12 marksOct/Nov 25 · 32: 12 marksOct/Nov 25 · 33: 14 marksMay/Jun 26 · 31: 17 marksMay/Jun 26 · 32: 25 marksMay/Jun 26 · 33: 18 marks

What the papers say

  • Set in 32 of 32 Paper 3 sittings on the current syllabus — treat it as certain.
  • Worth about 18.2 marks a paper (24% of Paper 3, 1.5× its fair share).
  • Last set May/Jun 2026 · 9618/33 · Q5 for 7 marks — in the most recent series.
  • Set in each of the last 11 series without a miss.
  • Easing off: about 22.3 marks a paper earlier, 17.5 in the latest years — still examined, just smaller.
  • Lives on “Write” and “Show” — 66% of its questions: you must produce something — code, a diagram, a table — practise doing it, not reading it.
  • 61% of its questions are set out as code, pseudocode or a table to complete.
  • Its biggest question so far: 14 marks (May/Jun 2021 · 9618/31 · Q1).
  • Inside the topic, §13.3 Floating-point numbers carries the most marks (46%) and §13.2 File organisation and access the least (15%).
  • It is examined mostly as AO2 (Apply & analyse, 62%), the rest AO1 (38%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
  • The examiner has commented on 92 of its questions — read “What the examiner said” before you practise.
  • The single biggest share of Paper 3 among its 6 topics.

Command words

Share of questions using the word (a question can use several). What each wants →

Question shapes

  • ≤ 6 mk63
  • 7–9 mk41
  • 10–12 mk20
  • 13–15 mk16
  • 16+ mk5

Average 8.1 marks a question · 11% with a figure or table · 61% with code · biggest 14 marks

Assessment objectives — how it is examined

Every part of every current-syllabus question filed under Cambridge's AO1 / AO2 / AO3 (from its command word and what it asks you to do), so you know whether this topic pays for definitions, for applying, or for judging and building.

  • AO1 Knowledge & understanding
  • AO2 Apply & analyse
  • AO3 Design, program & evaluate

Paper 3 as a whole

Paper 3SyllabusMeasured
AO1 Knowledge & understanding60%54%
AO2 Apply & analyse40%46%
AO3 Design, program & evaluate0%0%

Syllabus = Cambridge's grid; measured = the bank's current-syllabus papers.

Inside the topic — every syllabus bullet, measured

Each part of each question is filed under the bullet it examines; the numbers are per Paper 3 sitting, exactly like the topic's. Open a bullet for its own Statometer.

  • 13.1User-defined data types#3 of 14 on Paper 3Banker · 9495% next paper7.4 marks32/32 sittings↘ May/Jun 2026

    Asked in nearly every paper — the bullet to know cold.Syllabus: why they are needed; non-composite types (enumerated, pointer); composite types (set, record, class/object); designing a type for a problem

    Next Paper 3
    95%
    9 in 10
    Marks a paper
    7.4
    10% of the paper · 39% of the topic
    Asked in
    32 / 32
    Paper 3 sittings · 75 questions
    Last asked
    May/Jun 2026
    9618/33 · Q3 · 3.5 marks · 11-series streak
    • Asked in 32 of 32 Paper 3 sittings — nearly every paper.
    • About 7.4 marks a paper (10% of Paper 3; 39% of the topic's marks across its 3 bullets).
    • Last asked May/Jun 2026 · 9618/33 · Q3 (3.5 marks) — in the most recent series.
    • Asked in each of the last 11 series.
    • Easing: 8.7 → 7.1 marks a paper.
    • Usually “Write”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
    • Biggest chunk of marks so far: 10 in Oct/Nov 2022 · 9618/32 · Q4.
    • It is examined mostly as AO2 (Apply & analyse, 62%), the rest AO1 (39%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings↘ Easing
    Oct/Nov 24 · 31: 8 marksOct/Nov 24 · 32: 8 marksOct/Nov 24 · 33: 8 marksMay/Jun 25 · 31: 11 marksMay/Jun 25 · 32: 4.5 marksMay/Jun 25 · 33: 6 marksOct/Nov 25 · 31: 5 marksOct/Nov 25 · 32: 5 marksOct/Nov 25 · 33: 8 marksMay/Jun 26 · 31: 6 marksMay/Jun 26 · 32: 7.5 marksMay/Jun 26 · 33: 8.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Write59%
    • Describe29%
    • Explain24%
    • State21%
  • 13.2File organisation and access#7 of 14 on Paper 3Regular · 5264% next paper3.4 marks19/32 sittings↗ May/Jun 2026

    Set most sessions for a few marks; know the definition and one example.Syllabus: serial, sequential (key field) and random (record key) organisation; sequential vs direct access; hashing algorithms for reading and writing records

    Next Paper 3
    64%
    6 in 10
    Marks a paper
    3.4
    5% of the paper · 15% of the topic
    Asked in
    19 / 32
    Paper 3 sittings · 38 questions
    Last asked
    May/Jun 2026
    9618/33 · Q3 · 2.5 marks
    • Asked in 19 of 32 Paper 3 sittings — about 6 papers in 10.
    • About 3.4 marks a paper (5% of Paper 3; 15% of the topic's marks across its 3 bullets).
    • Last asked May/Jun 2026 · 9618/33 · Q3 (2.5 marks) — in the most recent series.
    • Rising: 3.3 → 3.8 marks a paper.
    • Usually “Describe” or “Explain”: full sentences with a reason, not one-word answers.
    • Biggest chunk of marks so far: 6 in May/Jun 2026 · 9618/32 · Q10.
    • It is examined mostly as AO1 (Knowledge & understanding, 67%), the rest AO2 (33%) — definitions and descriptions in syllabus words score.
    Last 12 sittings↗ Rising
    Oct/Nov 24 · 31: 4 marksOct/Nov 24 · 32: 2 marksOct/Nov 24 · 33: 4 marksMay/Jun 25 · 31: 0 marksMay/Jun 25 · 32: 2.5 marksMay/Jun 25 · 33: 5 marksOct/Nov 25 · 31: 0 marksOct/Nov 25 · 32: 0 marksOct/Nov 25 · 33: 0 marksMay/Jun 26 · 31: 5 marksMay/Jun 26 · 32: 9.5 marksMay/Jun 26 · 33: 2.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Describe37%
    • Explain34%
    • Outline24%
    • State21%
  • 13.3Floating-point numbers#4 of 14 on Paper 3Banker · 8490% next paper6.4 marks29/32 sittings↘ May/Jun 2026

    Asked in nearly every paper — the bullet to know cold.Syllabus: mantissa and exponent in two's complement; converting to and from denary; normalisation; precision, underflow, overflow and rounding errors

    Next Paper 3
    90%
    9 in 10
    Marks a paper
    6.4
    9% of the paper · 46% of the topic
    Asked in
    29 / 32
    Paper 3 sittings · 56 questions
    Last asked
    May/Jun 2026
    9618/33 · Q5 · 7 marks · 8-series streak
    • Asked in 29 of 32 Paper 3 sittings — nearly every paper.
    • About 6.4 marks a paper (9% of Paper 3; 46% of the topic's marks across its 3 bullets).
    • Last asked May/Jun 2026 · 9618/33 · Q5 (7 marks) — in the most recent series.
    • Asked in each of the last 8 series.
    • Easing: 8 → 5.9 marks a paper.
    • Usually “Show” or “Calculate”.
    • Biggest chunk of marks so far: 14 in May/Jun 2021 · 9618/31 · Q1.
    • It is examined almost entirely as AO2 (Apply & analyse, 76%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings↘ Easing
    Oct/Nov 24 · 31: 6 marksOct/Nov 24 · 32: 6 marksOct/Nov 24 · 33: 6 marksMay/Jun 25 · 31: 6 marksMay/Jun 25 · 32: 6 marksMay/Jun 25 · 33: 6 marksOct/Nov 25 · 31: 6 marksOct/Nov 25 · 32: 6 marksOct/Nov 25 · 33: 6 marksMay/Jun 26 · 31: 6 marksMay/Jun 26 · 32: 5 marksMay/Jun 26 · 33: 7 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Show88%
    • Calculate80%
    • Explain39%
    • State36%

12% of the topic's marks sit in question parts that belong to another topic (scenario questions cross sections) or that no bullet claims; they count for the topic, not for a bullet.

Marks a paper, year by year

151617181920212223242526

Grey years are the previous syllabus (2015–2021, 60 questions) — history, not counted in the rates.

By exam series

  • May/Jun18/18 · 18.8 mk
  • Oct/Nov14/14 · 20.4 mk

What you need to know3syllabus §13.1, §13.2, §13.3

  1. 13.1User-defined data types — why they are needed; non-composite types (enumerated, pointer); composite types (set, record, class/object); designing a type for a problem
  2. 13.2File organisation and access — serial, sequential (key field) and random (record key) organisation; sequential vs direct access; hashing algorithms for reading and writing records
  3. 13.3Floating-point numbers — mantissa and exponent in two's complement; converting to and from denary; normalisation; precision, underflow, overflow and rounding errors

Video lectures24ZAK's YouTube channel · play here

0 of 24 watched
  • A2202648 views

  • A220233.2K views

  • A22023678 views

  • A22023652 views

  • A22023802 views

  • A22023877 views

Infographics3draw these the way the examiner expects · download as PNG

User-defined data typesComposite types are built from other types (record, set, class); non-composite types are defined withoutother types (enumerated, pointer).NON-COMPOSITEdefined without referencing other data typesCOMPOSITEbuilt from one or more other data typesEnumerated — an ordered list of valuesTYPE Season = (Spring, Summer, Autumn, Winter)DECLARE Now : SeasonNow ← SummerPointer — holds the address of a variableTYPE TIntPtr = ^INTEGERDECLARE P : TIntPtrP ← @Count // address of CountOUTPUT P^ // value it points toRecord — fields of different typesTYPE TStudent DECLARE Name : STRING DECLARE Mark : INTEGERENDTYPEDECLARE S : TStudentS.Mark ← 72Set — unordered, no duplicatesTYPE LetterSet = SET OF CHARDEFINE Vowels ("A", "E", "I", "O", "U") : LetterSetClass — attributes + methods (OOP, §20.1)TypeComposite?Use it when…EnumeratedNoa variable can only take a few named valuesPointerNoyou need to reference memory, e.g. a linked list nodeRecord / Set / ClassYesrelated data of different types belongs togethercswithzak.com

User-defined data types

A2
Floating-point representationValue = mantissa × 2^exponent, both in two's complement. 8-bit mantissa + 4-bit exponent here; the examgives the sizes.mantissa (8 bits)exponent (4 bits)010110000011sign . 1 1 0 0 0= +31. Mantissa = 0.1011 (binary point after the sign bit) = 0.5 + 0.125 + 0.0625 = 0.68752. Exponent = 0011 = +3 → move the point 3 places right: 0.1011 × 2³ = 101.13. Value = 4 + 1 + 0.5 = 5.5Normalised formPositive mantissa starts 0.1…, negative starts 1.0… — one sign bit,then the first significant bit. Gives maximum precision and a unique form.To normalise: shift the mantissa and adjust the exponent by the samenumber of places (left shift 2 places → exponent − 2).Negative example: 1.0100000 × 2^0010mantissa = −1 + 0.25 = −0.75; × 2² = −3.0. (Check normalised: starts 1.0 ✓)More bits in…gives…mantissaprecision (accuracy)exponentrange (biggest / smallest)neither: fixed totala trade-off — say soErrorsOverflow: result larger than the biggest exponent can express. Underflow: smaller than the smallest — becomes 0.Rounding error: 0.1 (denary) has no exact binary form, so it is truncated/rounded; errors build up over many operations.Never test REAL values with = ; compare the difference with a tolerance instead.cswithzak.com

Floating-point representation

A2
File organisation, access & hashingHow records are arranged (organisation) decides how you can get at them (access). Random files hash thekey to an address.SERIALrecords in arrival order (a log)• add: append at the end• find: read from the start until found• use: transaction / temporary filesSEQUENTIALrecords ordered by a key field• add: rewrite the file, or use an overflow area• find: read in order, stop when key passed• use: master files, batch processingRANDOM (direct)address calculated from the key• add: hash the key → address• find: hash again → jump straight there• use: real-time look-ups, indexesAccess methodsSequential access: read records one after another (serial/sequential). Direct access: jump straight to a record (random, or indexed).Hashing — key 4521, file of 100 slotsaddress = 4521 MOD 100 = 21192045212111212223Collision: 1121 MOD 100 is also 21 — slot taken.Fix 1: linear probing — use the next free slot (22).Fix 2: overflow area / linked list from the home slot.Reading: hash, check the key matches, else keep looking.Choosing the organisationHit rate high, whole file processed each run (payroll) → sequential. Individual records needed instantly (bookings) → random.Simple append-only log → serial. Random files waste space if the hash spreads badly; sequential files are slow to update.Pseudocode: OPENFILE f FOR RANDOM · SEEK f, address · GETRECORD f, rec · PUTRECORD f, rec · CLOSEFILE f.cswithzak.com

File organisation & hashing

A2

Browse all infographics →

Key terms13use these exact words in the exam

enumeratedpointercompositeserialsequentialrandom accesshashingmantissaexponentnormalisationunderflowoverflowrounding error

Dotted terms are defined in the glossary.

Code help3referenced to the Cambridge pseudocode guide

Enumerated + pointer types (guide §4)

pseudocode §4.1–4.2 Run in Playground
TYPE Season = (Spring, Summer, Autumn, Winter)
TYPE TIntPointer = ^INTEGER
DECLARE ThisSeason, NextSeason : Season
DECLARE MyPointer : TIntPointer
DECLARE Count : INTEGER
ThisSeason ← Spring
NextSeason ← ThisSeason + 1
Count ← 41
MyPointer ← ^Count
MyPointer^ ← MyPointer^ + 1
OUTPUT NextSeason, " ", Count

Floating point: mantissa × 2^exponent by hand

pseudocode Run in Playground
// 8-bit mantissa 0.1100000 (two's complement, = 0.75) and exponent 0011 (= 3)
DECLARE M : REAL
DECLARE E : INTEGER
M ← 0.75
E ← 3
OUTPUT M * 2 ^ E // 6.0

Hashing for a random-access file

pseudocode §9.2 Run in Playground
FUNCTION Hash(Key : INTEGER) RETURNS INTEGER
RETURN Key MOD 7 + 1 // 7 buckets, addresses 1..7
ENDFUNCTION
OUTPUT Hash(1234), " ", Hash(1241), " ", Hash(500) // 1241 collides with 1234

Playground examples6runnable programs for this topic

  • Random-access file — SEEK, PUTRECORD, GETRECORD

    Records are stored at addresses; SEEK moves the file pointer, then read or write the record there.

    A2PseudocodeFile handling §9.2
    Run
  • Hashing to a record address

    A hash function turns a key into a file address so a record is found directly, without searching.

    A2PseudocodeFile handling 9618 §13.2, §9.2
    Run
  • Enumerated, pointer & set types (§4)

    The three non-record user-defined types from the guide, in one program.

    A2PseudocodeRecords & user-defined types §4.1–4.2
    Run
  • Records with DATE fields & whole-record copy

    The guide's StudentRecord: Pupil2 ← Pupil1 copies every field; arrays of records are updated in a loop.

    A2PseudocodeRecords & user-defined types §4.1–4.2
    Run
  • Floating-point → denary

    An 8-bit two's complement mantissa and a 4-bit two's complement exponent, converted to a denary value.

    A2PseudocodeTheory in code 9618 §13.3
    Run
  • Binary, hex and two's complement

    bin(), hex(), int(s, 2) and format() — plus two's complement of a negative number by hand.

    O LevelASPythonTheory in code 2210 §1 / 9618 §1
    Run

Also for this topic: 2 Java programs · 1 VB.NET program in the browser compilers.

Test yourself

Ready to check you know it?

Every round is a fresh random draw, weak cards come back until you get them right, and past-paper questions come with their mark schemes. Marks earn XP on your dashboard.

NewCS Games · 16 to play

Revise this topic by playing

Quiz battles, a daily CS word, SQL whodunnits, logic-gate puzzles and arcade — every game drills the syllabus. Solo against AskZ bots, with friends, or with your whole class. Free, no sign-up.

Play now
Enroll nowOnline classes