Bases de la programmation (trace de pseudo-code)
Les indices du tableau commencent à 1. Le programme suivant cherche le plus grand élément. Quelle est la valeur de m après son exécution ?
integer array: a ← {3, 8, 2, 8, 5}
integer: m ← 1
for (i from 2 to 5 step 1)
if (a[i] > a[m])
m ← i
endif
endfor
- A2
- B4
- C8
Afficher la réponse et l'explication
Réponse : A. 2
m est l'indice du plus grand élément rencontré jusque-là. Pour i = 2, a[2] = 8 > a[1] = 3, donc m = 2. Pour i = 4, a[4] = 8 est égal à a[2] = 8 : > n'est pas vérifié et m ne change pas. Quand le maximum apparaît plusieurs fois, c'est donc l'indice de sa première occurrence, 2, qui reste. Avec ≧, on obtiendrait l'indice de la dernière occurrence, 4.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)