IMO Practice Test — Past Perfect & Future Perfect
8 Questions • 15 min • Olympiad level
15:00
Question 1 of 8
Spot the error: 'No sooner had the bell rung than the students have left.'
have left → had left
had rung is wrong
than is wrong
no error
Explanation: Both clauses are past; the later needs the past tense: 'than the students left' (or 'had left' is replaced by simple past). Standard form: 'No sooner had the bell rung than the students left.'
Question 2 of 8
Choose the correct option: 'By the time the doctor ___, the patient ___ already recovered.'
came / had
had come / has
comes / has
will come / had
Explanation: Later action = simple past 'came'; earlier = past perfect 'had recovered'.
Question 3 of 8
Identify the error: 'Hardly had I sat down when the phone has rung.'
has rung → rang
had I sat is wrong
when is wrong
no error
Explanation: After 'Hardly had …', the second clause takes the simple past: 'when the phone rang'.
Question 4 of 8
Fill in: 'By 2040, renewable energy ___ most fossil fuels.'
will replace
will have replaced
had replaced
replaces
Explanation: Completed before a future time → future perfect.
Question 5 of 8
Which sentence is correct?
She said she had saw the film.
She said she had seen the film.
She said she has seen the film yesterday.
She said she had see the film.
Explanation: Past perfect needs the participle 'seen' after 'had'.
Question 6 of 8
Choose: 'Scarcely had the train started ___ it stopped again.'
than
when
then
that
Explanation: 'Scarcely … when' is the correct pairing.
Question 7 of 8
Rearrange: 'finished / by / will / noon / I / have / it'
By noon I will have finished it.
I will by noon have finished it.
By noon will I have finished it.
I have finished it will by noon.
Explanation: 'By noon I will have finished it.' is correct.
Question 8 of 8
Choose the right sequence: 'The thief ___ before the police ___.'
had escaped / arrived
escaped / had arrived
has escaped / arrived
had escaped / had arrived
Explanation: Earlier = past perfect 'had escaped'; later = simple past 'arrived'.