You are on page 1of 18

Revision Paper 2 – March Scheme

Max 2 marks for explanation of benefits. Max 2 marks for example


related to this scenario

• Code can be re-used (1)


• …Saves time (1)
The question states there is only 1
• Can use subroutine(s) in other programs (1)
programmer, so splitting the code and
• …saves time (1) 4
2 giving it to different programmers is not
• Can test independently… (1)
1 relevant to this scenario
• … may make finding errors easier (1)
• Any suitable example, e.g. the code for rolling dice can be
written once (1), then called whenever needed in the game
(1)

Total 4

Example:
bandA = 0
bandB = 0
bandC = 0
bandD = 0
for i=0 to
temperatures[].length - 1
if temperatures[i]<=10 then
bandA = bandA + 1
elseif temperatures[i]<=20
then
bandB = bandB + 1
elseif temperatures[i]<=30
- Initialise all 4 totals variables then
- Checks through all items in the array via suitable loop. bandC = bandC + 1
- Add temperatures <=10 to Band A else
- Adds temperatures >=31 to Band D 6 bandD = bandD + 1
2 Correctly assigns temperatures between 11 and 20 inclusive endif
-
to Band B and those between 21-30 inclusive to Band C
2 AO3.2
Uses else if (or equivalent) for efficiency rather than multiple
- ifs OR uses select/case OR any other solution that stops (6) next i
trying to categorise a temperature once its band is found. print(“Band A: ” + bandA)
- Displays results in similar format to shown in question. print(“Band B: ” + bandB)
print(“Band C: ” + bandC)
(1 per -, max 6) print(“Band D: ” + bandD)

Some solutions may use Select/Case.

E.g.

Select Case temperatures[i]


Case Is<=10
bandA=bandA+1

Look out for alternative methods of


iteration such as using iterators

© OCR 2024. You may photocopy this Page 1 of 18 Created in ExamBuilder


page.
Examiner’s Comments

Candidates were required to write an


algorithm and it was pleasing to see that
most candidates responded reasonably
well to this question. Common mistakes
were: failing to initialise the counter
variables; incorrect concatenation in the
output; using separate IF statements when
efficiency was required i.e. (nested IF’s or
SELECT CASE).

Total 6

1 mark per bullet to max 2


2
2
i • Can store multiple values under one identifier AO1.1 Examiner’s Comments
3
• The data can be of different data types (2)
The concept of record structures within
programming languages is one that was
poorly understood by most candidates.

1 mark per bullet to max 1

• Allows easy access/indexing/manipulation of each data item 1 Examiner’s Comments


ii in turn AO2.2
• 1D Array can hold multiple items of same data type (1) Stronger candidates often recognised that
• Maximum number of array elements is known arrays can be indexed. Fewer recognised
that the array could hold records, and that
each record would contain the individual
player’s details.

Graph
Tree
1 mark per bullet to max 1 Linked list

1
ii • Queue
AO1.1
i • List
(1)
• MaTuple Examiner’s Comments

Nearly all candidates could successfully


name an additional data structure.

Total 4

• Target temperature (1 – AO 2.1) integer / floating point (1 – Up to 4 marks (AO 2.1) one mark for each
AO 3.1). correct identification of input.
2 • Wheel movement (1 – AO 2.1) Boolean (1 – AO 3.1).
8
4 • Engine running (1 – AO 2.1) Boolean (1 – AO 3.1). Up to 4 marks (AO 3.1) one mark for
• Internal temperature (1 – AO 2.1) integer / floating point (1 – identifying the correct data type.
AO 3.1).

© OCR 2024. You may photocopy this Page 2 of 18 Created in ExamBuilder


