A fitness club has a computerised membership system. The system stores information for each club member: name, home address, email address, mobile phone number, date of birth and exercise preferences. Many classes are full, and the club creates a waiting list for each class. The club adds details of members who want to join a class that is full to the waiting list for that class. When the system identifies that a space is available in one of the classes, a new module will send a text message to each member who is on the waiting list.
- (a)Decomposition will be used to break the new module into sub-modules (sub-problems). Identify three sub-modules that could be used in the design and describe their use.[3]
- (b)(i)A different part of the program is represented by the following state-transition diagram. [State-transition diagram showing S1, S2, S3, S4, S5 and transitions with inputs/outputs] Complete the table to show the inputs, outputs and next states. Assume that the current state for each row is given by the 'Next state' on the previous row. For example, the first Input-A is made when in state S1. If there is no output for a given transition, then the output cell should contain 'none'. The first two rows have been completed. | Input | Output | Next state | |---------|----------|------------| | | | S1 | | Input-A | none | S3 | | | Output-W | | | | | none | | Input-B | | | | Input-A | | | | | | S4 |[5]
- (b)(ii)Identify the input sequence that will cause the minimum number of state changes in the transition from S1 to S4.[1]
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 (May/June 2024). The mark or mark type is shown in brackets.
- [3] Examples include: Module: IdentifyMember() Use: Identifies a club member who has expressed an interest in a given class
- Module: GetMemberPhoneNumber() Use: Gets the mobile phone number of a member
- Module: CreateMessage() Use: Generates a text message to a member
- Module: SendMessage() Use: Sends a text message to a member in the waiting list
- One mark for name and use Note: max 3 marks
- [5] One mark per row 3 to 7
- Row 1: S1 (given)
- Row 2: Input-A, none, S3 (given)
- Row 3: Input-A, Output-W, S3
- Row 4: Input-B, none, S2
- Row 5: Input-B, none, S5
- Row 6: Input-A, none, S2
- Row 7: Input-A, Output-X, S4
- [1] Input-B, Input-A
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 →