Université Ibn Zohr Année : 2016 / 2017
Faculté des Sciences d’Agadir
Filières : SMI3
Matière : Algorithmique-2
Page 1 / 2
Séance de TD
Complexité et Preuve d’Algorithme
Exercice 1:
Donnez la complexité en O() des programmes suivants (Borne supérieure).
i n
TantQue i > 1 faire
x x+a
i i/2
FinTantQue
Pour i allant de 1 à n faire
Pour j allant de 1 à n faire
x x+3
FinPour
FinPour
Pour i allant de 1 à n faire
Pour j allant de 1 à i faire
x x+3
FinPour
FinPour
Pour i allant de 5 à n-5 faire
Pour j allant de i-5 à i+5 faire
x x+2
FinPour
FinPour
Pour i allant de 1 à n faire
Pour j allant de 1 à n faire
Pour k allant de 1 à n faire
x x+4
FinPour
FinPour
FinPour
Pour i allant de 1 à n faire
Pour j allant de 1 à i faire
Pour k allant de 1 à j faire
x x+4
FinPour
FinPour
FinPour
Exercice 2:
On considère l’algorithme suivant :
Données : un entier naturel a et un entier b
Résultat : un entier p
p 0
m 0
Tant que m < a Faire
p p + b
m m + 1
Fin Tant que
1. Donner la valeur finale de p lorsque (a ; b) = (3 ; 5) et (a ; b) = (4 ;-3). Que fait cet algorithme ?
2. Justifier que cet algorithme se termine. Quelle est la valeur de m à la fin de la boucle ?
3. Vérifier que «p = mb» est un invariant de boucle.
Exercice 3: Preuve d’algorithme (Examen 2016 [5 points])
On considère l’algorithme suivant :
Données : un entier naturel x et un entier naturel y
Résultat : un nombre r
Variables r,s,w : Entier
Début
r 0
s y
Tant que s > 0 faire
r r + x
s s 1
FinTantQue
w y 1
t r
Tant que w > 0 faire
r r + t
w w 1
FinTantQue
Fin
Université Ibn Zohr Année : 2016 / 2017
Faculté des Sciences d’Agadir
Filières : SMI3
Matière : Algorithmique-2
Page 2 / 2
1. Calculer la valeur finale de r lorsque (x ; y) = (3; 2) et (x ; y) = (4; 3).
2. Justifier que l’algorithme se termine en précisant le variant de la première et la deuxième boucle TantQue.
3. Démontrer par récurrence que :
"ri = (y si)x" est un invariant de la première boucle TantQue.
"ri = (y wi)xy" est un invariant de la deuxième boucle TantQue.
4. Que fait cet algorithme (valeur de la variable r à la fin) ?
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !