Ir para o conteúdo

Exercícios de gramática

Present perfect em inglês: regras, exemplos e 30 exercícios com respostas

O present perfect liga o passado ao presente e se forma com have/has + particípio passado: I have lived here for five years, She has already eaten. Use-o para experiências sem data (Have you ever been to Japan?), para períodos que continuam até agora (for, since) e para resultados que importam no presente (I’ve lost my keys).

Escrito por Raheel AshrafLeitura estimada: 17 min

Prática gratuita: Exercícios de gramática inglesa online com respostas

O present perfect é o tempo que conecta uma ação do passado com o momento atual. A forma é have ou has + particípio passado do verbo: I have worked, she has gone, we have seen. Ele aparece em três situações principais: experiências de vida sem data (I’ve never been to Europe), situações que começaram no passado e continuam agora (I have lived in Curitiba since 2018) e ações recentes cujo resultado ainda vale (He has broken his leg, então ainda está de muleta). Se você cita um momento terminado, como yesterday ou in 2019, o tempo certo é o simple past, não o present perfect.

Para o brasileiro, a dificuldade não é a forma, é a escolha. O português diz “moro aqui há cinco anos” no presente, e a tradução literal (“I live here for five years”) está errada: em inglês é I have lived here for five years. E o nome “pretérito perfeito” engana, porque “eu comi” quase sempre vira I ate, não I have eaten. As 30 questões abaixo treinam exatamente essas decisões, com explicação em português a cada resposta.

Quiz: Present Perfect — 30 questões

Aquecimento · básico

1.My grandmother ___ in the same house since 1985.
2.She has already ___ the report.
3.My parents ___ married for thirty years.
4.He ___ his phone. He can’t find it anywhere.
5.We ___ to Salvador three times.
6.I have ___ seen that movie, so no spoilers, please.
7.The package hasn’t arrived ___.
8.They have worked here ___ five years.
9.She has studied English ___ she was ten.
10.___ your brother finished his thesis yet?

Intermediário

11.I ___ in São Paulo for five years, and I still love it here.
12.How long ___ you known Rafael?
13.She ___ to Japan. She’s in Tokyo right now.
14.I’ve just ___ an email from the bank.
15.This is the best açaí I have ever ___.
16.We ___ any rain so far this month.
17.I ___ my homework yet, so I can’t go out.
18.Prices ___ a lot since last year.
19.It’s the first time I ___ snow!
20.Has she called you? — Yes, she ___ me this morning. (It’s 4 p.m. now.)

Desafio · avançado

