Vous êtes sur la page 1sur 3

INF1120 Traces des boucles Ismael Doukoure

Commet faire la trace d’exécution des boucles


À la suite de l'exécution de chacune des boucles suivantes, indiquez la valeur affichée. S'il
s'agit d'une boucle infinie, indiquez-le.

a)
int k = 4;
while (k != 4) {
k = k + 2;
}
System.out.println(k);

Iteration Conditions Variables


0 k != 4 k = 4/ k = k + 2;
1 4 != 4 = Faux k=4
Résultat : k = 4

b)
int i = -3;
int j = 1;
for (j = 2; j < 8 ; j = j + 1) {
i = i + j;
}
System.out.println (i);

Iteration Conditions Variables


0 j<8 i = -3/ i = i + j j = 1/ j = j + 1
1 2 < 8 = Vrai i = -3 + 2 = -1 j=2
2 3 < 8 = Vrai i = -1 + 3 = 2 j=2+1=3
3 4 < 8 = Vrai i= 2+4=6 j=3+1=4
4 5 < 8 = Vrai i = 6 + 5 = 11 j=4+1=5
5 6 < 8 = Vrai i = 11 + 6 = 17 j=5+1=6
6 7 < 8 = Vrai i = 17 + 7 = 24 j=6+1=7
7 8 < 8 = Faux j=7+1=8
Résultat : i = 24
INF1120 Traces des boucles Ismael Doukoure

c)
int j = 18;
int k = 0;
do {
j = j - 2;
k = k + 4;
} while (j != k || k != 21);
System.out.println (j);

Iteration Conditions Variables


j = 18 k=0
0 j != k || k != 21
j=j-2 k=k+4
1 j = 18 - 2 = 16 k=0+4=4
2 16 != 4 || 4 != 21 = Vrai j = 16 - 2 = 14 k=4+4=8
3 14 != 8|| 8 != 21 = Vrai j = 14 - 2 = 12 k = 8 + 4 = 12
4 12 != 12 || 12 != 21 = Vrai j = 12 - 2 = 10 k = 12 + 4 = 16
5 10 != 16 || 16 != 21 = Vrai j = 10 - 2 = 8 k = 16 + 4 = 20
6 8 != 20 || 20 != 21 = Vrai j= 8-2=6 k = 20 + 4 = 24
7 6 != 24 || 24 != 21 = Vrai j= 6-2=4 k = 24 + 4 = 28
Résultat : Boucle infinie
INF1120 Traces des boucles Ismael Doukoure

d)
int i = 7;
int j = 1;
do {
for (int k = 3 ; k <= i ; k = k + 1) {
j = j + 1;
}
i = i - 2;
j = j - 1;
} while (i % 4 != 'B' - 'A');
System.out.println (j);

Iteration Conditions Variables


externe
i=7 j=1
0 i % 4 != 1
i=i-2 j=j-1
Itération Interne
1
i=7–2=5 j=6–1=5
2 5 % 4 != 1 = Faux
Résultat : j = 5

Iteration Conditions Variables


interne
0 k <= i j=1 k=3
j=j+1 k=k+1
1 3 <= 7 = Vrai j=1+1=2
2 4 <= 7 = Vrai j=2+1=3 k=3+1=4
3 5 <= 7 = Vrai j=3+1=4 k=4+1=5
4 6 <= 7 = Vrai j=4+1=5 k=5+1=6
5 7 <= 7 = Vrai j=5+1=6 k=6+1=7
6 8 <= 7 = Faux k=7+1=8
Fin de la boucle interne