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

4 questions · 7 marks

Pick again
Print
1Multiple choice1 markTranslators Swap Remove

A program contains a syntax error. An interpreter reports the error as soon as it finds it.

Identify when a compiler reports the syntax errors it finds in the source code.

[1 mark]
  • AAfter each line is translated
  • BAt the end of translating the program
  • CWhen the first error is found
  • DWhen the object code is run
Mark scheme
  • B At the end of translating the program (1)
  • The only correct answer is B. The correct answer is at the end of translating the program.
  • A is not correct because a compiler translates the whole program and does not report an error after each line; reporting after each line is how an interpreter behaves
  • C is not correct because a compiler does not stop at the first error; it finishes translating and reports the errors it finds at the end
  • D is not correct because syntax errors are found during translation, before the object code is run
Example answers and how they were marked
Full marks1/1

B At the end of translating the program

Why: Chosen option states that errors are reported once the whole program has been translated, as a compiler does (1).

No marks0/1

A After each line is translated

Why: Near miss: reporting an error after each line is the behaviour of an interpreter, not a compiler, so no mark.

No marks0/1

C When the first error is found

Why: Misconception that a compiler stops and reports at the first error it finds; a compiler reports the errors at the end of translation, so no mark.

2Short recall2 marksLow and High Level Languages Swap Remove

Programs can be written in high-level or low-level programming languages.

Define the term high-level programming language.

[2 marks]
Mark scheme

Award one mark for any of the following up to a maximum of two marks:

  • Uses statements/instructions that look like English/maths (1)
  • Does not depend on one type of processor / can be run on different types of computer with few or no changes (machine independent) (1)
  • A single statement is translated into several machine code instructions (1)
  • Provides data structures such as arrays and records (1)
  • Provides built-in/library subprograms (1)
  • Is translated by a compiler or an interpreter (1)

Allow portable/platform independent for machine independent.

Allow easier to read/write/understand/debug only when linked to the English-like statements, e.g. uses words that look like English so it is easier to understand.

Do not accept a high-level language / not a low-level language with no other detail.

Do not accept written in binary/machine code.

Do not accept faster to run / uses less memory, as these are characteristics of low-level languages.

Example answers and how they were marked
Full marks2/2

A language that uses statements that look like English (1) and a program written in it can be run on different types of computer without being rewritten (1).

Why: English-like statements (1) and machine independent/portable (1).

Some marks1/2

A language that provides data structures such as arrays and records.

Why: Creditworthy point: provides data structures (1). No second part of the definition given.

No marks0/2

A language that is written in binary so the computer can understand it.

Why: Misconception: binary is machine code, not a high-level language; the mark scheme's do-not-accept line covers this.

3Short recall2 marksLow and High Level Languages Swap Remove

Programs written in a high-level language are often machine independent.

Define the term machine independence.

[2 marks]
Mark scheme

Award one mark for any of the following up to a maximum of two marks:

  • The (same) program/source code can run on different types/makes of computer/processor (1)
  • With few/no changes (to the program code) (1)
  • The same source code can be translated for each type of processor (1)
  • A different compiler/interpreter is used for each type of processor (1)
  • The program does not depend on one specific type of processor/hardware (1)
  • Only one version of the program needs to be written/kept (1)
  • The program is portable between different computers (1)

Allow 'different computers' as meaning different types of computer/processor.

Do not accept a program that will only run on one type of computer / the computer it was written on.

Do not accept written in machine code/binary, is translated into machine code, compiled/interpreted, is a low-level language.

Example answers and how they were marked
Full marks2/2

The same program can run on different types of computer (1) without being changed (1).

Why: Two creditworthy parts: runs on different types/makes of computer/processor (1); with few/no changes (1).

Some marks1/2

A program can run on different computers.

Why: Creditworthy point: can run on different types/makes of computer/processor (1), with 'different computers' allowed by the guidance. No second part about changes or translation.

No marks0/2

A program is written in machine code so the computer can understand it.

Why: Misconception: machine code is not machine independence; the mark scheme does not accept this, and no other creditworthy point is given.

4Describe2 marksTranslators Swap Remove

A high-level program must be translated into machine code before it can be run.

Describe how a compiler and an interpreter differ in when the translated code is executed.

[2 marks]
Mark scheme

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

  • The interpreter executes each line as soon as it has been translated (1) so translation and execution happen together/at the same time (1)
  • The compiler translates the whole program first (1) and the machine code is run later/separately (1)
  • The interpreter translates the code and runs it while the program is running (1) whereas the compiler does not run the code it produces (1)
  • The compiler produces translated code that is executed only after all the translation has finished (1) but the interpreter executes each line immediately (1)

Allow 'translates one line at a time' where it is linked to executing each line immediately.

Do not accept answers that only state that a compiler is faster/an interpreter is slower, without reference to when execution happens.

Do not accept answers that only give object code, error reporting or portability, without reference to when execution happens.

Do not accept the compiler executing the program as it translates it.

Example answers and how they were marked
Full marks2/2

The compiler translates the code first and the program is executed afterwards, but the interpreter executes each line as soon as it has been translated.

Why: Compiler translates the whole program first and it is executed afterwards (1) and interpreter executes each line as soon as it is translated (1).

Some marks1/2

The interpreter executes each line immediately after translating it.

Why: Correct interpreter timing (1); no comparison with when the compiler's translated code is executed.

No marks0/2

The compiler executes the program line by line as it translates it.

Why: Reverses the two translators; a compiler does not execute the program it translates, so no mark.

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.