21.Since I moved to Rio, I ___ much free time.
22.I ___ for this company since 2018, and I’m thinking of leaving.
23.How many books ___ so far this year?
24.Lucas ___ his leg, so he can’t play in the final on Sunday.
25.I’ve known her ___ we were kids.
26.She’s worked at the hospital ___.
27.My brother has ___ been to Europe. He’d love to go.
28.Where have you ___? I’ve been waiting for an hour.
29.This is the third time she ___ her password this week.
30.I ___ him last month, but I ___ him since.
Respostas e explicaçõesAbra depois de concluir o exercício.
  1. 1. has livedSince 1985 marca o início de uma situação que continua até hoje: present perfect, has lived. Em português dizemos “ela mora na mesma casa desde 1985”, no presente, e por isso o brasileiro escreve “lives since 1985”, que está errado em inglês.
  2. 2. writtenDepois de have/has vem o particípio passado, a terceira coluna da lista de irregulares: write, wrote, written. “Has already wrote” usa a forma do simple past e é um erro comum quando o aluno não decorou a terceira coluna.
  3. 3. have been“Meus pais são casados há trinta anos” vira present perfect em inglês: have been married for thirty years. “Are married for thirty years” é tradução literal do presente do português. “Has been” não concorda com my parents (they).
  4. 4. has lostO resultado importa agora (ele continua sem o celular): present perfect, has lost. Com he, she e it o auxiliar é has, nunca have. “Is losing” descreveria algo em andamento, o que não faz sentido para perder um objeto.
  5. 5. have beenExperiência de vida contada em número de vezes, sem dizer quando: present perfect, have been. Been é o particípio de be e de go no sentido de “ir e voltar”. Com we o auxiliar é have; has fica só para he, she e it.
  6. 6. never“No spoilers” mostra que a pessoa não viu o filme: I have never seen. Never já é a negação, então não entra “haven’t”: “I haven’t never seen” seria dupla negação, normal em português (“nunca vi não”) e errada em inglês padrão.
  7. 7. yetYet vai no fim de negativas e perguntas: hasn’t arrived yet (“ainda não chegou”). Already é para afirmativas (It has already arrived, “já chegou”). O brasileiro traduz “ainda” como still e “já” como already, mas na negativa com present perfect o par natural é not… yet.
  8. 8. forFor + duração (five years, two months, a long time); since + ponto de início (2020, Monday, I was a kid). “Trabalham aqui há cinco anos” = They have worked here for five years. Ago vai com simple past e conta para trás a partir de agora (five years ago).
  9. 9. since“She was ten” é um ponto de partida no tempo, então since: since she was ten (“desde os dez anos”). For pediria uma duração, como for ten years. During não marca início, marca o período dentro do qual algo acontece.
  10. 10. HasPergunta no present perfect: Has + sujeito + particípio. Your brother = he, então Has. “Did your brother finished” mistura o auxiliar do passado com o particípio; com did o verbo teria de voltar à forma base (finish).
  11. 11. have lived“Moro em São Paulo há cinco anos” e ainda moro (“I still love it here”): present perfect, I have lived. “I live here for five years” é o erro clássico do brasileiro. “I lived” indicaria que você não mora mais lá, o que contradiz o resto da frase.
  12. 12. haveHow long + present perfect pergunta há quanto tempo uma situação dura até agora: How long have you known Rafael? Known é particípio, então só combina com have. “How long do you know” é tradução literal de “há quanto tempo você conhece”.
  13. 13. has goneHas gone = foi e ainda está lá; has been = foi e já voltou. Como ela está em Tóquio agora, o certo é has gone. “Have gone” não concorda com she, e “is go” mistura be com a forma base.
  14. 14. receivedJust + present perfect = “acabei de”: I’ve just received. O particípio de verbos regulares é igual ao passado (-ed). Just fica entre o auxiliar e o particípio, não no fim da frase.
  15. 15. eatenSuperlativo + I have ever + particípio é uma estrutura fixa: the best… I have ever eaten (“o melhor que já comi na vida”). Eat é irregular: eat, ate, eaten. “I have ever ate” usa a segunda coluna no lugar da terceira.
  16. 16. haven’t hadSo far (“até agora”) e this month (mês ainda aberto) pedem present perfect: haven’t had. Com we o auxiliar é have. “Didn’t have” fecharia o período, o que contradiz o so far.
  17. 17. haven’t finishedNot… yet com resultado no presente (ainda não posso sair): haven’t finished. Com I o auxiliar é have, não has. “Not finished” sem auxiliar imita o “não terminei” do português, mas o inglês exige o have.
  18. 18. have gone upSince last year marca um período que vai do ano passado até hoje: present perfect. Prices é plural, então have gone up. “Went up since” é erro: since pede o perfect, mesmo que o português use o pretérito (“os preços subiram desde o ano passado”).
  19. 19. have seenDepois de It’s the first/second time, o inglês usa present perfect: It’s the first time I have seen snow. O português usa o presente (“é a primeira vez que vejo neve”), e daí sai o erro “the first time I see”.
  20. 20. calledA pergunta abre com present perfect, mas a resposta cita um momento terminado (a manhã já acabou às 4 da tarde): simple past, called. Assim que o “quando” aparece e já passou, o inglês muda para o simple past.
  21. 21. haven’t hadA oração com since fica no simple past (o momento da mudança é um ponto fechado), mas a oração principal vai para o present perfect, porque o período segue até hoje: I haven’t had much free time. É a combinação padrão com since + evento.
  22. 22. have been workingSince 2018 até agora: perfect. Have been working (present perfect continuous) enfatiza a duração da atividade e é a única opção correta aqui. “I work since 2018” e “I am working since 2018” são traduções de “trabalho desde 2018” e estão erradas em inglês.
  23. 23. have you readSo far this year = do começo do ano até hoje, período aberto: have you read. “You read” sem auxiliar é a pergunta feita só com entonação, como no português. “Did you read” fecharia o período, incompatível com so far.
  24. 24. has brokenResultado presente (ele não pode jogar): present perfect com o particípio broken. “Has broke” usa a forma do passado (broke) no lugar do particípio, erro comum também entre nativos em fala informal, mas não aceito em texto.
  25. 25. since“We were kids” é o ponto de início, então since: I’ve known her since we were kids (“conheço ela desde criança”). Repare que o português usa o presente (“conheço”) e o inglês o present perfect (I’ve known).
  26. 26. for three yearsDuração até agora = for: for three years. “Since three years” é decalque de “desde há três anos”; since só aceita um ponto no tempo. “Three years ago” vai com simple past (She started three years ago), e “during three years” não é usado para duração até o presente.
  27. 27. never“He’d love to go” mostra que ele nunca foi: has never been. Ever fica em perguntas (Has he ever been…?) e não em afirmativas soltas. Yet não vai no meio de uma afirmativa, e already contradiz o desejo de ir.
  28. 28. beenA pessoa já voltou e está na sua frente, então Where have you been? (“Por onde você andou?”). “Where have you gone?” só faz sentido se ela ainda não voltou. “Have you went” usa a segunda coluna (went) no lugar do particípio.
  29. 29. has forgottenThis is the first/second/third time + present perfect: has forgotten. A semana está em andamento e a contagem de vezes vai até agora. Em português o presente basta (“é a terceira vez que ela esquece”), por isso a regra precisa ser decorada.
  30. 30. saw / haven’t seenLast month é momento terminado: saw. Since (sozinho no fim, “desde então”) liga aquele momento até hoje: haven’t seen. A mesma frase combina os dois tempos, e cada parte segue o seu marcador de tempo.

