20.06.2015 Views

AQA GCE Mark Scheme June 2005

AQA GCE Mark Scheme June 2005

AQA GCE Mark Scheme June 2005

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Version 1.0: 0605<br />

abc<br />

General Certificate of Education<br />

Computing 5511/6511<br />

CPT4 Processing and Programming Techniques<br />

<strong>Mark</strong> <strong>Scheme</strong><br />

<strong>2005</strong> examination - <strong>June</strong> series<br />

<strong>Mark</strong> schemes are prepared by the Principal Examiner and considered, together with the relevant<br />

questions, by a panel of subject teachers. This mark scheme includes any amendments made at<br />

the standardisation meeting attended by all examiners and is the scheme which was used by them<br />

in this examination. The standardisation meeting ensures that the mark scheme covers the<br />

candidates’ responses to questions and that every examiner understands and applies it in the<br />

same correct way. As preparation for the standardisation meeting each examiner analyses a<br />

number of candidates’ scripts: alternative answers not already covered by the mark scheme are<br />

discussed at the meeting and legislated for. If, after this meeting, examiners encounter unusual<br />

answers which have not been discussed at the meeting they are required to refer these to the<br />

Principal Examiner.<br />

It must be stressed that a mark scheme is a working document, in many cases further developed<br />

and expanded on the basis of candidates’ reactions to a particular paper. Assumptions about<br />

future mark schemes on the basis of one year’s document should be avoided; whilst the guiding<br />

principles of assessment remain constant, details will change, depending on the content of a<br />

particular examination paper.<br />

Copyright © <strong>2005</strong> <strong>AQA</strong> and its licensors. All rights reserved.


Instructions to examiners<br />

The following forms of notation should be used on candidates’ scripts:<br />

• Ticks - To indicate what is accepted as correct or creditworthy, placed in the body of the<br />

answer, and on diagrams;<br />

• Underscoring – To identify errors/irrelevance in written answers;<br />

• Crosses – to indicate a wrong answer;<br />

• Brief comments – placed in at suitable points in the body of the text to amplify the<br />

marking;<br />

• BOD – means benefit of the doubt and is used where the candidate’s answer has been<br />

given a mark on the balance of probabilities that the candidate’s answer has met the<br />

requirements of the mark scheme even though it could be interpreted differently;<br />

• NE – means not enough and is applied to an answer that falls short of what is required;<br />

• O/S – means outside the mark scheme. The candidate’s answer is creditworthy but the<br />

answer does not match any of the answers on the mark scheme for the particular question.<br />

Nevertheless a mark is awarded;<br />

• C/F – means carried forward. This arises when a candidate offers an answer which is not<br />

creditworthy in one question but is creditworthy in a later question. The mark is carried<br />

forward to the question which is creditworthy;<br />

• C/B – means carried back. This is similar to a carry forward but the mark is carried back<br />

to an earlier question.<br />

• T/O – means talked out. If the candidate provided extra information which contradicts the<br />

correct answer or leaves it open to interpretation which is correct.<br />

• ^ means missing term or symbol.<br />

• F/T – means followed through. If a candidate made a mistake in an earlier part of the<br />

answer.<br />

• P1 – penalise once.<br />

• I - ignore<br />

The following notation is used in the mark scheme<br />

• ; - means a single mark;<br />

• A. - means an acceptable creditworthy answer;<br />

• R. – means reject answer as not creditworthy.<br />

2


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

1 Compare Pascal with middle item of list / Lisp;<br />

Compare Pascal with middle item of upper sublist / Prolog;<br />

Compare Pascal with Pascal // compare only item in this sublist to get a match; 3<br />

Lose 1 mark if Pascal not explicit in comparison<br />

stop marking from time it goes wrong<br />

OR<br />

List[4] = Pascal? False;<br />

A [4] = Pascal R 4 = Pascal<br />

List[6] = Pascal? False;<br />

List[5] = Pascal? True; 3<br />

if formula explicit, follow through on formula<br />

3


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

2 (a) 140 1 / 4 ;; one mark for correct integer part,<br />

140.25;; one mark for correct fractional part 2<br />

(b) (i) -14.5;;; give 2 marks for 14.5<br />

partial marks for workings if result incorrect:<br />

1 mark for negative number;<br />

1 mark for x2 4 (accept 16 instead of 2 4) ;<br />

A showing that binary point moves 4 places right; 3<br />

(ii)<br />

leftmost 2 digits/bits are different;<br />

a significant bit is stored after the binary point;<br />

bit after point different from bit before point;<br />

(negative number) starts with 10… (positive number starts with 01)….;<br />

A the first bit after the sign bit is a ‘0’;<br />

A The second bit is a ‘0’;<br />

A an answer that clearly implies a ‘0’ follows the ‘1’ max 1<br />

