fact PARENTHESE_OUVRANTE entier $f PARENTHESE_FERMANTE ACCOLADE_OUVRANTE si $f EGAL 1 OU $f EGAL 0 alors ACCOLADE_OUVRANTE retour 1 POINT_VIRGULE ACCOLADE_FERMANTE sinon ACCOLADE_OUVRANTE retour fact PARENTHESE_OUVRANTE $f MOINS 1 PARENTHESE_FERMANTE FOIS $f POINT_VIRGULE ACCOLADE_FERMANTE ACCOLADE_FERMANTE main PARENTHESE_OUVRANTE PARENTHESE_FERMANTE entier $a POINT_VIRGULE ACCOLADE_OUVRANTE $a EGAL lire PARENTHESE_OUVRANTE PARENTHESE_FERMANTE POINT_VIRGULE ecrire PARENTHESE_OUVRANTE fact PARENTHESE_OUVRANTE $a PARENTHESE_FERMANTE PARENTHESE_FERMANTE POINT_VIRGULE ACCOLADE_FERMANTE