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 · 7 marks

Pick again
Print
1Multiple choice1 markTranslators Swap Remove

Identify the type of translator that translates the whole program into machine code before it is run.

[1 mark]
  • AAssembler
  • BCompiler
  • CInterpreter
  • DLinker
Mark scheme
  • B Compiler (1)
  • The only correct answer is B. The correct answer is compiler.
  • A is not correct because an assembler translates assembly language code into machine code, not a high-level program
  • C is not correct because an interpreter translates and executes the code line by line, without producing a complete machine code program first
  • D is not correct because a linker combines object code files into a single executable, it does not translate source code
Example answers and how they were marked
Full marks1/1

B Compiler

Why: Selected the compiler, the translator that translates the whole program into machine code before it is run (1).

No marks0/1

C Interpreter

Why: Near miss: an interpreter translates and executes the code line by line, so it does not translate the whole program into machine code before it is run.

No marks0/1

A Assembler

Why: Confuses the translators: an assembler translates assembly language code into machine code, it does not translate a high-level program as a whole.

2Describe2 marksLow and High Level Languages Swap Remove

A program can be written in a high-level language such as Python.

Describe one characteristic of a high-level programming language.

[2 marks]
Mark scheme

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

  • Statements are written using words/phrases that look like English or maths (1) so the code is easier to read/understand/write (1)
  • One statement is translated into several machine code instructions (1) so programs are shorter to write than in a low-level language (1)
  • High-level languages provide built-in data structures such as arrays/lists/records (1) so a collection of data items can be stored and accessed under one name (1)

Do not accept responses that only give a benefit or drawback, such as 'it is easier to learn', with no characteristic.

Do not accept 'it is easier than a low-level language' without saying what the characteristic is.

Example answers and how they were marked
Full marks2/2

Statements are written using words that look like English or maths so the program is easier to read and understand.

Why: Characteristic of the statements (1) with a linked development (1).

Some marks1/2

It has built-in data structures such as arrays.

Why: A correct characteristic (1) but no development of what it allows the programmer to do.

No marks0/2

It is easier to learn than a low-level language.

Why: Gives only a benefit compared with a low-level language; no characteristic of the language itself, so no mark.

3Explain2 marksTranslators Swap Remove

An interpreter translates a program one line at a time.

Explain why an interpreted program stops when it reaches a line that contains a syntax error.

[2 marks]
Mark scheme

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

  • The interpreter translates and executes each line in turn (1) so it cannot continue past a line it cannot translate (1)
  • The interpreter finds the error when it reaches that line (1) so it stops and displays an error message before later lines are executed (1)
  • Each line is translated just before it is executed (1) so a syntax error in that line prevents that translation/execution from happening (1)
  • The interpreter does not translate the whole program first (1) so it only discovers the error when that line is reached during execution (1)

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

Do not accept 'the program crashes' without saying that the interpreter cannot translate/execute the line.

Do not accept answers about how a compiler reports errors.

Example answers and how they were marked
Full marks2/2

The interpreter translates each line just before it executes it, so when it reaches the line with the syntax error it cannot translate that line and stops.

Why: Line-by-line translation (1) linked to being unable to translate the faulty line, so stopping (1).

Some marks1/2

The interpreter translates one line at a time, so it stops at the error.

Why: Line-by-line translation (1); 'stops at the error' repeats the outcome and does not explain why it cannot continue.

No marks0/2

It stops because the compiler reports all errors at the end.

Why: Describes a compiler, not an interpreter; no credit.

4Explain2 marksTranslators Swap Remove

A programmer writes a program in a high-level language. The program is translated by a compiler.

Explain why a compiler must translate the whole program before any of it can be executed.

[2 marks]
Mark scheme

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

  • The compiler produces object code/machine code for the whole program (1) so there is no complete executable until every line has been translated (1)
  • The compiler translates all the source code before producing the object code (1) so the program cannot start until translation has finished (1)
  • The compiler checks the whole program for errors during translation (1) so all of the source code must be read before an executable can be produced (1)

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

Allow 'in one go'/'all at once' for the translation point, but this does not earn the second mark unless it is linked to why the program cannot be executed until translation has finished.

A statement that the whole program is translated, with no linked reason about when the program can be executed, earns 1 mark only.

Do not accept 'a compiler is faster' or 'compiled code runs faster' on its own; this does not explain why translation must finish before execution.

Do not accept 'it translates and runs the program one line at a time', as this describes an interpreter.

Example answers and how they were marked
Full marks2/2

A compiler produces object code for the whole program, so there is no complete executable until every line has been translated.

Why: Object code for the whole program (1) linked to there being no complete executable until every line is translated (1).

Some marks1/2

A compiler translates the whole program in one go.

Why: Translation of the whole program only (1); no linked reason about when the program can be executed, so the second mark is not awarded.

No marks0/2

A compiler translates and runs the program one line at a time, so it stops when it finds an error.

Why: Confuses a compiler with an interpreter; nothing about translating the whole program before execution, so no creditworthy point.

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.