page.
• External temperature (1 – AO 2.1) integer / floating point (1 Any example of driver choices / settings
– AO 3.1). related to something switched on (1 – AO
• External light level (1 – AO 2.1) integer / floating point (1 – 2.1)
AO 3.1). Boolean (1 – AO 3.1).
• Heating on (1 – AO 2.1) Boolean (1 – AO 3.1). Any example of driver choices / settings
• Air conditioning on (1 – AO 2.1) Boolean (1 – AO 3.1). related to a level being set (1 – AO 2.1)
• Gears engaged (1 – AO 2.1) Boolean (1 – AO 3.1). integer / floating point (1 – AO 3.1).

Total 8

Up to 4 marks for a valid definition.


• Abstraction is the process of separating ideas (1 – AO 1.1)
from particular instances / reality (1 – AO 1.1). It is a means
Up to 2 marks for demonstrating
of hiding detail / only using relevant detail (1 – AO 1.1), it is
2 knowledge (AO1.1).
a a representation of reality (1 – AO 1.1), using symbols to 4
5
show real-life features (1 – AO 2.1) or irrelevant features
Up to 2 marks for demonstrating
(e.g. such as buildings) left out (1 – AO 2.1).
application of knowledge and
understanding (AO2.1).

Examples:

• Road / type of road symbol (1).


1 mark for each correct identification up to
b i • Road number symbol (1). 3
a maximum of three identifications.
• Colour coding (1).
• Place labels (1).

• Software is modular (1), an example being an object /


function (1). Modules can be transplanted into new software
ii (1) or can be shared at run time (1) through the use of 3 Up to 3 marks for a valid explanation.
program libraries (1).

Total 10

• Computational methods could be used to break the problem


down into sections (1) e.g. distances (1), times (1), number
of stops (1). Using computational methods, statistics can be
2 compiled (1), models of new situations produced (1),
4 Up to 4 marks for a valid explanation.
6 simulations run by computer (1) variables used to represent
data items (1) and algorithms devised to test possible
layouts under different circumstances (1).

Total 4

No spaces allowed in parameter names


1 mark for each parameter – case sensitive
3
2 • inputKey [1]
a i
7 • characterx [1] AO1.2
• charactery [1] (3)
Examiner's Comment:
Most candidates had a good

© OCR 2024. You may photocopy this Page 3 of 18 Created in ExamBuilder


page.
understanding of what parameters were
and could hence answer the question well.

1 mark per bullet

3
• Decision is based on the value of inputKey… [1]
• …and the values of characterx or charactery are
AO1.2
ii changed [1]
(1)
• Description of a condition and what it will do e.g. If the input
AO2.1
key equals
(2)
value 37 [1], then the x coordinate is increased [1]
Examiner's Comment:
Many candidates answered vaguely and
could not describe in detail the condition
that was implemented.

1 mark per bullet to max 3

• ByRef changes the value in the variable passed


(characterx and charactery) [1]
3
ii • ByRef passes the address/location [1]
i • ByVal only a copy of the data
AO2.1
is passed [1]
• ByVal the change would be lost when the procedure ended
[1]
Examiner's Comment:
ByRef and ByVal continue to be an area
that candidates struggle with. Those with
experience of languages that implement
this tended to do better.

Max 2 for description of abstraction, max 3 for examples. Allow any reasonable example that could
be applied to the game
Description, max 2

• Remove unnecessary elements [1]


• Reduce computational resources required [1]
• Focus on the main purpose of program/does not detract
from main purpose of program [1]
4

b
AO1.2
Examples, max 3, 1 mark per example
(4)
e.g.

• Appearance of characters is replaced by object / a character


is a stick
man [1]
• Places on the board are replaced with shapes and place
name/e.g. a square that says 'town' rather than an actual
town with buildings[1]

© OCR 2024. You may photocopy this Page 4 of 18 Created in ExamBuilder


page.
• Scenery is removed / e.g. trees, rivers are not included [1]

Examiner's Comment:
Most candidates knew what abstraction
was and could give relevant examples of
how it could be applied. Fewer could
answer in depth to achieve full credit.

Total 13

Allow any reasonable input to this system

1 mark per input to max 3

