Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 693 exam-style questions, each with its mark scheme and example answers. Print it, or answer it on paper and then open the mark schemes. Or browse the questions by topic.

Build a paper

Topics (none ticked: all of them)
Question types (none ticked: all of them)

Practice paper

4 questions · 6 marks

Pick again
Print
1Short recall1 markTranslators Swap Remove

A compiler translates programs written in a high-level language.

State how much of a program a compiler translates before the program is run.

[1 mark]
Mark scheme

Award one mark for:

  • The whole program (before it is run) (1)

Allow all of the code/the entire program/the whole program in one go

Do not accept one line/statement at a time or each line as it is executed

Do not accept translating only the lines that contain errors

Example answers and how they were marked
Full marks1/1

The whole program, before it is run.

Why: Whole program translated before it is run (1).

No marks0/1

It translates the program one line at a time.

Why: Describes an interpreter; the scheme does not accept line-by-line translation.

No marks0/1

It translates only the lines that contain errors.

Why: Not a compiler behaviour; the scheme does not accept translating only error lines.

2Short recall1 markLow and High Level Languages Swap Remove

A high-level language uses statements that look like English or maths.

State what a single statement in a high-level language is usually translated into.

[1 mark]
Mark scheme

Award one mark for:

  • Several/multiple machine code instructions (1)

The answer must refer to instructions.

Do not accept machine code on its own.

Do not accept binary on its own.

Do not accept 'one or more machine code instructions' as it does not show that one statement becomes several instructions.

Do not accept assembly code/compiled code/low-level code on their own.

Do not accept 'a line of code'/'a statement' as this repeats the question.

Example answers and how they were marked
Full marks1/1

Several machine code instructions

Why: Matches the creditworthy point that one high-level statement translates into several machine code instructions (1).

No marks0/1

Machine code

Why: Near-miss: gives the type of code but not that one statement becomes several instructions; mark scheme does not accept machine code on its own.

No marks0/1

Binary

Why: Misconception: high-level statements are translated into machine code instructions, not just binary; not accepted.

3Describe2 marksTranslators Swap Remove

Source code can contain syntax errors.

Describe how a compiler and an interpreter differ in the way they deal with syntax errors.

[2 marks]
Mark scheme

Award up to two marks for a linked description such as:

  • The compiler reports all syntax errors after translation has finished (1) whereas the interpreter stops at the first error it finds (1)
  • The interpreter reports a syntax error as soon as it finds one (1) and does not translate/execute any more of the program (1)
  • The compiler continues translating after an error (1) and reports the errors at the end (1)
  • The interpreter stops translating when it reaches an error (1) but the compiler finishes translating before reporting errors (1)

Do not accept answers about fixing/correcting errors or about object code.

Do not award 'the compiler finds more errors' without saying errors are reported at the end.

Example answers and how they were marked
Full marks2/2

A compiler reports all the syntax errors at the end of translation, whereas an interpreter stops and reports the error as soon as it finds one.

Why: Compiler reports errors at the end (1) and interpreter stops/reports at the first error (1).

Some marks1/2

An interpreter stops translating when it finds a syntax error.

Why: Interpreter stops at the first error (1); no comparison with when the compiler reports errors.

No marks0/2

A compiler reports a syntax error immediately, before translating the rest of the program.

Why: Reverses the compiler's behaviour; it finishes translating before reporting errors.

4Explain2 marksLow and High Level Languages Swap Remove

A program written in a high-level language can be run on computers that have different processors.

Explain one reason why this is possible.

[2 marks]
Mark scheme

Award up to two marks for a linked explanation such as:

  • The same source code can be used on different processors (1) because a compiler/interpreter for each processor translates it into that processor's machine code/instructions (1)
  • The program is machine/processor independent (1) because the code is translated into the machine code/instructions of each processor it is run on (1)
  • A different compiler/interpreter is used for each type of processor (1) so the same source code can be translated into each processor's machine code/instructions (1)
  • The program can be moved/copied to a computer with a different processor (1) because a compiler/interpreter that produces code for that processor exists (1)

For both marks, the expansion must follow/associate with the statement.

Do not accept 'it is portable' without a linked reason about translation for different processors.

Do not accept 'it is easier to use/read/write' on its own without a linked reason about translation/processors.

Do not accept 'it is not written in binary'/'it is not machine code'/'it is not written in assembly language' as the reason without saying that the code is translated into each processor's machine code/instructions.

Do not accept the misconception that the program runs directly on any processor without being translated.

Example answers and how they were marked
Full marks2/2

The same source code can be used on different processors because a compiler for each type of processor translates it into that processor's machine code.

Why: Linked point (1) that the same source code is used and reason (1) that a compiler translates it into each processor's machine code.

Some marks1/2

It is machine independent because it is not written in binary.

Why: Point (1) that the program is machine independent, but the reason given does not say that the code is translated for each processor's machine code/instructions.

No marks0/2

Because it is easier to use than machine code.

Why: No point about translation or different processors; 'easier to use' is not accepted without a linked reason about translation/processors.

Questions by topic

More ways to revise Edexcel GCSE Computer Science (1CP2)

Teachers: build a paper, print it with the mark schemes at the end, and sign your school up to set your classes activities on every topic.

Fetch Decode Explain isn't affiliated with or endorsed by Pearson Edexcel.