Como formar o present perfect: afirmativa, negativa e pergunta

A estrutura é sempre auxiliar have/has + particípio passado. O auxiliar muda com a pessoa; o particípio nunca muda. Nos verbos regulares, o particípio é igual ao passado (worked, played); nos irregulares, é a terceira coluna da lista (gone, seen, eaten, written).

  • Afirmativa (+): I/you/we/they have worked · he/she/it has worked. Contração: I’ve, she’s, they’ve.
  • Negativa (−): I/you/we/they haven’t worked · he/she/it hasn’t worked. Ex.: We haven’t met before.
  • Pergunta (?): Have you worked…? · Has she worked…? Ex.: Have you ever tried feijoada? Has the bus left yet?
  • Respostas curtas: Yes, I have. / No, she hasn’t. Não se repete o particípio na resposta curta.
  • Cuidado com o ’s: she’s worked = she has worked (perfect); she’s working = she is working (contínuo). O verbo seguinte mostra qual é.

Quando usar o present perfect

O present perfect sempre olha para o passado a partir do agora. Se o período ainda não terminou ou se o resultado ainda vale, ele entra. Os usos principais:

  • Experiências de vida, sem data: I’ve been to Argentina twice. Have you ever eaten tacacá? I’ve never driven a truck.
  • Situações que começaram no passado e continuam agora (com for e since): I have lived here for five years. She has worked at the bank since 2021.
  • Resultado presente de uma ação passada: I’ve lost my wallet (e continuo sem ela). He’s cut his finger (o curativo está lá).
  • Ações recentes com just: I’ve just arrived (“acabei de chegar”). They’ve just left.
  • Já e ainda não, com already e yet: I’ve already paid. Have you finished yet? She hasn’t called yet.
  • Períodos de tempo ainda abertos: this week, this year, today, so far, recently, lately. Ex.: I’ve drunk three coffees today.
  • Depois de It’s the first/second time e de superlativos: It’s the first time I’ve seen snow. The best show I’ve ever watched.

For, since, just, already, yet, ever e never

Essas palavras são os sinais mais comuns do present perfect, e cada uma tem lugar fixo na frase.

  • For + duração: for two hours, for ten years, for a long time. “Há cinco anos” (ainda acontecendo) = for five years.
  • Since + ponto de início: since 2015, since Monday, since I was a child. Nunca “since three years”.
  • Just, already, ever e never ficam entre o auxiliar e o particípio: I’ve just eaten. She’s already left. Have you ever been…? I’ve never seen…
  • Yet fica no fim, em negativas e perguntas: I haven’t decided yet. Have you decided yet?
  • Ago não combina com present perfect: “I have arrived two hours ago” está errado. Com ago, use simple past: I arrived two hours ago.

