Bonjour à tous, j'ai un programme dont je dois trouver l'invariant de boucle. La notion étant assez nouvelle pour moi, je doute du résultat que j'ai trouvé. Est-ce que vous pourriez m'indiquer si la réponse est bonne ?
Voici le programme :
fonction binaire(n)
-----------liste = liste vide
----------- r = n
-----------tant que r != 0 et r != 1 faire
--------------------- ajoute le reste de la division euclidienne de r par 2 à la liste
--------------------- r devient le quotient de la division euclidienne de r par 2
----------- ajouter r à la fin de la liste
----------- afficher la liste
(NB : cet alogorithme donne l'écriture binaire d'un nombre décimal)
Pour moi l'invariant de boucle est :
n =( L[0] + 2L[1] + 4L[2] + ... + 2^i L[i] ) +(2^(i+1) r) (pour toute valeur de i)
Est-ce bien cela ?
Merci d'avance.
Invariant de boucle
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.