Решение:
Слово "yesterday" (вчера) указывает на прошедшее время (Past Simple). Вопрос начинается с "Who", которое может быть как подлежащим, так и вопросительным словом. Глагол "eat" в прошедшем времени имеет форму "ate".
- a) "ate" - прошедшая форма глагола "eat". "Who ate the jam yesterday?" - "Кто съел джем вчера?" Это грамматически верно.
- b) "did eat" - вспомогательный глагол "did" используется для образования вопросов и отрицаний в Past Simple, но когда "Who" является подлежащим, "did" обычно не используется. "Who did eat...?" - грамматически неверно в данном контексте.
- c) "does eat" - "does" используется для образования вопросов в Present Simple, а не в Past Simple.
Следовательно, наиболее грамматически правильным вариантом является "ate".
Ответ: a) ate