Вот подробное решение с объяснениями для каждого предложения, использующее соответств tense (present perfect, past perfect или future perfect):
You have kept a pet for three years.
Объяснение: Используем Present Perfect, так как действие началось в прошлом и продолжается до настоящего времени или имеет актуальное значение.Have you eaten Thai food before?
Объяснение: Вопрос в Present Perfect, так как спрашиваем о опыте, имевшем место до настоящего момента.When we had finished dinner, we went out.
Объяснение: Past Perfect ("had finished") используется, чтобы показать, что завершение обеда произошло до другого прошедшего события — выхода.She told me she had studied a lot before the exam.
Объяснение: Past Perfect ("had studied") указывает на действие, завершённое до другого прошедшего события — рассказа о подготовке к экзамену.We will have been in London for three years next week.
Объяснение: Future Perfect ("will have been") употребляется, чтобы показать длительность к определённому будущему моменту.She has stolen all the chocolate.
Объяснение: Present Perfect ("has stolen") для выражения завершенного действия с результатом в настоящее время.They had not eaten so we went to a restaurant.
Объяснение: Past Perfect ("had not eaten") показывает, что они не поели до другого прошедшего действия — похода в ресторан.She has not finished work by seven.
Объяснение: Present Perfect ("has not finished") для действия, которое ещё не завершено к указанному времени.Where have you studied English?
Объяснение: Present Perfect ("have studied") спрашивает о опыте, связанном с настоящим.He has gone to the library today.
Объяснение: Present Perfect ("has gone") указывает, что он отправился в библиотеку сегодня и, возможно, ещё там находится.She said that she had not visited the UK before.
Объяснение: Past Perfect ("had not visited") — действие завершилось к моменту речи.Did you do everything by seven?
Объяснение: Past Simple ("did do") — прошедшее завершённое действие в конкретный момент.You had not studied for the test, so you were very nervous.
Объяснение: Past Perfect ("had not studied") описывает причину возникновения волнения.Will we have arrived by the time it gets dark?
Объяснение: Future Perfect ("will have arrived") показывает ожидаемое завершение действия к определённому будущему моменту.
Если нужен более подробный разбор какого-либо конкретного предложения — скажите!