Saltar al contenido

Ejercicios de gramática

Present perfect en inglés: cómo se forma, cuándo se usa y 30 ejercicios

El present perfect se forma con have/has + participio (I have seen, she has gone) y se usa para hechos pasados que siguen conectados con el presente: experiencias sin fecha (I've been to Rome), periodos que no han terminado (this week, since 2020) y resultados que importan ahora (I've lost my keys).

Escrito por Raheel AshrafLectura estimada: 14 min

Práctica gratuita: Ejercicios de gramática inglesa en línea con respuestas

El present perfect se forma con have (has con he, she e it) + el participio del verbo: I have worked, she has written, they haven't arrived. Se usa cuando algo pasado sigue teniendo relación con el ahora: experiencias de la vida sin decir cuándo (Have you ever been to Japan?), acciones dentro de un periodo que aún no ha terminado (I've had three coffees today), resultados presentes (She's broken her arm) y situaciones que empezaron en el pasado y continúan (We've lived here for ten years).

En España tenemos ventaja, porque el pretérito perfecto («he comido», «has visto») se parece mucho. Pero no coincide del todo. Por un lado, el inglés nunca lo combina con un momento cerrado: «esta mañana he ido al médico» dicho por la tarde es I went. Por otro, frases que en español van en presente, como «vivo aquí desde 2020» o «llevo tres años en esta empresa», en inglés van en present perfect: I've lived here since 2020. Abajo tienes la forma, los usos, las palabras clave y 30 ejercicios corregidos.

Quiz: present perfect en inglés — 30 preguntas

Calentamiento · A2

1.She ___ finished her homework.
2.Have you ever ___ to Portugal?
3.I have ___ that film three times.
4.We ___ never eaten octopus.
5.They ___ finished the project yet.
6.___ she called you yet?
7.I ___ in Bilbao since 2021.
8.She has worked here ___ 2019.
9.We've been friends ___ ten years.
10.I've ___ eaten, so I'm not hungry.

Nivel intermedio · B1

11.I haven't finished my essay ___.
12.She has ___ booked the hotel, so we don't need to do it.
13.Marta isn't here. She's ___ to the supermarket.
14.I've ___ to Paris twice. I loved it both times.
15.(UK English) This is the best paella I ___.
16.How long ___ you known Lucía?
17.My parents ___ married for thirty years, and they're still very happy.
18.I ___ my cousin for two years. I really miss him.
19.Have you ever been to Japan? — No, I ___.
20.«I've broken my leg» suggests that…

Desafío · B2