(iii) to maximise accuracy/precision for a given number of bits<br />

// to minimise rounding errors;<br />

A more accurate/precise for a given number of bits;<br />

a given number can only be expressed in one way in a given number of bits<br />

// a given number can only be expressed in one way in a given format;<br />

to simplify arithmetic/logical operations; 1 7<br />

I range<br />

4


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

3 (a) 1101 0001 0101 1010;; 1 mark for each correct byte 2<br />

I leading bits<br />

(b) 16; 1 3<br />

4 (a) a signal/command/message; R request<br />

from a device/source seeking the attention of the processor;<br />

or from a device/source to the processor; 2<br />

(b)<br />

finish the current fetch-execute cycle // finish execution of current instruction;<br />

identify interrupt // type of interrupt is found // identify priority of interrupt;<br />

disable lower priority interrupts;<br />

save (contents of) registers // save volatile environment // save current status of machine;<br />

source of interrupt provides vector address / offset;<br />

offset added to base address;<br />

Entry point equivalent to<br />

Start address<br />

to give start of ISR // vector address is used as start address of interrupt service routine;<br />

jump to interrupt service routine<br />

// PC/IR loaded with this address // interrupt serviced;<br />

restore (contents of) registers // restore volatile environment;<br />

enable interrupts; max 5 7<br />

R goes back to where it left off<br />

steps must be in a sensible order. I any steps out of order.<br />

5


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

5 Penalise once if wrong case used<br />

(a) female(helen)./female("Helen").; 1<br />

(b) mother(M,X) IF female(M) AND parent (M,X) must use M and X<br />

// mother(M,X) IF parent(M,X) AND NOT male(M); 1<br />

(c) (i) sibling (S,X) IF mother(M,S) AND mother(M,X);<br />

AND father(F,S) AND father (F,X);<br />

OR<br />

sibling (S,X) IF parent(Z,S) AND parent(Z,X)<br />

AND parent(M,S) AND parent(M,X);<br />

AND ZM // AND Z NOT M // AND Z≠M // AND NOT Z=M<br />

A NotEqual (Z,M) 2<br />

(ii) AND SX; A S NOT X A S≠X A NOT S=X 1<br />

(d)<br />

grandfather(G,P) IF father(G,X) AND parent(X,P).<br />

1 1 1<br />

Must use P to<br />

represent the<br />

child<br />

OR<br />

grandparent(G,P) IF parent(G,X) AND parent(X,P).<br />

1 1<br />

grandfather(G,P) IF male(G); AND grandparent(G,P).<br />

1<br />

OR grandfather(G,P) IF male(G) AND parent(G,X) AND parent(X,P) 3 8<br />

1<br />

1<br />

1<br />

6


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

6 (a) need to access/address machine registers / exact memory addresses / hardware directly;<br />

fast speed of operation required<br />

// assembler code runs faster than programs written in HLL;<br />

code needs to take up little memory<br />

// assembler code gives smaller object code programs;<br />

A minimise the size of the program/code;<br />

no compiler/interpreter exists yet for machine // no other translator exists;<br />

R manipulate bits max 2<br />

7


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

(b)<br />

A pseudocode statement gets no mark. Order of statements is important.<br />

P1 for using wrong columns<br />

Immediate addressing must be used for constants but could be indicated by annotation e.g. load register<br />

with 0. Indicate any omissions<br />

If subtract is used in place of CMP check value of x is not destroyed.<br />

Accept numbers as symbolic addresses. Accept relative addressing for jumps.<br />

No marks for jumps not altering flow of control.<br />

Start: STORE #0,Count / store zero; in Count;<br />

label1: LOAD register, X / label; load X ;<br />

ADD register, X<br />

/ add X to register ; A ASL register;<br />

STORE register, X / save X ;<br />

Or<br />

Add X, X;;;<br />

2 marks if no<br />

comment that<br />

says where<br />

result is stored<br />

INC Count or ADD Count,#1<br />

/ increment Count; A equivalent using registers<br />

CMP register, # 999 / compare ;<br />

BCS label1<br />

/ conditional branch to correct label;<br />

if [AC]


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

Alternative:<br />

Start:<br />

MOVE #0,Count / store zero; in Count;<br />

label1: MOVE X, register / label; load X ;<br />

ADD register, X<br />

/ add X to register ; A ASL register;<br />

Move register, X / save X ;<br />

INC Count or ADD Count,#1<br />

/ increment Count; A equivalent using registers<br />

CMP register, # 999 / compare ;<br />

BCS label1 / conditional branch; if [AC]


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

7 (a) a class has properties/fields/attributes/characteristics and methods/procedures/functions<br />

of the parent class it is derived from<br />

// a subclass/derived class inherits all the properties/fields/attributes/characteristics and<br />

