Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
Exercice 2
Couverture des instructions {x=12}.
Couverture des arcs {x=5, x=12}.
Couverture des chemins {x=5, x=6, x=11, x=12}.
a = 10 b = 3 c = 4
a = 3 b = 4 c = 10
a = 3 c = 10 b = 4
a=0b=3c=4
a=3b=0c=4
a=3b=4c=0
a=0b=0c=3
a=0b=3c=0
a=3b=0c=0
a=0b=0c=0
1 si les 3 côtés sont égaux
a=3b=3c=3
2 si 2 côtés sont égaux
a=3b=3c=4
a=3b=4c=3
a=4b=3c=3
3 dans les autres cas
a=3b=4c=5
Exercice 3
7 chemins possibles :
1 2 3,
1 2 4 5 6 3,
1 2 4 5 6 7,
1 2 4 5 8 5 6 3,
1 2 4 5 8 5 6 7,
1 2 4 5 8 5 8 5 6 3,
12 4 5 8 5 8 5 6 7.
Exercice 4
a) C’est une erreur classique de fin de parcours de tableau. Quand les indices
commencent à 1, la boucle doit se terminer avec un <= nb éléments du tableau. Il
faudrait avoir while ( (not found ) and ( counter <= number_of_items ) loop ...
b)
c) avec number_of_items = 0 on passe par les deux branches else des if en dehors
du while;
avec number_of_items = 3 et desired_element au rang 2 de la table on boucle deux
fois en passant une fois dans la branche then et une fois dans la branche else du if
dans le while et on termine par la branche then du if final. On couvre donc bien tous
les arcs.
d) Le problème est que seule la partie not found de la condition du while est testée
(la première fois avec la valeur true et la seconde fois avec la valeur false). La partie
counter < number_of_items est seulement testée à true.
Pour tester à faux cette deuxième partie il faut un test comme (number_of_items = 3,
desired_element au rang 3 de la table). Avec ce test, on s’aperçoit que le programme
ne trouve pas l’élément à cause de l’erreur de programmation.