Menu

Edexcel GCSE Computer Science (1CP2) Exam Questions

Build a practice paper from 631 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

3 questions · 5 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.

2Explain2 marksTranslators Swap Remove

An interpreter translates and executes high-level code.

Explain why an interpreted program must be translated again each time it is run.

[2 marks]
Mark scheme

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

  • No object code/machine code file is stored/saved (1) so there is no translated program to run on the next occasion (1)
  • The translation is only temporary/is lost when the program ends (1) because each line is translated as the program runs (1)
  • No executable file is created/saved (1) so the whole program has to be translated again every time it is run (1)
  • The interpreter translates each line while the program is running (1) so nothing is kept that could be run without the interpreter (1)

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

Do not accept 'it is interpreted' or 'it is not compiled' without saying that no object code/executable is stored/saved.

Do not accept 'the source code is high-level so it must be translated' or 'the source code has to be turned into machine code' on its own, as this is true of any translation.

Do not accept answers about the source code being deleted.

Example answers and how they were marked
Full marks2/2

The interpreter does not store an object code file, so there is no machine code file to run on the next occasion.

Why: No object code stored (1) linked to no translated program for the next run (1).

Some marks1/2

No object code is saved.

Why: Point that nothing is stored (1) but no linked reason saying why this means the program must be translated again.

No marks0/2

It has to be translated again because the interpreter deletes the source code after each run.

Why: Incorrect: the interpreter does not delete the source code; no mark scheme point.

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.

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.