Invariant/variant boucle
Résolu/Fermé
Mrpython
-
7 nov. 2020 à 18:06
yg_be Messages postés 21817 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 octobre 2023 - 7 nov. 2020 à 22:31
yg_be Messages postés 21817 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 octobre 2023 - 7 nov. 2020 à 22:31
A voir également:
- Invariant/variant boucle
- Boucle excel sans macro - Forum Excel
- Ipad s'allume et s'éteint en boucle - Forum iPad
- Vlc lecture en boucle ✓ - Forum lecteurs video
- Tv samsung ue46d5700rsxzf s'allume et s'éteint en boucle - Forum Vidéo/TV
- Ordinateur redémarre en boucle sans affichage - Forum Matériel informatique
2 réponses
yg_be
Messages postés
21817
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 382
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
21817
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 382
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?