• Choice of pet
3
2 • Pet name
a AO2.1
8 • Feed
(3)
• Play
• Read
Examiner’s Comment:
Nearly all candidates achieved full marks
after analysing the requirements in the
stem of the question.

2
b i AO1.1
Examiner’s Comment: (2) Examiner’s Comment:
Nearly all candidates scored full marks for factual recall of the Nearly all candidates scored full marks for
required definition. factual recall of the required definition.

Calculations must be correct

1 mark per box

6
ii AO2.2
(6)

Examiner’s Comment:
Nearly all candidates achieved three or
more marks after analysing the
requirements in the stem of the question.
A number gave incorrect multiplying
factors for some of the required elements

© OCR 2024. You may photocopy this Page 5 of 18 Created in ExamBuilder


page.
and thus lost marks where mathematical
accuracy was required.

AO1: Knowledge and Understanding


Indicative content
Mark Band 3 – High level (7−9 marks)

• Removal of unnecessary
elements
The candidate demonstrates a thorough knowledge and
• Uses symbols to represent
understanding of abstraction; the material is generally accurate and
elements of the problem
detailed.
• Increase chance of creating the
The candidate is able to apply their knowledge and understanding
program successfully
directly and consistently to the context provided. Evidence /
• Reduces programming time and
examples will be explicitly relevant to the explanation.
factors that can detract from the
There is a well- developed line of reasoning which is clear and
program
logically structured.
The information presented is relevant and substantiated.
AO2: Application

Mark Band 2 – Mid level (4−6 marks)


• Examples of use in this system
The candidate demonstrates reasonable knowledge and
e.g.
understanding of abstraction; the material is generally accurate but at
o Environment is not
times underdeveloped.
shown
The candidate is able to apply their knowledge and understanding
o Movements reduced /
directly to the context provided although one or two opportunities are
removed
missed. 9
o Other factors that can be
Evidence / examples are for the most part implicitly relevant to the AO1.1
done / affect the 'pet' are
explanation. (2)
removed
The candidate provides a reasonable discussion, the majority of AO1.2
o Time may not be
c which is focused. Evaluative comments are, for the most part (2)
represented as minutes,
appropriate, although one or two opportunities for development are AO2.1
seconds
missed. (2)
There is a line of reasoning presented with some structure. The AO3.3
AO3: Evaluation
information presented is in the most part relevant and supported by (3)
some evidence.
• Reduces complexity of
Mark Band 1 – Low Level (1−3 marks) programming
The candidate demonstrates a basic knowledge of abstraction with • Requires less computational
limited understanding shown; the material is basic and contains power,
some inaccuracies. so the game can be played on
The candidates makes a limited attempt to apply acquired knowledge lower spec devices e.g. phones
and understanding to the context provided. • Focus is on the core aspects of
The candidate provides a limited discussion which is narrow in focus. the program rather than the extras
• Too much abstraction can detract
from the appeal of the game, may
Judgements if made are weak and unsubstantiated. be too simplistic / not realistic
The information is basic and comunicated in an unstructured way. enough, may not have enough
The information is supported by limited evidence and the relationship scope to engage users
to the evidence may not be clear.

0 marks
No attempt to answer the question or response is not worthy of
credit.

© OCR 2024. You may photocopy this Page 6 of 18 Created in ExamBuilder


page.
Examiner’s Comment:
Abstraction was well understood by the
majority of candidates. Candidates needed
to be able to give relevant examples in
context and to be able to evaluate the
advantages that abstraction gave to
achieve marks in the top band. The level of
clarity and analysis required for the top
band was only seen in the strongest
candidates' responses.

Total 20

1
2 Examiner’s Comments
i Removing characteristics/elements/detail from a problem AO1.1
9
(1)
The term abstraction was well understood
and clearly defined by most candidates.

1 mark per bullet to max 2


2
AO1.2
• Reduce processing requirements Examiner’s Comments
ii (1)
• Simplify programming
AO2.1
• Reduce memory requirements A number of candidates did not read the
(1)
question clearly and responded by giving
examples of abstraction rather than
reasons for abstraction being used.

1 mark per identifying difference, 1 for expansion


e.g.

• Removal of feature
2
• e.g. no stations/signals
AO2.1
ii
(1)
i • Symbols/keys are used to represent elements
AO2.2 Examiner’s Comments
• E.g. the train
(1)
Many candidates could offer contextualised
• May not be to scale
examples of differences between the real
• Relative distances may not be true
and the abstracted version of the system.

Total 5

Recognition

• Identify there is a problem to be solved / what the problem is


2
3
a i AO1.1 Examiner’s Comments
0 Decomposition
(2)
Candidates found it easier to define
• Splitting down a problem into sub-problems
decomposition than recognition. There
were many circular definitions of the form

© OCR 2024. You may photocopy this Page 7 of 18 Created in ExamBuilder


page.
problem recognition means recognising the
problem that were not creditworthy.

Accept other credible answers e.g.:


Critical thinking, Modelling, Heuristics,
Concurrency, Visualisation, Backtracking
e.g.
1 Examiner’s Comments
ii • Divide and conquer AO1.1
• Abstraction (1) The most common answer that candidates
gave was abstraction, but a wide range of
valid responses that included the named
computational methods in the specification
were seen.

1
b i Simulate/test the behaviour of the system before it is used AO1.1
(1)

Examiner’s Comments
e.g.

1 Many candidates had clearly not come


• Testing it with a large number of simultaneous orders
ii AO2.2 across the term ‘performance modelling’
(stress testing)
(1) which is in the specification, and they
• Testing it with a large number of customers/items/orders
struggled to relate it to the context given.
However, some very good responses were
given, that included the use of Big O
notation analysis and mathematical
modelling to determine algorithmic
performance.

1 mark per bullet to max 2 e.g.


2
• the components can be used in a future program… AO1.1
Examiner’s Comments
c • they do not need to be rewritten / saves time (1)
• they have already been tested… AO2.1
Whilst many candidates could identify that
• …it will save time (1)
reusable components would save time in
future projects, fewer could identify specific
reasons why this would be the case.

Total 7

Examiner’s Comments

3
a i Abstraction 1AO1.1 The concept of abstraction was widely
1
understood and the vast majority of
candidates answered correctly.

Need to allow FT from (a)(i) e.g. if


ii e.g. 1AO1.2
decomposition is given as answer

© OCR 2024. You may photocopy this Page 8 of 18 Created in ExamBuilder


page.
• Reduces the amount of memory / processing required Examiner’s Comments
• Reduces complexity
• Reality contains things that aren’t relevant to a computer Many candidates answered the question
program successfully. Where candidates were not
• Reduces design / programming effort successful, they had often not read the
question clearly. The most common
erroneous responses either given a
definition of abstraction instead of
identifying why it was necessary or had
explained why it would be easier to use
the software produced rather than why it
would have been easier to produce the
software in the first place.

Need to allow FT from (a)(i) e.g. if


decomposition is given as answer

Examiner’s Comments

Many candidates found it difficult to apply


1 mark per bullet to max 4 their knowledge of abstraction to the
e.g. question context and gave responses that
were not directly related to modelling a
• Remove details of the furniture 4AO2.1 room with furniture in.
ii • E.g. design elements (2)
i • Remove details of the room AO2.2
• E.g. light switches (2) AfL
• Replace objects with shapes/identifiers
• E.g. set room shape as a rectangle
Candidates should to be encouraged to
read the stem of the question to consider
how they could apply their knowledge to
the context of the scenario set. Candidates
need to practice applying computational
thinking methods to a wide variety of
problem types.

Allow width / length / height as separate


mark points

1 mark per bullet to max 2