21.(UK English. It's 10 a.m.) I ___ three cups of coffee this morning.
22.I ___ him last week at the gym.
23.When ___ you arrive in Madrid?
24.It's the first time I ___ snow.
25.She ___ in three films so far.
26.Prices ___ a lot over the last few months, and they're still rising.
27.She has ___ four novels.
28.Have you ___ ridden a horse?
29.How long have you been here? — ___ ten minutes.
30.I've lived here ___ I was a child.
Respuestas y explicacionesÁbrelo cuando termines el ejercicio.
  1. 1. hasCon he, she e it el auxiliar es has; con el resto, have. Is finished sería otra estructura (algo está terminado), y did no va con participio.
  2. 2. beenDespués de have va el participio: been (de be). Have you ever been to…? es la forma fija de preguntar por experiencias de viaje: «¿has estado alguna vez en…?».
  3. 3. seenSee es irregular: see → saw → seen. El present perfect usa la tercera columna, el participio. Have saw es un error típico al confundir pasado y participio.
  4. 4. haveCon we, have. Never va entre el auxiliar y el participio: We have never eaten… Y como never ya niega, no se usa haven't: «no hemos comido nunca» es We have never eaten.
  5. 5. haven'tNegativa con they: haven't + participio. Yet al final de una negativa significa «todavía»: They haven't finished yet, «todavía no han terminado».
  6. 6. HasPregunta en present perfect: Has/Have + sujeto + participio. Con she, Has. Called es participio aquí; con Did tendría que ir el infinitivo (Did she call?).
  7. 7. have lived«Vivo en Bilbao desde 2021» va en presente en español, pero en inglés since une pasado y presente y exige present perfect: I have lived. I live since 2021 es uno de los errores más frecuentes en hispanohablantes.
  8. 8. sinceSince + punto de partida (2019, Monday, I was a child). For + duración (ten years, two weeks). From necesita un to (from 2019 to 2022) y no funciona solo con present perfect.
  9. 9. forTen years es una duración, así que for. «Somos amigos desde hace diez años» lleva desde, pero en inglés lo que manda es si dices un periodo (for) o un punto de inicio (since).
  10. 10. just«Acabo de comer» = I've just eaten. Just va entre have y el participio e indica que algo pasó hace muy poco. No traduzcas «acabar de» con finish: I've just finished es «acabo de terminar».
  11. 11. yetYet va al final de negativas («todavía no») y preguntas («¿ya…?»). Already se usa en afirmativas («ya») y va normalmente entre have y el participio.
  12. 12. alreadyAfirmativa con el sentido de «ya»: already, colocado entre has y el participio. Yet en una afirmativa no funciona, y still pediría otro orden y otro significado.
  13. 13. goneHas gone = se ha ido y todavía no ha vuelto (por eso no está). Has been = ha ido y ya ha vuelto. Como Marta no está aquí, gone.
  14. 14. beenPara experiencias de viaje (fuiste y volviste) se usa been: I've been to Paris twice. I've gone to Paris significaría que estás allí ahora, lo que choca con twice.
  15. 15. have ever eatenSuperlativo + present perfect con ever: the best… I've ever eaten, «la mejor que he comido nunca». Have ever ate usa el pasado en lugar del participio (eat → ate → eaten).
  16. 16. haveHow long + present perfect pregunta cuánto tiempo dura algo que sigue: How long have you known her? («¿desde cuándo la conoces?»). Known es el participio de know.
  17. 17. have been«Llevan treinta años casados» → have been married for thirty years. Are married for thirty years calca el presente español. Has been no concuerda con my parents (they).
  18. 18. haven't seen«Hace dos años que no veo a mi primo» → I haven't seen my cousin for two years. El periodo sin verle llega hasta hoy, por eso present perfect y no presente.
  19. 19. haven'tLa respuesta corta repite el auxiliar de la pregunta: Have you…? → Yes, I have / No, I haven't. Con I, haven't; hasn't es para he, she, it.
  20. 20. la pierna sigue rota ahoraUno de los usos del present perfect es el resultado presente: la pierna está rota ahora. Si ya estuviera curada y hablaras de cuándo pasó, dirías I broke my leg in 2018.
  21. 21. have drunkSon las diez: la mañana no ha terminado, así que periodo abierto → present perfect. Drink → drank → drunk; have drank usa el pasado en lugar del participio.
  22. 22. sawLast week es un tiempo cerrado y el present perfect no admite fechas terminadas: saw. Tienes 30 ejercicios solo de este contraste en la página de present perfect vs past simple.
  23. 23. didWhen pregunta por un momento concreto, y un momento concreto pide past simple: When did you arrive? When have you arrived? no es natural en inglés.
  24. 24. have seenIt's the first time + present perfect: It's the first time I've seen snow. En español va en presente («es la primera vez que veo nieve»), por eso se nos escapa I see.
  25. 25. has appearedSo far («hasta ahora») indica que el periodo sigue abierto y puede haber más películas: present perfect. Has appear olvida el participio (-ed).
  26. 26. have gone upOver the last few months es un periodo que llega hasta hoy y la subida continúa: present perfect. Go → went → gone, así que have gone up, nunca have went.
  27. 27. writtenWrite es irregular: write → wrote → written. Sin fecha y con la autora viva, su obra es una experiencia acumulada: has written four novels.
  28. 28. everEver = «alguna vez» en preguntas sobre experiencias, colocado entre el sujeto y el participio. Ride → rode → ridden.
  29. 29. ForTen minutes es una duración: For ten minutes. Since ten minutes es un calco del español «desde hace diez minutos» y es un error muy común.
  30. 30. sinceSince también puede ir seguido de una frase que marca el inicio: since I was a child, since we met. Esa frase va en past simple, y la principal en present perfect.

Cómo se forma el present perfect

Siempre tiene dos piezas: el auxiliar have (has con he, she e it) y el participio del verbo. En los regulares el participio coincide con el pasado (-ed: worked, played); en los irregulares es la tercera columna de la lista (go → went → gone, see → saw → seen).

  • Afirmativa (+): I/you/we/they have ('ve) worked. He/she/it has ('s) worked.
  • Negativa (−): I haven't (have not) seen it. She hasn't (has not) called.
  • Pregunta (?): Have you finished? Has he arrived? Where have you been?
  • Respuestas cortas: Yes, I have. / No, she hasn't. Nunca Yes, I have finished como respuesta corta.
  • Cuidado con 's: she's gone = she has gone; she's tired = she is tired. El participio detrás lo aclara.

Cuándo se usa: los cuatro usos principales

  • Experiencias sin fecha: I've been to Lisbon. Have you ever tried sushi? She has never driven a car.
  • Periodo que no ha terminado: I've had three coffees today. We haven't seen much rain this year.
  • Resultado que importa ahora: I've lost my keys (no puedo entrar). He's cut his hair (se nota).
  • Algo que empezó en el pasado y sigue: I've lived here for ten years. She's worked at Mercadona since 2018.
  • Noticias recientes: The Government has announced new measures. Real Madrid have signed a new striker (UK).

Just, already, yet, ever, never, for y since

Estas palabras son las señales típicas del present perfect, y cada una tiene su sitio en la frase.

  • Just («acabar de»), entre have y el participio: I've just arrived = acabo de llegar.
  • Already («ya», afirmativas), entre have y el participio: She's already left.
  • Yet («ya» en preguntas, «todavía» en negativas), al final: Have you eaten yet? I haven't eaten yet.
  • Ever («alguna vez», preguntas) y never («nunca»), delante del participio: Have you ever been to Rome? I've never been there.
  • For + duración: for two hours, for ten years, for a long time.
  • Since + punto de inicio: since Monday, since 2015, since I was a child.
  • So far, recently, lately, this week/month/year también suelen acompañarlo.

«Desde hace» se traduce con for, no con since: «desde hace dos años» = for two years.

Present perfect o past simple (en corto)

La regla básica es una: si dices o das por sabido cuándo pasó y ese momento está cerrado (yesterday, last year, in 2019, ago, when I was young), va past simple. Si no hay momento o el periodo sigue abierto, present perfect. I've been to Rome (alguna vez) frente a I went to Rome last summer.

Para un hispanohablante de España, la trampa es «esta mañana he desayunado tostadas» dicho por la tarde: en inglés la mañana ya terminó y va past simple (I had toast this morning). Si quieres practicar solo esta diferencia, tienes 30 ejercicios específicos en la página de present perfect vs past simple.

Por qué el present perfect confunde a los hispanohablantes

El primer problema es que el español usa el presente para situaciones que empezaron en el pasado y siguen: «vivo aquí desde 2020», «trabajo en esta empresa desde hace tres años», «llevamos diez años casados», «hace un mes que no le veo». El inglés usa present perfect en todos estos casos: I've lived here since 2020, I've worked here for three years, We've been married for ten years, I haven't seen him for a month.

El segundo es que el perfecto español de España se extiende a periodos que ya han terminado («esta mañana he ido…», «este verano he estado…» en septiembre). En inglés solo vale si el periodo sigue abierto. En gran parte de Latinoamérica se usa más el indefinido, y ahí el problema es el contrario: olvidar el present perfect en experiencias como I've never seen it.

El tercero es el participio. Muchos irregulares tienen el participio distinto del pasado (went/gone, saw/seen, ate/eaten, wrote/written), y en español el participio es casi siempre regular (-ado, -ido). Por eso salen I have went o She has wrote.

Si en español dirías «llevo», «desde» o «hace… que» con el verbo en presente, en inglés casi seguro va present perfect.

Errores típicos (y cómo corregirlos)

  • ✗ I live here since 2020. → ✓ I've lived here since 2020.
  • ✗ I have seen her yesterday. → ✓ I saw her yesterday.
  • ✗ She has went home. → ✓ She has gone home.
  • ✗ I've been here since two hours. → ✓ I've been here for two hours.
  • ✗ We are married for ten years. → ✓ We have been married for ten years.
  • ✗ I haven't never been to Asia. → ✓ I've never been to Asia.

Sigue practicando

Preguntas frecuentes

¿Cómo se forma el present perfect en inglés?

Con have (o has con he, she, it) + el participio del verbo: I have worked, she has gone. En negativa se añade not (haven't, hasn't) y en pregunta se invierte el auxiliar: Have you finished? Los verbos regulares forman el participio con -ed; los irregulares tienen forma propia (see → seen, write → written).

¿Cuándo se usa for y cuándo since?

For va con una duración (for three years, for two hours) y since con el momento en que empezó algo (since 2019, since Monday, since I was a child). Ojo: «desde hace tres años» lleva desde en español, pero es una duración, así que en inglés es for three years.

¿Qué diferencia hay entre have been y have gone?

Have been indica que la persona fue y ya ha vuelto: I've been to London (estuve allí y volví). Have gone indica que se fue y sigue allí o de camino: She's gone to London (ahora no está). Para experiencias de viaje, se usa casi siempre been.

Revisa el present perfect en lo que escribes

Los fallos con since, for y los participios irregulares se escapan al releer. Pega un correo o una redacción en el corrector gratuito de PromGee y verás cada verbo corregido con su explicación.

Corregir mi inglés gratis

Fuentes y referencias

Sigue leyendo: más guías de gramática

Practica este tema con una herramienta gratuita: Test de Tiempos Verbales en Inglés