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