methods/procedures/functions from a super-class/base-class/parent class; 1<br />

(b) StockItem (=) Class // Class (=) StockItem; 1 mark for keywords Class and StockItem<br />

(A Object instead of Class)<br />

1<br />

Public (procedure DisplayDetails) (virtual)(virtual;abstract)<br />

1 mark for keyword Public<br />

(procedure) SetLoan (virtual)(virtual;abstract) and correct methods<br />

Private;<br />

Title: String<br />

OnLoan: Boolean<br />

DateAcquired: String/DateTime/Date<br />

End<br />

1<br />

A protected<br />

A text instead of string<br />

1 mark for correct data fields<br />

& data types<br />

don't allow the other fields<br />

Book = Class (StockItem) // Class Book extends/derives from StockItem<br />

// Book Subclass: StockItem; A without keyword Class<br />

Private<br />

Author: String<br />

ISBN: String<br />

Public<br />

1<br />

If candidate declared<br />

‘getters’ and ‘setters’ for<br />

the base class fields then<br />

don’t have to have<br />

DisplayDetails as a base<br />

class method<br />

End<br />

(Procedure) DisplayDetails<br />

(override)<br />

1<br />

CD = Class (StockItem) // Class CD extends/derives from StockItem // CD Subclass: StockItem;<br />

End<br />

Private<br />

Artist: String<br />

PlayingTime: Integer/Real/Time/DateTime<br />

Public<br />

(Procedure) DisplayDetails (override)<br />

1<br />

No marks for a diagrammatic answer. I method parameters max 7<br />

10


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

Java version:<br />

Public Class StockItem<br />

{<br />

Private String title;<br />

Private boolean onLoan;<br />

Private String dateAquired;<br />

Public void displayDetails ();<br />

Public void setLoan ();<br />

}<br />

Public Class Book extends StockItem<br />

{<br />

Private string author;<br />

Private string isbn;<br />

Public void displayDetails ();<br />

}<br />

Public Class CD extends StockItem<br />

{<br />

Private string artist;<br />

Private integer playingTime;<br />

Public void displayDetails();<br />

}<br />

11


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

8 (a) it calls itself / is defined in terms of itself<br />

/ contains within its body a reference to itself; 1<br />

Ensure 'it' refers to procedure, if meaning program or object no mark<br />

(b)<br />

the current state of the machine is saved/preserved;<br />

so can return correctly (to previous invocation/call of Process);<br />

or<br />

return address / procedure parameter / status register / other register values<br />

/ local variables<br />

must be saved/preserved; so can return correctly to<br />

‘correctly’ can be implied<br />

(previous invocation of Process); 2<br />

(c)<br />

Printed Output:<br />

1; 3; 5, Bird; Bremner; 4, Fortune, Jones; 2, Smith; 6<br />

mark from left and stop marking when error encountered<br />

ignore punctuation.<br />

(d) (in-order) traversal of a tree; A printing of tree (elements in order) 1 10<br />

I wrong order<br />

12


<strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series – CPT4<br />

9 accept Immediate Access Store or IAS as an alternative to main memory<br />

(a) (i) hard disk / secondary memory; R backing store R hard drive 1<br />

(ii)<br />

(used when execution of a program/process)<br />

not enough main memory / RAM / physical memory;<br />

to run process(es) // load program(s) // allocate data area; A store<br />

R computer fooled into thinking more main memory max 2<br />

(iii) physical/main memory/RAM is conceptually divided into a number of<br />

(fixed size) page frames; A pages/segments;<br />

(virtual address space of) program/process is divided into a number of (fixed size) pages;<br />

page table indicates which pages of process are loaded (and where);<br />

A page table keeps track of pages;<br />

pages are swapped between disk/secondary memory and main memory as required<br />

// pages are swapped into, and out of, main memory as required; max2<br />

No marks for a point which references just data when it should reference a program<br />

backing store is not acceptable as a substitute for disk<br />

13


CPT4 – <strong>AQA</strong> <strong>GCE</strong> <strong>Mark</strong> <strong>Scheme</strong>, <strong>2005</strong> <strong>June</strong> series<br />

(b) (i) a thread is a line/path of execution within a process;<br />

a thread is the processing performed on a single set of data in the system;<br />

a thread is a process that shares most of its environment;<br />

a thread is a light-weight sub-process; max 1<br />

(ii)<br />

each thread has its own thread control block / TCB; A thread ID;<br />

it has its own program counter / stack pointer / register values / local variables max 1<br />

(iii) threads have access to the same memory so they can communicate easily;<br />

saves main memory / RAM;<br />

faster execution than separate processes // faster execution overall // faster start-up time;<br />

Allow carry forward/back between (i) and (ii) max 1 8<br />

R program instead of process<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!