Skip to main content
A-LevelComputer ScienceAlgorithm design and problem-solving9618/23 · May/June 2021 · Q410 Marks

Study the following pseudocode. Line numbers are for reference only. 10 FUNCTION Convert(Name : STRING) RETURNS STRING 11 12 DECLARE Flag: BOOLEAN 13 DECLARE Index : INTEGER 14 DECLARE ThisChar : CHAR 15 DECLARE NewName : STRING 16 17 CONSTANT SPACECHAR = ' ' 18 19 Flag ← TRUE 20 Index ← 1 21 NewName ← "" // formatted name string 22 23 WHILE Index <= LENGTH(Name) 24 ThisChar ← MID(Name, Index, 1) 25 IF Flag = TRUE THEN 26 NewName ← NewName & UCASE(ThisChar) 27 IF ThisChar <> SPACECHAR THEN 28 Flag ← FALSE 29 ENDIF 30 ELSE 31 NewName ← NewName & ThisChar 32 ENDIF 33 IF ThisChar = SPACECHAR THEN 34 Flag ← TRUE 35 ENDIF 36 Index ← Index + 1 37 ENDWHILE 38 39 RETURN NewName 40 41 ENDFUNCTION

  1. (a)Complete the trace table below by dry running the function when it is called as follows: Result ← Convert("VinVa∇∇Cup") Note: The symbol '∇' has been used to represent a space character. Use this symbol for any space characters in the trace table. The first row has been completed for you. Name | Flag | Index | NewName | ThisChar --- | --- | --- | --- | --- "VinVa∇∇Cup" | | | | [5]
  2. (b)The pseudocode for Convert() contains a conditional loop. State a more appropriate loop structure. Justify your answer. Loop structure Justification [2]
  3. (c)(i)Change 1 may be implemented by modifying one line of the pseudocode. Write the modified line.[1]
  4. (c)(ii)Change 2 may be implemented by moving one line of the pseudocode. Write the number of the line to be moved and state its new position. Line number New position [2]

Mark scheme

Marking points from the official mark scheme (May/June 2021). The mark or mark type is shown in brackets.

  1. [1] Correct values for Flag column throughout the trace
  2. [1] Correct values for Index column throughout the trace
  3. [1] Correct values for NewName column throughout the trace
  4. [1] Correct values for ThisChar column throughout the trace
  5. [1] Final row (Index=11, Flag=FALSE, NewName="VIVA∇∇Cup", ThisChar='p') all correct
  6. [1] Loop structure: A count-controlled loop
  7. [1] Justification: The number of iterations is known
  8. [1] 24 ThisChar ← LCASE (MID(Name, Index, 1))
  9. [1] ALTERNATIVE: 31 NewName ← NewName & LCASE(ThisChar)
  10. [1] Line number: 26
  11. [1] New position: Move to after line 27 / line 28

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
Algorithm design and problem-solving, A-Level Computer Science (syllabus 9618). Structured question, 10 marks.
Source
A-Level Computer Science, May/June 2021 Paper 2 Variant 3, question 4.

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