Skip to main content
A-LevelComputer ScienceSoftware development9618/23 · Oct/Nov 2023 · Q56 Marks

A global 1D array of integers contains four elements, which are assigned values as shown: Mix[1] ← 4 Mix[2] ← 2 Mix[3] ← 3 Mix[4] ← 5 A procedure Process() manipulates the values in the array. The procedure is written in pseudocode as follows: PROCEDURE Process(Start : INTEGER) DECLARE Value, Index, Total : INTEGER Index ← Start Total ← 0 WHILE Total < 20 Value ← Mix[Index] Total ← Total + Value IF Index < 4 THEN Mix[Index] ← Mix[Index] + Mix[Index+1] ELSE Mix[Index] ← Mix[Index] + Mix[1] ENDIF Index ← (Value MOD 4) + 1 ENDWHILE Mix[1] ← Total * Index ENDPROCEDURE Complete the trace table on the opposite page by dry running the procedure when it is called as follows: CALL Process(2) [Trace table with columns: Index, Value, Total, Mix[1], Mix[2], Mix[3], Mix[4]]

This question uses a diagram from the original paper, which isn't shown here. Open the full paper from the past papers archive to see it.

Mark scheme

Marking points from the official mark scheme (Oct/Nov 2023). The mark or mark type is shown in brackets.

  1. 6 MP1 Row 1 (initialisation)
  2. 6 Each iteration (1 – 5):
  3. 6 MP2 1 – Total 2
  4. 6 MP3 2 – Total 5
  5. 6 MP4 3 – Total 10
  6. 6 MP5 4 – Total 15
  7. 6 MP6 5 – Total 28 and final Mix[1] = 56

Write your answer and get it marked

On Oracle Prep you can write or photograph your own answer and have it marked by AI against this mark scheme, with feedback on what you missed.

Sign up free →

About this question

Topic
Software development, A-Level Computer Science (syllabus 9618). Structured question, 6 marks.
Source
A-Level Computer Science, Oct/Nov 2023 Paper 2 Variant 3, question 5.

Questions and mark schemes are from past examination papers and remain the copyright of the exam board. How Oracle Prep builds its content

Related Computer Science questions

© 2026 Oracle Prep