Há + tempo, e a situação continua? Present perfect com for: I have lived here for five years. Há + tempo, e acabou? Simple past com ago: I moved here five years ago.

“Moro aqui há cinco anos”: o erro número 1 dos brasileiros

Em português, uma situação que começou no passado e continua usa o presente: “moro aqui há cinco anos”, “conheço ela desde criança”, “trabalho na empresa desde 2019”. A tradução literal sai no simple present (I live here for five years, I know her since we were kids), e para o nativo essas frases soam erradas. Em inglês, a duração até agora pede o present perfect: I have lived here for five years, I have known her since we were kids.

O segundo tropeço vem do nome. O “pretérito perfeito” do português (comi, fui, trabalhei) corresponde quase sempre ao simple past (I ate, I went, I worked), não ao present perfect. O present perfect corresponde mais ao “já comi”, “nunca fui”, “tenho trabalhado” e ao presente com “há/desde”. Se a frase tem data ou momento terminado (ontem, em 2019, semana passada, há dois dias), é simple past.

Present perfect ou simple past? A regra curta

Momento terminado e citado (yesterday, last year, in 2019, two days ago, when I was a kid) = simple past. Período aberto até agora ou momento não citado (for, since, ever, never, already, yet, this week, so far) = present perfect. I visited Recife in 2022 × I’ve visited Recife twice.

Essa escolha tem uma página só dela, com 30 frases de contraste e explicação em português: veja os exercícios de present perfect ou simple past linkados no fim desta página.

Erros comuns de brasileiros (errado → certo)

  • I live here for five years → I have lived here for five years.
  • I know him since 2010 → I have known him since 2010.
  • I have seen her yesterday → I saw her yesterday.
  • She has went to the bank → She has gone to the bank.
  • He have finished → He has finished.
  • I have arrived two hours ago → I arrived two hours ago.
  • She works here since three years → She has worked here for three years.
  • I haven’t never been there → I have never been there.
  • It’s the first time I come here → It’s the first time I’ve come here.

Na revisão de um texto, procure for, since, ever, never, already, yet e “first time”: perto deles, o verbo quase sempre precisa de have/has + particípio.

Como praticar o present perfect

Faça o bloco básico hoje e anote, para cada erro, qual sinal de tempo você ignorou (for, since, yet, um momento terminado). Amanhã, faça o intermediário e o avançado, e refaça só as que errou.

Depois, escreva cinco frases sobre você com for e since (I have studied English since…, I have known my best friend for…) e cinco com ever ou never. Se quiser uma segunda leitura, cole o texto no verificador de gramática do PromGee, que corrige e explica cada erro em português.

Continue praticando

Perguntas frequentes

Como se forma o present perfect em inglês?

Com have ou has + particípio passado do verbo. Use has com he, she e it, e have com I, you, we e they: I have finished, She has finished. Na negativa, haven’t/hasn’t (I haven’t finished); na pergunta, o auxiliar vem antes do sujeito (Have you finished?).

Como dizer “moro aqui há cinco anos” em inglês?

I have lived here for five years (ou I have been living here for five years). Como a situação começou no passado e continua, o inglês usa present perfect, não o presente. “I live here for five years” é tradução literal do português e soa errado para o nativo.

Qual a diferença entre for e since no present perfect?

For indica a duração (for three years, for two weeks) e since indica o ponto de início (since 2020, since Monday, since I was a child). As duas respondem à pergunta How long…? Ex.: I have worked here for three years = I have worked here since 2023.

Confira o present perfect no seu próprio texto

Cole um e-mail, redação ou mensagem no verificador gratuito do PromGee e veja cada erro de present perfect, for e since corrigido e explicado em português, na sua frase.

Verificar meu texto grátis

Fontes e referências

Continue lendo: mais guias de gramática

Pratique este tema com uma ferramenta grátis: Quiz de Tempos Verbais em Inglês