Bonjour à toutes et à tous!
Je me tourne vers vous pour la correction d'un exercice dont voici l'énoncé:
"Considérez le problème de la recherche:
Entrée: Une suite n de nombres A={a1,a2,...,an} et une valeur v,
Sortie: Un indice i tel que v=A[i], ou bien la valeur spéciale NIL si v ne figure pas dans A.
Ecrire le pseudo-code pour recherche linéaire, qui parcourt la suite en recherchant v.
En utilisant un invariant de boucle, montrer la validité de l'algorithme.
Vérifier que l'invariant possède les trois propriétés requises."
Voici ce que j'ai rédigé pour la première question:
Si je ne me trompe pas, l'invariant ici est "i=j"...? Il possède ainsi les trois propriétés requises:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Pour j=1 de longueursuite A[j]=v // Valeur à rechercher i=j Pour i>0 Si A[i]=v alors retourner i Sinon retourner valeur v=NIL A[i+1]=A[i]
1: à l'initialisation, i=j puisque la l'indice de la valeur cherchée correspond à l'indice du tableau
2: i=j avant l'itération suivante
3: A la terminaison: Bon bah là je ne sais pas quoi répondre...
Est-ce que quelqu'un pourrait me corriger?
D'avance merci
Titom
Partager