TP - Programme testé et vérifié☘
Dans le dossier [NSI]
, créez le dossier [F03-Finaliser_Programmes]
.
Dans ce dossier, enregistrez vos fichiers avec le nom donné à la partie
(TPF03.21.py
, TPF03.22.py
, ...). Il faudra créer un nouveau programme
pour chaque partie.
TPF03.21 - Factorielle☘
On considère la fonction factorielle()
définie par :
1 2 3 4 5 6 7 8 9 |
|
- Insérez le plan de test travaillé en TD dans le docstring de cette fonction.
- Ajoutez une assertion afin que le paramètre
n
respecte les spécifications. -
Exécutez ce code afin qu'il soit testé automatiquement par le module
doctest
.
Vérifiez que les tests ne « passent » pas.Une piste
Ne pas oublier le programme principal qui contient l'appel au module
doctest
:11 12 13 14
##----- Mise en oeuvre des tests -----## if __name__ == "__main__": import doctest doctest.testmod()
-
Insérez des
print()
dans ce code pour suivre l'évolution des variables puis corrigez ce code.
TPF03.22 - Plus grande puissance de 2 inférieure☘
On considère la fonction pgpi()
spécifiée par :
1 2 3 4 5 |
|
- Insérez le plan de test travaillé en TD dans le docstring de cette fonction.
- Ajoutez une assertion afin que le paramètre
m
respecte les spécifications. - Complétez ce code puis exécutez-le afin qu'il soit testé automatiquement
par le module
doctest
.
TPF03.23 - Une fonction mystérieuse☘
Un élève a réalisé le code suivant :
1 2 3 4 5 6 7 8 9 10 11 |
|
- Exécutez ce code et corrigez les erreurs de logique que vous trouverez.
- Une fois ces erreurs corrigées ajoutez les
print()
nécessaires pour comprendre le rôle de cette fonction. - Modifiez les noms
mystere
,m
etn
pour qu'ils soient plus explicites. - Ajoutez un docstring à cette fonction dans lequel les préconditions sur
borne_sup
et les postconditions sur le résultat renvoyé sont explicites. - Ajoutez une assertion afin que le paramètre
borne_sup
respecte les spécifications.