Invariant/variant boucle
Résolu/Fermé
Mrpython
-
7 nov. 2020 à 18:06
yg_be
yg_be
- Messages postés
- 20032
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 13 août 2022
A voir également:
- Invariant/variant boucle
- Variant de boucle python - Forum - Python
- Boucle for matlab ✓ - Forum - Matlab
- Play store bug redemarre en boucle ✓ - Forum - Samsung
- Mise à disposition de boucle locale dédiée ✓ - Forum - Internet / Réseaux sociaux
- Coordinateur de windows installer tourne en boucle ✓ - Forum - Windows
2 réponses
yg_be
7 nov. 2020 à 19:44
- Messages postés
- 20032
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 13 août 2022
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
7 nov. 2020 à 22:31
- Messages postés
- 20032
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 13 août 2022
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?