Allow position of windows / door as
e.g.
separate mark points
2 AO2.1
• Room size (width / length / height) (1)
b i Examiner’s Comments
• Room shape AO2.2
• Position of items in room (windows / door) (1)
Candidates generally answered the
• Furniture items required
question successfully. A small number of
candidates identified input devices rather
than inputs into the software that would be
required for the model to run.

Do not allow angles / perspective of room


1 mark per bullet to max 2 2 AO2.1
ii as well as image of room
e.g. (1)

© OCR 2024. You may photocopy this Page 9 of 18 Created in ExamBuilder


page.
AO2.2 Examiner’s Comments
• 3D image of the room (1)
• Image of the furniture items Candidates generally answered the
• Furniture to choose from / menu of library items question successfully. A small number of
• Error messages candidates identified output devices rather
than outputs that the program would
produce.

Total 10

Examiner’s Comments

3 1 AO2.1 Many candidates confused the else clause


a i 08
2 (1) of the first if statement on line 04 with the
second decision that was based on the
evaluation of a condition in line 08.

Examiner’s Comments
1 mark per bullet to max 3
Candidates often described the lines of
• Compare the size/number of elements in the two arrays code literally rather than demonstrating a
data and nextData 3 AO2.1 real understanding of the underlying
• To set the number of times the loop will run / set the value of (1) purpose of the code. Stronger candidates
ii
loopCount AO2.2 demonstrated that they understood that the
• … as many times as the array with the fewest items (2) data and nextData were arrays whose size
• Otherwise it will attempt to add an empty value was being compared to ascertain which
• … which could cause a logic error was the smaller sized array. Weaker
candidates did not explain the underlying
context that was required.

Examiner’s Comments

Many candidates correctly identified the


identifiers of the parameters as data and
nextData but a significant number gave the
incorrect responses data[] and
nextData[].

2AO2.1
b i data, nextData
(2)
AfL

Candidates need to know how valid


identifier names are constructed.
Candidates should know that identifier
names cannot include spaces or brackets
() [].

Examiner’s Comments

1AO1.2 Passing parameters by value and passing


ii The actual data stored in the array will be changed
(1) by reference continue to cause confusion
among many candidates. Those
candidates that knew the difference

© OCR 2024. You may photocopy this Page 10 of 18 Created in ExamBuilder


page.
sometimes gave definitions rather than
identifying the actual effect.

Total 7

1 mark per bullet up to a maximum of 3 marks, e.g:

3
• Classroom displays have been removed
3 Allow other suitable responses that are
i • People have been removed / simplified with symbols
3 A02.1 applied to the scenario in the question.
• Wall/carpet colours/details have been removed
(3)
• Diagram is not to scale.

1 mark per bullet up to a maximum of 2 marks for each benefit (4


marks maximum in total), e.g:
4
• Reduced development time (1) as factors that can detract
from the program can be ignored (1) A01.2
ii • Program more likely to solve the problem (1) as (2)
unnecessary aspects will not detract from the main purpose
of the program (1) A02.1
• Reduces complexity of programming code (1) therefore can (2)
run on lower spec computers(1)

Total 7

1
3 • 30
a
4 A03.2
(1)

1
• 10
b
A03.2
(1)

1
• 10
c
A03.2
(1)

Total 3

Example Solution:

1 mark per bullet up to a maximum of 5 marks, e.g.:


