A program contains six modules with headers as follows: Pseudocode module header PROCEDURE Connect() FUNCTION Activate(H1 : STRING, Code : INTEGER) RETURNS BOOLEAN FUNCTION Sync(T1 : BOOLEAN, S2 : REAL) RETURNS INTEGER PROCEDURE Initialise(BYREF ID : INTEGER, BYVAL CC : INTEGER) FUNCTION Reset(RA : STRING) RETURNS INTEGER FUNCTION Enable(SA : INTEGER) RETURNS BOOLEAN Module Connect() will call either Activate() or Sync(). This is decided at run-time.
- (a)Complete the structure chart for these modules. [Figure structure chart][5]
- (b)Explain the meaning of the curved arrow symbol used in the diagram in part (a).[2]
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 2024). The mark or mark type is shown in brackets.
- [1] (a) All modules identified in correct hierarchy
- [1] (a) Parameters to both Sync and Activate and return values
- [1] (a) Parameters to both Reset and Enable
- [1] (a) Parameters to Initialise
- [1] (a) Decision diamond
- [1] (b) Means that Sync repeatedly calls Reset and (then) Enable
- [1] (b) MP1: reference to iteration
- [1] (b) MP2: naming all three modules correctly including correct sequence of calls
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 →