Per coniugare un verbo in l'imparfait , è necessario eseguire i seguenti passaggi:
- Trova la "radice" della parola; ciò si ottiene omettendo la
-onsforma coniugata dal nous della parola. Ad esempio, vivre è nous vivons ; togliendo-onsdai vivoni rendimentiviv-. Prendi lo stelo e aggiungi un finale appropriato, in base al soggetto. Ecco i finali:
je -ais tu -ais il/elle -ait nous -ions vous -iez ils/elles -aient
Obiettivo Dato un verbo e un soggetto, genera la forma imperfetta di quel verbo rispetto al soggetto. Il formato di input può essere in qualsiasi formato conveniente per la tua lingua. L'invio può essere un programma, uno snippet o una funzione. (Nota che il verbo non deve essere un verbo reale.)
Puoi presumere che il verbo sia un verbo regolare, cioè elementi come avoir verrebbero trattati come un -irverbo, non come un irregolare. L'unico verbo che devi quantificare come irregolare è être ; è coniugato come tale:
j'étais
tu étais
il/elle était
nous étions
vous étiez
ils/elles étaient
Qui ci sono le coniugazioni per -er, -ree -irverbi nelle forme nous
-ER => (e)ons ; e is added after a 'g'
-RE => ons
-IR => issons
Tutto ciò che non termina con tale non deve essere gestito.
(Si noti che je si fonde con il prossimo vocale, se ce n'è uno. Ad esempio, je acheter -> j'achetais. hSarà considerato una vocale per i nostri scopi.)
IO di esempio
input: tu vivre
output: tu vivais
input: elles nager
output: elles nageaient
input: je morter
output: je mortais ; incorrect in real life, but correct for our purposes
input: vous finir
output: vous finissiez
input: il croire
output: il croiait
input: nous jouer
output: nous jouions
bonus
- -5 N byte per tutti
Ni verbi extra irregolari gestiti. - -10% se si genera anche ogni coniugazione del verbo al tempo imperfetto.
Questo è un codice-golf , quindi vince il programma più breve in byte.
Morternon esiste, presumo tu ti riferisca a to diequale è mourir, che produrrebbe je mouraisquale è effettivamente corretto.
morter. È tecnicamente scorretto perché non è una parola.
je habiterDiventaj' habiteoj'habite?