В немецком языке существует несколько вариантов выразить прошедшее время. Мы разберем самое распространенное прошедшее время Perfekt.

Правило 1.

Для прошедшего времени Perfekt на втором месте у нас всегда либо глагол haben, либо seinHaben/sein – эти два глагола помощника. Смысловой глагол (то есть непосредственно то, что мы хотим сказать в прошедшем времени) ставиться на самое последнее место в предложении.

Формула: Субъект   +   haben / sein   +   Информация   +   VERB (смысловой глагол в прошедшем времени) 

Правило 2.

Глагол haben или sein стоят в настоящем времени. А смысловой глагол приобретает прошедшую форму. Она образуется следующим образом:

Machen   —   gemacht
Sagen   –   gesagt

Ich habe gemacht. — Я сделал / сделала
Du hast gesagt. — Ты сказал / сказала

Форма глагола в Perfekt (gemacht, gesagt) называется в грамматике Partizip II.

Порядок слов в вопросе: При да/нет-вопросах haben/sein ставится на первое место. При остальных вопросах:

вопросительное слово (Was? Wer? Warum?)   +  haben/sein   +   du/er/sie и пр. (субъект)   +   информация   +   Partizip II  (gemacht)  

Du hast es gesagt. – Hast du es gesagt?  (Ты это сказал. — Ты это сказал?)
Du hast gesagt. — Was hast du gesagt? (Ты сказал. — Что ты сказал?)

Что происходит с глаголами с отделяемыми приставками? Приведу пример:

zumachen    –    zugemacht.

Частичка ge- вставляется после приставки.

Er hat die Tür zugemacht. –  Hat er die Tür zugemacht?
Was hat er zugemacht?
Wer hat die Tür zugemacht?

Примеры с глаголами с sich:

sich vorstellen:  Sie hat sich vorgestellt. —  Она представилась.
sich erholen:  Wir haben uns erholt. —  Мы хорошо отдохнули.

Правило 3.

Все было бы прекрасно, если бы ни один нюанс: не все глаголы немецкого языка образуют прошедшую форму по формуле ge- … -t. Есть исключения, которые, для простоты запоминания, можно разбить на группы и учить как стих по четыре строчки. Ниже перечислены самые частотные глаголы.

backen — gebacken

Здесь только прибавляется -ge.

backengebackenпечьgebengegebenдавать
essengegessenестьhaltengehaltenдержать
fahrengefahrenехатьrufengerufenзвать
fallengefallenпадатьwaschengewaschenмыть
  
ladengeladenгрузитьlesengelesenчитать
lassengelassenоставлятьschlafengeschlafenспать
messengemessenизмерятьschlagengeschlagenбить
kommengekommenприходитьbratengebratenжарить
wachsengewachsenрастиlaufengelaufenбегать, идти
sehengesehenвидетьtretengetretenнаступать
beginnen — begonnen

Здесь происходит два изменения: прибавляется приставка ge-, а гласная в середине слова меняется на -о-.

helfengeholfenпомогатьschiessengeschossenстрелять
werbengeworbenрекламироватьschiebengeschobenдвигать
brechengebrochenломатьschließengeschlossenзакрывать
giessengegossenполиватьsterbengestorbenумирать
  
stechengestochenколотьtreffengetroffenвстречать
stehlengestohlenкрастьsprechengesprochenговорить
nehmengenommenбратьziehengezogenтянуть
schwimmengeschwommenплаватьwerdengewordenстановиться (кем-то)
fliegengeflogenлетатьbietengebotenпредлагать
biegengebogenгнутьfrierengefrorenзамерзать
werfengeworfenбросатьsaufengesoffenвыпивать
lügengelogenлгатьschwörengeschworenклясться
empfehlen — empfohlen

Здесь меняется только гласная в середине слова. Ge- не прибавляется, так как у этих глаголов уже есть приставка (be-, ge-, er-, ver- и т.д.)

beginnenbegonnenначинатьgewinnengewonnenвыиграть
empfehlenempfohlenрекомендоватьverlierenverlorenпроиграть
geniessengenossenнаслаждатьсяbefehlenbefohlenприказывать
gebärengeborenрождатьсяbetrügenbetrogenпредать
erschreckenerschrockenиспугатьсяverderbenverdorbenиспортиться
bleiben — geblieben

Здесь прибавляется приставка ge, а гласная —ei— меняется на -ie-. В последних двух глаголах (beweisen, überweisen) приставка ge- не прибавляется (так как у них уже есть приставка).

leihengeliehenодалживатьbleibengebliebenоставаться
reibengeriebenтеретьschreiengeschriehenкричать
scheidengeschiedenразводитсяschweigengeschwiegenмолчать
schreibengeschriebenписатьsteigengestiegenувеличиваться
beweisenbewiesenдоказыватьüberweisenüberwiesenпереводить
streiten — gestritten

Здесь прибавляется приставка ge-, а -ei- в середине слова меняется на -i-. Следующая буква после -i- удваивается.

streitengestrittenссоритьсяbeißengebissenкусать
leidengelittenстрадатьgreifengegriffenхватать
schneidengeschnittenрезатьschleifengeschliffenшлифовать
streichengestrichenкраситpfeifengepfiffenсвистеть
binden — gebunden

Здесь прибавляется приставка ge-, а гласная -i- меняется на -u-.

bindengebundenсвязыватьgelingengelungenудаваться
findengefundenнаходитьspringengesprungenпрыгать
singengesungenпетьstinkengestunkenвонять
zwingengezwungenвынуждатьtrinkengetrunkenпить
bitten — gebeten

Здесь прибавляется приставка ge-, а -i- в середине меняется на -e-.

bittengebetenпросить
liegengelegenлежать
sitzengesessenсидеть
brennen — gebrannt

Эти глаголы вроде как спрягаются по формуле ge- + t, но с одним нюансом: гласная в середине слова меняется на -a-.

brennengebranntгоретьbringengebrachtприносит
rennengeranntбежатьdenkendedachtдумать
nennengenanntназыватьwendengewandtповорачивать
sendengesanndtпосылатьkennengekanntзнать
geraten — geraten

Небольшая группа глаголов, которые вообще не меняются.

geratengeratenоказатьсяvergessenvergessenзабыть
gefallengefallenнравитсяgefallengefallenнравится
geschehengeschehenпроизойти

Ну и напоследок сами глаголы haben и sein в прошедшей форме:
haben — gehabt
Ich habe meine Chance schon gehabt. — У меня уже был шанс.

sein — gewesen
Ich bin hier noch nie gewesen. — Я еще ни раз здесь не был.

Упражнения к теме: