• Aucun résultat trouvé

TD1.5  Preuves de correction et de terminaison

N/A
N/A
Protected

Academic year: 2022

Partager "TD1.5  Preuves de correction et de terminaison"

Copied!
3
0
0

Texte intégral

(1)

TD1.5 Preuves de correction et de terminaison

Objectifs

À la n de cette séance, vous devriez être capable de :

exhiber un invariant d'une boucle, et l'enrichir éventuellement an d'établir la preuve de correction d'un algorithme simple ;

donner un variant de boucle an de prouver la terminaison d'un algorithme simple.

Exercice 1 : Que calcule cet algorithme ?

Soit l'algorithme suivant : Data : Un entier n

Result : Un booléen ploum ploum:=f alse

i:= 1

while i < n−1 et notploum do i:=i+ 1

ploum:= (nmoduloi= 0)

1. Donnez une spécication la plus précise possible de ce programme.

2. Quel est son coût ?

3. Donnez un invariant de la boucle permettant d'établir la preuve que ce programme respecte la spécication que vous avez donnée.

Exercice 2 : Amélioration de l'algorithme

Vous connaissez certainement un algorithme qui respecte la même spécication, mais dont le coût est d'un ordre de grandeur plus petit en fonction den.

1. Écrivez cet algorithme.

2. Quel est son coût ?

3. Donnez un invariant de la boucle qui pemette d'établir la preuve que ce programme respecte sa spécication.

L3 Info Algorithmique et analyse d'algorithmes 2021-2022 1/3

(2)

TD1.5 Preuves de correction et de terminaison

Exercice 3 : Histoires d'invariants

Pour prouver un énoncé de la forme : {E}-- point 1

while C do {S} I

il sut de trouver un invariantP judicieux et vrai au point 1.

Explicitez les propriétés à montrer en fonction de E, S, C et I : 1. P est vrai au point 1

2. P est un invariant

3. P est judicieux (il permet de conclure que S est vrai)

Pour les deux algorithmes précédemment écrits, donnez des exemples de propriétés qui vérient seulement une ou deux des trois propriétés requises : par exemple, un invariant vrai au point 1, mais qui n'est pas judicieux, etc.

Exercice 4 : Pour la route

Établir la terminaison et la correction de l'algorithme suivant : Data : un entiern≥0

Result : c est la racine carrée denarrondie à l'entier inférieur c:= 0

s:= 1

while s≤ndo c:=c+ 1 s:=s+ 2∗c+ 1

L3 Info Algorithmique et analyse d'algorithmes 2021-2022 2/3

(3)

TD1.5 Preuves de correction et de terminaison

Membres du groupe

Exercice 3 : Histoires d'invariants

Pour prouver un énoncé de la forme : {E}-- point 1

while C do {S} I

il sut de trouver un invariantP judicieux et vrai au point 1.

Explicitez les propriétés à montrer en fonction de E, S, C et I : 1. P est vrai au point 1

2. P est un invariant

3. P est judicieux (il permet de conclure que S est vrai)

Pour les deux algorithmes précédemment écrits, donnez des exemples de propriétés qui vérient seulement une ou deux des trois propriétés requises : par exemple, un invariant vrai au point 1, mais qui n'est pas judicieux, etc.

L3 Info Algorithmique et analyse d'algorithmes 2021-2022 3/3

Références

Documents relatifs

Considérant plutôt alors une position comme l’analogue d’un point de l’espace elliptique, nous ferons correspondre au M2 une surface (complexe) ayant pour

Le but du présent article est de prouver la décidabilité des deux pro- priétés suivantes : « II y a, dans une suite à termes entiers, une infinité de termes nuls »; et «

Le point de concours I des deux tangentes inté- rieures et celui E des deux tangentes extérieures divisent la distance des centres OO' = D en parties harmoniques dans le rapport de R

et ab peut représenter un nombre impair quelconque, puisque dans le cas où le nombre proposé serait premier, ou le carré d'un nombre premier, nous n'avons qu'à faire b = i..

Consigne : J’entoure le titre de l’album écrit dans les

ETUDE DES LIAISONS DANS LE ETUDE DES LIAISONS DANS LE PROGRAMME DE TERMINALE STG PROGRAMME DE TERMINALE STG. POUR

On appelle buissons (branch reduced plane trees ou bushes dans [4]) les arbres ayant au moins une arête et dont aucun sommet, sauf éventuellement la racine, n'est de degré 2 (on

Comme celle-ci ne peut s'appliquer à des facteurs gauches du langage de Lukasiewicz mais seulement à des puissances de celui-ci, on exhibe, dans le deuxième paragraphe une