Решение:
- a. Ian hasn't seen his cat for a while. (Используем Present Perfect, так как действие началось в прошлом и продолжается, или имеет результат в настоящем. 'A while' указывает на длительность, поэтому 'for'. Отрицательная форма 'hasn't seen').
- b. Anna has been ill since last Monday. ('Since' используется с конкретной датой или временем начала действия. 'Has been' - Present Perfect от 'be').
- c. I haven't eaten ice cream since last summer. ('Since' с указанием времени начала. Отрицательная форма 'haven't eaten').
- d. My dad has had this car for a few months now. ('For' с указанием длительности. 'Has had' - Present Perfect от 'have', когда оно означает 'владеть').
- e. My grandpa has had this book for years. ('For' с указанием длительности. 'Has had' - Present Perfect от 'have', когда оно означает 'владеть' или 'читать').
Ответ: a. hasn't seen, for; b. has been, since; c. haven't eaten, since; d. has had, for; e. has had, for