Ejercicios de present perfect con soluciones
Estos ejercicios de present perfect van de lo más fácil (have o has) a lo más difícil (present perfect o pasado simple), y cada respuesta trae su explicación en español. Escribe o elige tu respuesta, pulsa Comprobar y revisa la solución de las que falles.
Contenido9 apartados
En resumen
- El present perfect se forma con have/has + participio: She has finished, They've left.
- Usa has con he, she, it y con un sujeto en singular; have con I, you, we, they.
- Muchos participios son irregulares: lost, written, broken, gone, met.
- For va con una duración (for ten years); since, con el punto de inicio (since 2015).
- Con un momento terminado (yesterday, in 2019, ago) se usa el pasado simple, no el present perfect.
Completa con have o has
El present perfect se forma con have o has + participio. Si necesitas repasar la regla completa, consulta la lección de presente perfecto en inglés.
| Sujeto | Auxiliar | Ejemplo |
|---|---|---|
| I, you, we, they | have (’ve) | We’ve finished. (Hemos terminado.) |
| he, she, it | has (’s) | She’s finished. (Ha terminado.) |
Participios irregulares
La mayoría de los fallos vienen de confundir el pasado con el participio: I have wrote ✗, I have written ✓. Repasa la tercera columna de la lista de verbos irregulares o practícala con el entrenador de verbos irregulares.
Ever, never, already, yet, just
Ever, never, already y just van entre have y el participio. Yet va al final, en negativas y preguntas. Tienes las posiciones con más ejemplos en la lección de already, yet y just.
For o since
For + duración (for two hours, for years). Since + punto de inicio (since Monday, since 2015, since I was a kid).
Present perfect o pasado simple
Esta es la parte más difícil. Pregúntate si el momento está terminado y se menciona (yesterday, last year, in 2019, ago, when…?): entonces va el pasado simple. Si el periodo sigue abierto o no importa cuándo pasó, va el present perfect. Lo explicamos con detalle en pasado simple o presente perfecto.
Consejos para no fallar
Busca la expresión de tiempo
Yesterday o ago llevan pasado simple; for, since, ever o yet suelen llevar present perfect.
Comprueba el sujeto
Un sujeto en singular lleva has.
Usa el participio, no el pasado
Gone, no went; seen, no saw.
PDF con soluciones
La solución de cada pregunta aparece en «Ver solución», con una explicación breve. Si prefieres trabajar en papel, usa la opción Imprimir del navegador y elige «Guardar como PDF». Antes, abre las soluciones que quieras que salgan en la hoja.
Practica
Escribe o elige la respuesta y pulsa Comprobar. Las soluciones están debajo de cada pregunta.
-
My parents (buy) a new car.
Sujeto en plural
Ver solución
have bought My parents equivale a they, así que va con have + participio. Buy es irregular: buy, bought, bought.
-
Lucía (finish) her homework.
Sujeto en 3.ª persona del singular
Ver solución
has finished Con un sujeto en singular (she) se usa has. Finish es regular: el participio termina en -ed.
-
Marta called you today?
Ver solución
Has En la pregunta, has va delante del sujeto: Has Marta called...? Did no sirve aquí porque iría con el verbo en forma base (Did Marta call...?).
-
Everyone left the room.
Ver solución
has Everyone, everybody, someone y nobody se conjugan en singular, aunque en español pensemos en «todos»: Everyone has left.
-
The kids (not / clean) their room. It's a mess!
Ver solución
haven't cleaned Negativa: haven't (have not) + participio. The kids es plural, por eso have.
-
Ordena: has / my / sister / a / new / job / found
Ver solución
My sister has found a new job. Orden de la afirmativa: sujeto + has + participio + complemento.
-
Oh no! I've (lose) my keys.
Ver solución
lost Lose es irregular: lose, lost, lost. Tras I've solo falta el participio.
-
Have you (write) the email to the landlord?
landlord = casero / arrendador
Ver solución
written Write es irregular: write, wrote, written. Wrote es el pasado simple, no el participio.
-
She can't play on Saturday. She has (break) her arm.
Ver solución
broken Break es irregular: break, broke, broken. Con has se necesita el participio (broken), no el pasado (broke).
-
I've never (ride) a horse.
Ver solución
ridden Ride es irregular: ride, rode, ridden.
-
Who has (drink) all the milk?
Ver solución
drunk Drink es irregular: drink, drank, drunk. Drank es el pasado simple.
-
Have you the new teacher?
Ver solución
met Meet es irregular y su participio es met. Meeted no existe.
-
Pedro isn't at home. He's to the gym.
Ver solución
gone Has gone indica que la persona fue y todavía está allí. Has been significa que fue y ya volvió. Went es pasado simple y no va con has.
-
Have you tried Korean food?
Ver solución
ever Ever (alguna vez) se usa en preguntas sobre experiencias y va entre el sujeto y el participio.
-
I've eaten octopus, and I don't plan to.
Ver solución
never Never (nunca) ya es negativo, así que el verbo va en afirmativa: I've never eaten, no I haven't never eaten.
-
Don't cook for me. I've eaten.
Ver solución
already Already (ya) va en frases afirmativas, entre have y el participio.
-
The movie hasn't started . We still have time.
Ver solución
yet Yet (todavía) va en negativas y preguntas, normalmente al final de la frase.
-
You missed Ana. She's left.
«Acaba de irse»
Ver solución
just Just + participio expresa algo que acaba de pasar: She's just left = Acaba de irse.
-
Ordena: yet / you / have / the / tickets / bought
Ver solución
Have you bought the tickets yet? Pregunta: have + sujeto + participio, y yet al final.
-
Ordena: just / has / the / bus / left
Ver solución
The bus has just left. Just va entre has y el participio: The bus has just left (el autobús acaba de salir).
-
Ordena: never / I / have / snow / seen
Ver solución
I have never seen snow. Never va entre have y el participio: I have never seen snow.
-
Ordena: yet / the / hasn't / package / arrived
Ver solución
The package hasn't arrived yet. Negativa con yet al final: The package hasn't arrived yet (el paquete todavía no ha llegado).
-
I've known Pablo 2015.
Ver solución
since 2015 es el punto de inicio, así que va since. Ago se usa con el pasado simple (ten years ago).
-
They've lived in Bogotá ten years.
Ver solución
for Ten years es una duración, por eso for. During indica dentro de qué periodo ocurre algo, no cuánto dura.
-
She's worked here last summer.
Ver solución
since Last summer marca cuándo empezó, así que se usa since.
-
We haven't talked a long time.
Ver solución
for A long time es una duración: for a long time. En negativas, en inglés americano también es muy frecuente in: We haven't talked in a long time.
-
I've had this phone I was in college.
phone = móvil / celular
Ver solución
since Since también puede ir seguido de una frase completa que marca el inicio: since I was in college.
-
My grandparents (be) married for fifty years.
Ver solución
have been Llevan 50 años casados y siguen casados: present perfect con for. No se dice are married for fifty years.
-
I (know) Elena since we were kids.
Ver solución
have known Una situación que empezó en el pasado y sigue ahora va en present perfect, no en presente: I've known her since..., no I know her since...
-
Ordena: since / haven't / we / March / each other / seen
Ver solución
We haven't seen each other since March. Negativa + since + punto de inicio. La expresión de tiempo va al final.
-
I my keys yesterday.
Ver solución
lost Yesterday es un momento terminado, así que se usa el pasado simple: I lost my keys yesterday.
-
Shakespeare (write) Hamlet.
Ver solución
wrote Shakespeare murió hace siglos: su vida es un periodo terminado y se usa el pasado simple.
-
We (meet) three years ago.
Ver solución
met Ago siempre va con el pasado simple: We met three years ago (nos conocimos hace tres años).
-
When to Canada?
Ver solución
did you move Las preguntas con when piden un momento concreto, por eso van en pasado simple.
-
I in Madrid for two years, but now I live in Lima.
Ver solución
lived La etapa en Madrid ya terminó (ahora la persona vive en Lima), así que se usa el pasado simple, aunque haya for.
-
I in Lima for two years now, and I love it here.
Ver solución
have lived Sigue viviendo en Lima: present perfect + for. «Vivo aquí desde hace dos años» no se traduce con el presente simple.
-
This is the best pizza I (ever / eat).
Ver solución
have ever eaten Tras un superlativo (the best, the worst...) se usa el present perfect con ever: the best pizza I've ever eaten.
-
How long (you / have) your dog?
Ver solución
have you had How long + present perfect pregunta cuánto tiempo dura algo hasta ahora. Have es el auxiliar y had el participio de have.
-
Which sentence is correct?
Ver solución
I saw him yesterday. Aunque en España se diga «lo he visto esta mañana», en inglés un momento terminado (yesterday) exige el pasado simple. Have saw no existe: el participio es seen.
¿Has visto un error? Avísanos