Décembre 2016 - Université de La Réunion

Transcription

Décembre 2016 - Université de La Réunion
Université de la Réunion – Faculté des Sciences et Technologies
Décembre 2016
M1 informatique
Algorithmique avancée – second contrôle continu
Durée : 75 minutes – sans document ni moyen de communication
Répondre dans les cadres prévus à cet effet.
Nom :
Prénom(s) :
Signature :
Exercice 1 (5 •) On raisonne dans l’ensemble Z des entiers relatifs.
Dessinez le graphe de contraintes du système S : x1 − x2 ≤ 2, x2 − x3 ≤ 1, x3 − x1 ≤ −4. Le système S est-il soluble ?
Si oui, calculez une solution en appliquant l’algorithme de Bellman-Ford. Sinon, justifiez.
Exercice 2 (5 •) On raisonne dans l’ensemble Z des entiers relatifs.
Dessinez le graphe de contraintes du système S : x1 − x2 ≤ 2, x2 − x3 ≤ 1, x3 − x1 ≤ −1. Le système S est-il soluble ?
Si oui, calculez une solution en appliquant l’algorithme de Bellman-Ford. Sinon, justifiez.
Nom :
Prénom(s) :
Signature :
Exercice 3 (5 •) On raisonne dans l’ensemble Z des entiers relatifs.
Le triplet de Hoare {i = 5} a := i + 2 {a = 7 & i > 0} est-il valide ?
Si oui, prouvez-le. Sinon, donnez un contre-exemple.
Le triplet de Hoare {i = 3 ∗ j} if i > j then m:=i-j else m:=j-i {m = 2 ∗ j} est-il valide ?
Si oui, prouvez-le. Sinon, donnez un contre-exemple.
Exercice 4 (5 •) On raisonne dans l’ensemble Z des entiers relatifs et on considère le programme P suivant :
{x = 0 & y = a}
while y<>0 do
x := x+b;
y := y-1;
{x = a*b}
Montrez que x + y ∗ b = a ∗ b est un invariant inductif de la boucle while ci-dessus.
Terminez la preuve de correction partielle de P