CONTEXT: We have a mother and son. The son sometimes has lunch at school canteen and sometimes doesn't. He may have lunch at a fast food restaurant on his way home. When he comes home, his mother asks...
Have you eaten yet?
Did you eat yet? - possible in AmE only
...to find out whether he has had ANY lunch at all.
What if she wants to know whether he has had (or had?) lunch at school? What is she say going to say?
a) Did you eat at school?
b) Have you eaten at school?
I'd go for a) because the time is known, yet not explicitly mentioned.
Welcome to the Forum.
I agree with you about answer a.
I think the perfect is not appropriate here because 'her mind is in the past', she is not involved with the past as it impacts on the present; otherwise, she would say 'Have you eaten yet?', and not care much whether it was at school or in a restaurant.
Best wishes, Clive
Looking for ESL work?: Try our EFL / TOEFL / ESL Jobs Section!
PastsimpleIf she wants to know if he is hungry or needs food at the moment of speaking, a) is correct in both AE and BE. Why? Because the use of school there is not only talking about the place, but a period in the day - and that period is over at the time of speaking. Like "school's out", a period.
If she wants to ask him only about the experience of eating at a certain place at any time in the past and up to, or just prior to, the moment of speaking, she would probably use "have you..." in BE. If she wants to ask him only about the experience of eating at a certain place on that day, she could use both "have you..." and "did you..." in BE.
Have you (ever) eaten at school/VIPS/Burger King, etc.
People are waiting to help.
Related forum topics: