Computer Science (AS & A Level) · Oct / Nov 2024 · Paper 22 · Question 4
9618
As printed in the paper
The question as text
A global integer variable Tick is always incremented every millisecond (1000 times per second) regardless of the other programs running. The value of Tick can be read by any program but the value should not be changed. Assume that the value of Tick does not overflow. As an example, the following pseudocode algorithm would output "Goodbye" 40 seconds after outputting "Hello". DECLARE Start : INTEGER OUTPUT "Hello" Start Tick REPEAT //do nothing UNTIL Tick = Start + 40000 OUTPUT "Goodbye" A program is needed to help a user to time an event such as boiling an egg. The time taken for the event is known as the elapsed time. The program contains a procedure Timer() which will: • take two integer values representing an elapsed time in minutes and seconds • use the value of variable Tick to calculate the elapsed time • output a warning message 30 seconds before the elapsed time is up • output a final message when the total time has elapsed. For example, to set an alarm for 5 minutes and 45 seconds the program makes the following call: CALL Timer(5, 45) When 5 minutes and 15 seconds have elapsed, the program will output: "30 seconds to go" When 5 minutes and 45 seconds have elapsed, the program will output: "The time is up!" 9 Write pseudocode for the procedure Timer(). [6]
Read automatically from the paper; the printed page above is exact.
Show the answer and mark scheme
Make a free account to save your answers and see your weak topics and ask the AI why a wrong answer is wrong.

