1.с
2. A
3. A
4. С
5. B
6. A
7. B
8. С
Объяснение:
Мне трудно объяснить почему в одном случае используется Present Perfect, а в другом Present Perfect Continous. Потому что они похожи, описывает действие, которое случилось не так давно, но к настоящему моменту завершилось. Просто в одном ставиться акцент на быстроту окончания действия, в другом на длительность действии.
1) haven't sent, есть слово-маркер FOR AGES
2) been, потому что объясняет, что он БЫЛ ЗАНЯТ, а вообще во многих случаях, когда глагол TO BE, то употребляется Present Perfect
3) 've been learning, потому что он до этого времени учился ездить верхом во время похода (походный отдых) (а еще если посмотреть два других ответа, по крайней мере been тут не подходить).
4) been going, потому что здесь речь о многократно повторяющимся действии, происходящим в неистекший период времени - this week.
5) has been, два других ответа не подходить :) похожий случай как во втором пункте
6) 've met, акцент ставиться на то, что он ВСТРЕТИЛ девушку.
7) hasn't learned, то же самое акцент ставиться на то, что она НЕ ИЗУЧАЛА английский РАНЬШЕ и то что она не знает этого языка. Слово-маркер BEFORE употребляется с глаголом в Present Perfect
8) been talking, тоже самое что в п.4
Когда делаешь акцент на то, что какое-то действие начавшийся в быстро подошел к концу и видешь итог в настоящем, то употребляешь Present Perfect.
Когда обращаешь внимание на то, что действие начавшийся в недавнем продолжается какое-то время и заканчивается к настоящему моменту и видишь результат, то применяется конструкция Present Perfect Continuous.