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
Intermediário
Desafio · avançado
Respostas e explicaçõesAbra depois de concluir o exercício.
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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