Iterative/Continuous Meaning: 'Tem feito'

You know the form (ter + participle) and you know the warning (it is not the English present perfect). This page drills the positive content: exactly what the Brazilian perfeito composto means, so that you can both produce it correctly and feel its meaning when you hear it. The single sentence to memorize is this: the composto says an action has been happening repeatedly or continuously, from a point in the recent past up to and including right now.

The two ingredients of the meaning

Every correct use of the composto combines two things at once.

1. Repetition or continuation. The action is not a single event. It either happens over and over (iterative) or stretches out without stopping (durative/continuous). Tem chovido = it keeps raining; tenho trabalhado = I keep working / I've been working steadily.

2. A bridge from the recent past to now. The pattern started a little while ago and reaches the present. It is still going on, or at least its relevance reaches into now. The implied time frame is recent: think ultimamente (lately), recentemente (recently), nas últimas semanas (in the last few weeks), nos últimos meses (in recent months), esses dias (these days).

Tenho trabalhado muito.

I've been working a lot (lately and still am).

Tem feito frio.

It's been cold (these past days).

Tenho ouvido muitas histórias sobre esse lugar.

I've been hearing a lot of stories about that place.

O preço da gasolina tem subido.

The price of gas has been rising.

In every one of these, you can feel both ingredients: the action repeats or continues (trabalhado, feito frio, ouvido, subido) and it runs from a recent starting point up to the present. The gas price did not rise once — it keeps rising, and it is still high or climbing now.

💡
Two ingredients, always together: (1) repeated or continuous action, (2) running from the recent past up to now. If either ingredient is missing — if it is a single event, or if it is finished and disconnected from now — the composto is wrong.

The implied "recent" time frame

The composto carries its own built-in sense of recently, even with no time word present. Tenho dormido mal already implies "these past nights," not "throughout my whole life." Because of this, the tense pairs naturally with adverbs that reinforce the recent frame, and clashes with ones that point to a closed, distant past.

Ultimamente, tenho lido bastante.

Lately, I've been reading a lot.

Recentemente, eles têm viajado muito.

Recently, they've been traveling a lot.

Nos últimos meses, a empresa tem crescido bem.

In recent months, the company has been growing nicely.

Notice these adverbs — ultimamente, recentemente, nos últimos meses — all frame an open stretch leading up to now. That is the composto's home. By contrast, a closed past time like ontem (yesterday) or no ano passado (last year) does not fit, because those windows are shut and disconnected from the present.

💡
Watch your spelling: it is ultimamente and frequência (acute accent on the first e, and note there is no trema after the post-AO90 spelling reform — freqüência is outdated). These show up constantly with the composto, so get them right.

Continuous versus iterative — both count

The "repetition or continuation" ingredient covers two shades, and you do not need to choose between them consciously; both are legitimate composto meanings.

A continuous reading: the action runs more or less without break.

Tenho me sentido cansado.

I've been feeling tired.

An iterative reading: the action happens again and again on separate occasions.

Tenho ido à academia toda manhã.

I've been going to the gym every morning.

In tenho me sentido cansado, the tiredness is a continuous state stretching to now. In tenho ido à academia, there are separate gym visits, one each morning, forming a recent pattern. Both are perfect composto. The common thread is the same: a non-single action reaching from the recent past into the present.

Why English word-for-word translation fails both ways

English "have/has + past participle" lacks the composto's built-in durative/iterative force, which causes errors in both directions.

Going English → Brazilian, learners wrongly map every "I have done" onto tenho feito, even when the English is a single completed event. I have finished (just now, once) is terminei / já terminei, not tenho terminado.

Going Brazilian → English, learners wrongly render tenho feito as a flat "I have done," losing the "keep doing / lately" flavor. Tenho comido fora is best translated "I've been eating out (a lot lately)," not the bare "I have eaten out."

Tenho comido fora quase todo dia.

I've been eating out almost every day.

Eu já comi, obrigado.

I've already eaten, thanks. (single completed event → preterite, NOT composto)

The contrast between those two is the whole lesson in miniature: repeated/recent → composto; single/completed → preterite.

A useful self-check

Before using the composto, ask yourself two quick questions:

  1. Is the action repeated or ongoing, rather than a single event? If it is a one-shot event, switch to the preterite.
  2. Does it stretch up to now, within a recent frame? If it is finished and shut off in the past (yesterday, last year), switch to the preterite.

Only when both answers are yes does the composto fit.

Tenho estudado para a prova. (repeated study sessions, ongoing, recent → ✅ composto)

I've been studying for the test.

Estudei para a prova ontem à noite. (single session, closed time → ✅ preterite)

I studied for the test last night.

Common Mistakes

❌ Tenho terminado o trabalho agora. (intending: I've just finished the work)

Incorrect — a single completed action, with 'agora,' cannot take the composto.

✅ Acabei de terminar o trabalho. / Já terminei o trabalho.

I just finished the work. / I've already finished the work.

A one-time completion uses the preterite (or acabar de for "just did").

❌ Ontem tenho ido ao cinema.

Incorrect — 'ontem' is a closed past time, incompatible with the composto.

✅ Ontem fui ao cinema.

Yesterday I went to the movies.

A closed, dated past event takes the preterite.

❌ Tenho quebrado meu celular. (intending: I broke my phone)

Incorrect — sounds like 'I've been breaking my phone repeatedly.'

✅ Quebrei meu celular.

I broke my phone.

A single accidental event is the preterite; the composto would imply a recurring habit of breaking phones.

❌ Translating 'tem chovido muito' as 'it has rained a lot' and treating it as finished.

Incorrect nuance — this misses the 'and it's still been raining lately' meaning.

✅ 'It's been raining a lot (these days).'

The composto keeps the rain pattern alive up to the present.

Key Takeaways

The Brazilian perfeito composto means an action repeated or continued, from a recent past point up to and including now. Both ingredients must be present: non-single action and a bridge to the present, within an implied recent frame (ultimamente, recentemente, nos últimos meses). It refuses single completed events (use the preterite) and refuses closed past time windows like ontem (use the preterite). Because English "have + participle" lacks this durative/iterative force, never translate word-for-word in either direction — match the meaning, not the form.

Now practice Portuguese

Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.

Start learning Portuguese

Related Topics