Invariant/variant boucle
Résolu/Fermé
Mrpython
-
7 nov. 2020 à 18:06
yg_be Messages postés 23171 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 septembre 2024 - 7 nov. 2020 à 22:31
yg_be Messages postés 23171 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 septembre 2024 - 7 nov. 2020 à 22:31
2 réponses
yg_be
Messages postés
23171
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 septembre 2024
1 532
7 nov. 2020 à 19:44
7 nov. 2020 à 19:44
bonjour,
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu vérifié avec quelques exemples que ton invariant était vrai?
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu vérifié avec quelques exemples que ton invariant était vrai?
Bonsoir,
J'ai compris qu'un invariant est une expression mathématiques qui est vraie en entrée, à la fin de chaque tour et en sortie de boucle.
Le variant lui est un entier positif en entrée de boucle, il diminue à chaque tour et vaut 0 en sortie de boucle. Donc pour moi le variant est un peu l'inverse de la définition de base de type:
def factorielle(n):
"""int->int
hypothèse : n>=0
Retourne le produit factoriel n!"""
# k : int
k=n # on démarre au rang 1
# f : int
f=1 # factorielle au rang 1
while k!=0:
f=f*k
k=k-1
return f
Merci pour votre aide
J'ai compris qu'un invariant est une expression mathématiques qui est vraie en entrée, à la fin de chaque tour et en sortie de boucle.
Le variant lui est un entier positif en entrée de boucle, il diminue à chaque tour et vaut 0 en sortie de boucle. Donc pour moi le variant est un peu l'inverse de la définition de base de type:
def factorielle(n):
"""int->int
hypothèse : n>=0
Retourne le produit factoriel n!"""
# k : int
k=n # on démarre au rang 1
# f : int
f=1 # factorielle au rang 1
while k!=0:
f=f*k
k=k-1
return f
Merci pour votre aide
yg_be
Messages postés
23171
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 septembre 2024
1 532
7 nov. 2020 à 22:31
7 nov. 2020 à 22:31
donc 123=123 te semble un bon invariant?
l'invariant que tu proposes te semble-t-il correspondre à la définition?
c'est quoi une définition de base de type?
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
l'invariant que tu proposes te semble-t-il correspondre à la définition?
c'est quoi une définition de base de type?
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
7 nov. 2020 à 19:49
peux-tu décrire ce que tu comprends de ces définitions?