procedure competitionWinner()
telNum = input("Enter Telephone
• Suitable logic for inputting the telephone number
5 Number")
• Suitable logic for ensuring the telephone number starts with
AO3.1 if telNum[0] == "0" then
3 a0
(2) length = checkLength(telNum)
5 • Suitable logic for passing the telephone number into the
AO3.2 if length == true then
function checkLength
(3) myfile = openWrite("winner.txt")
• If true, suitable logic for opening and closing winner.txt
myfile.writeLine(telNum)
• …suitable logic for writing the telephone number to
myfile.close()
winner.txt
else
print ("Not Long Enough")

© OCR 2024. You may photocopy this Page 11 of 18 Created in ExamBuilder


page.
• Suitable logic for printing “Needs To Start With 0” and "Not endif
Long Enough" else
print (“Needs To Start With
0”)
endif
endprocedure()

Total 5

Example answer

• Stores current player


• …and alternates between player on each go
• Allows a number to be input
• …and validates that this is between 1 and 3 8
3
• Outputs numbers chosen (e.g. 4, 5, 6)
6
• Checks if number 15 has been reached AO3.2
• …and displays winning message
• …and stops

Total 8

1 mark pet bullet to max 3

• Descending order
3
• Line 07 (dataArray[tempos]<temp) has the
AO1.2
3 comparison…
(1)
7 • …that checks if current position is less than item to insert
AO2.2
and…
(2)
• …breaks out of loop when current position is less than or
equal to item to insert

Total 3

1 mark per bullet up to a maximum of 2 marks, e.g: Examiner’s Comments


This was generally answered well although
• Float/real/double/single/decimal/currency… some candidates picked Integer for the
2
3 • …because the values in the text file contain a decimal data type which would not be accurate
(AO3.3)
8 space… given that averages are likely to be a
(2)
• …representing monetary values… decimal value. There are a range of data
• ….the values will be used in calculations types that support decimal values, any of
which would be acceptable as an answer.

Total 2

function countCapitals(text) Accept alternative answers in high-level


/ initialise counter to 0 languages (e.g. capCount ++ or
3
i capCount = 0 3 capCount +=1 / && for and for BP1)
9
/ loop through each character in
the string passed in Accept countCapitals = capCount

© OCR 2024. You may photocopy this Page 12 of 18 Created in ExamBuilder


page.
for x = 0 to text.length-1 for BP3 (Returning via assigning to
c = text.subString(x, 1) function identifier is used in VB / Pascal)
/ check if character is a capital
if asc(c) >= 65 and asc(c) <= 90 Accept and asc(c) < 91 instead of <=90
/ if so, increment counter
capCount = capCount + 1 Allow FT for returning the value they
endif increment as a counter if it isn’t capCount
next x
return capCount
endfunction

• Both (use binary) to represent characters / are character


sets
ii 1
• The first 7/8 bits of Unicode is the same as ASCII (overlaps)

Only mark the 1st answer for each


difference
• ASCII has fewer characters (128/256) / Unicode has more
characters
For BP2&3, must have both sides to get
• ASCII is 7/8 bits whereas Unicode can be larger 16/32 / can
the mark
ii have variable sized characters
2
i • ASCII limited to Latin / English / European characters
Examiner’s Comments
whereas Unicode can represent other symbols (e.g.
Candidates should be encouraged to give
Chinese/Cyrillic/Emojis)
a complete answer. Just saying ‘Unicode
uses more bits than ASCII’ is not enough
to be given a mark at this level.

Total 6

Examiner’s Comments

Many candidates gained a mark by


initialising the identifier cards, but fewer
1 mark per bullet
gained the second mark for correctly
4 setting it to be a two-dimensional structure.
• identifier cards… 2
0 Many obscure forms of syntax were
• …with 2 dimensions
observed, but marks was given if it was
clear that the structure was two-
dimensional, however, for many
responses, it was clear that a one-
dimensional list had been initialised.

Total 2

- American Standard Code for Information Interchange


- A character set
4 2
- Maps values to characters
1 (AO1.1)
- Uses 7-bits/ 8-bits per character

(1 Mark per -, Max 2)

Total 2

© OCR 2024. You may photocopy this Page 13 of 18 Created in ExamBuilder


page.
Examiner’s Comments
1 mark per bullet to max 4
Many candidates had some knowledge of
• Function declaration with parameter passed what was required, but fewer could write
• Opening a file to read recognisable pseudocode with precision.
• Reading the data from a file Opening and reading from files required a
• Closing the file and then returning the string variable for the file to be initialised, but
4 4AO3.2
many candidates executed a file open
2 (4)
function getText(filename) statement without assigning the file to an
file = openRead(filename) identifier that could then later be used.
dataString = file.readLine() Only the strongest candidates
file.close() subsequently closed the file before
return dataString returning the input that had been read – a
endfunction number of candidates erroneously returned
the value before the file had been closed.

Total 4

E.g.
function longest(sequence)
currentRun = 0
biggestRun = 0
for i = 0 To sequence.length - 1
if sequence.substring(i, 1) = = "C"
then
currentRun = currentRun + 1
else
if currentRun > biggestRun then
biggestRun = currentRun
end if
currentRun = 0
endif

Correct function name and parameter AND the function returns next i
– return biggestRun
a value.
– Use of a loop to correctly iterate through the sequence endfunction
5
4 – Adds one to a running total when a C is encountered
3 when character changes from a C if running total is > Examiner’s Comments

maximum, overwrites maximum… AO3.2
– …correctly reset running total
It was pleasing to see more candidates
than in previous series offering a response
1 mark per -, max 5
to this type of question. Many candidates
scored well. There were two common
errors. Firstly, some candidates correctly
declared a function as required but then
did not return a value from that function,
this is a fundamental knowledge
requirement at this level of study.
Secondly, some candidates wrote fully
functioning code to return the longest
sequence of any character rather than the
longest sequence of Cs. Hence, not
addressing the question. Candidates
should be reminded to read the question
carefully, particularly where questions

© OCR 2024. You may photocopy this Page 14 of 18 Created in ExamBuilder


page.
require them to write code / algorithms.
See exemplar 1 which scored full marks.

Exemplar 1

Total 5

Mark Band 3 – High level (7-9 marks) AO1: Knowledge and Understanding
The candidate demonstrates a thorough knowledge and Indicative contente.g.
understanding of IDEs; the material is generally accurate and
detailed. • IDE is software that includes an
The candidate is able to apply their knowledge and understanding editor, compiler, run-time
directly and consistently to the context provided. environment
Evidence/examples will be explicitly relevant to the explanation.
The candidate is able to weigh up the use of IDEs which results in a Creating
supported and realistic judgment as to whether it is possible to use
them in this context. • Autocorrect
There is a well-developed line of reasoning which is clear and • Autocomplete
logically structured. The information presented is relevant and • Pretty printing
substantiated.
Testing
Mark Band 2 – Mid level (4-6 marks)
9AO1.1
The candidate demonstrates reasonable knowledge and • Breakpoints
(2)AO1.
understanding of IDEs; the material is generally accurate but at times • Stepping
2
4 underdeveloped. • Variable watch window
(2)AO2.
4 The candidate is able to apply their knowledge and understanding
1
directly to the context provided although one or two opportunities are AO2: Application
(2)AO3.
missed. Evidence/examples are for the most part implicitly relevant e.g.
3 (3)
to the explanation.
The candidate makes a reasonable attempt to come to a conclusion • Tell you when you make a syntax
showing some recognition of influencing factors that would determine error
whether it is possible to use IDEs in this context. • Allows you to write and run the
There is a line of reasoning presented with some structure. The code in one piece of software
information presented is in the most part relevant and supported by • Suggests code so you don’t have
some evidence to remember code, or autocorrect
spelling mistakes
Mark Band 1 – Low Level (1-3 marks) • Helps you trace the program so
The candidate demonstrates a basic knowledge of IDEs with limited you can see what happens when
understanding shown; the material is basic and contains some values change without having to
inaccuracies. The candidates makes a limited attempt to apply manually insert print statements
acquired knowledge and understanding to the context provided. etc.
The candidate provides nothing more than an unsupported assertion. • Autogenerate boilerplate code.
The information is basic and comunicated in an unstructured way.

© OCR 2024. You may photocopy this Page 15 of 18 Created in ExamBuilder


page.
The information is supported by limited evidence and the relationship AO3: Evaluation
to the evidence may not be clear. Candidates will need to evaluate the
benefits and drawbacks of using IDEs.
0 marks e.g.
No attempt to answer the question or response is not worthy of
credit. • Reduce errors through autocorrect
and suggestions
• Reduce time to write the program
because features help you spot
errors before running the code,
some errors will be corrected so
you don’t have to
• Write and test in one environment
so you don’t have to close and
run elsewhere, then re-open etc.


Total 9

Q ≡ A ∧ B ∧ (C ∨ D)

Q≡A∧B Accept alternative symbols for AND / OR


4
∧ 3 AO1.2 e.g. Q = A AND B AND (C OR D)
5
(C ∨ D) Brackets must be included for 3rd point
Allow XOR for bullet point 3
Any additional symbols max 2 marks

Total 3

Some points (for example 5 & 6) can be


combined onto one line.

Example Solution:
procedure salesAnalysis():
dayCount = 0
1 mark per bullet up to a maximum of 7 marks:
salesTotal = 0
dailySales =
• Suitable logic for initialising variables outside of loop
openRead("Sales.txt")
• Suitable logic for opening and closing Sales.txt
while NOT
• Suitable use of a loop which ends when the last line has
7 dailySales.endOfFile()
been reached in Sales.txt
(AO3.1) dailySaleFigure =
4 • Suitable logic for reading each line of data from file variable
(3) float
6 • Suitable logic for increasing total (and count) including
(AO3.2) (percentageFile.readLine())
conversion from string to numeric data type
(4) salesTotal + =
• Suitable logic for calculating averages by dividing total by
dailySaleFigure
count
dayCount + = 1
• Suitable logic for printing the number of days, the total sales
endwhile
and the daily average
dailyAverage = salesTotal
/dayCount
print(“Over ” + dayCount
+ “ days there was a total
sales of £” _+ salesTotal + “
and an average daily sale of £”
+ dailyAverage)

© OCR 2024. You may photocopy this Page 16 of 18 Created in ExamBuilder


page.
dailySales.close()
endprocedure

There are many different ways that this


procedure could have been achieved.
Therefore other alternative methods
should be given credit.

Examiner’s Comments
Most candidates achieved a few marks,
but few achieved the maximum marks
available. The question states that
pseudocode or program code could be
used so a variety of answers were given.

The OCR pseudocode guide gives


guidance on how to write pseudocode
including data structures, constructs, and
reading/writing to file. Some candidates
wrote neither pseudocode or program
code and therefore were given no marks.

Many candidates remembered to open the


sales file, but many forgot to close the file.
Initialising the variables before the loop
was also missed by a number of
candidates.

Increasing the total was included in many


responses, although many forgot to cast
the total to a numeric data type to enable
this to work correctly.

Many candidates achieved the last 2


marks for calculating the average and then
displaying the calculated values. Some
missed the final output as the text was
incorrectly concatenated with the variable
values.

Exemplar 3

© OCR 2024. You may photocopy this Page 17 of 18 Created in ExamBuilder


page.
Exemplar 3 was given full marks. The
candidate has gained the first mark for
initialising the variables “numofdays” and
“total”. The second mark has been
awarded for the first line, which opens the
sales file and closing the file after the loop
has finished. The while loop gains the third
mark which repeats until the end of the file
is reached. The fourth mark is awarded for
reading each line of the file correctly. The
fifth mark correctly increases total in each
iteration. Sale has been correctly
converted to a “float” data type beforehand
to make this possible. The sixth mark is
awarded for calculating the average on the
penultimate line. The final mark is awarded
for printing the number of days, total sales
and the daily average. This has been
concatenated correctly with a plus symbol.
Some candidates used the comma which
was also acceptable.

The syntax provided in this example


relates to Python whereas some
candidates wrote pseudocode or another
high-level language. Some candidates lost
marks for writing the steps in everyday
English which is not what the question
stipulated.

Total 7

© OCR 2024. You may photocopy this Page 18 of 18 Created in ExamBuilder


page.

You might also like