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
  1. A2
  2. B4
  3. 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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la programmation (trace de pseudo-code)

  1. Le programme suivant devait inverser l'ordre des éléments du tableau a. Les indices du tableau commencent à 1. Que contient a après l'exécution ?
  2. Les indices du tableau commencent à 1. Que contient le tableau a après l'exécution du programme suivant ?
  3. Les indices du tableau commencent à 1. Le programme suivant compare des éléments voisins. Quelle est la valeur de c après son exécution ?
  4. m[i, j] désigne l'élément de la ligne i et de la colonne j du tableau à deux dimensions m, et les indices commencent à 1. Quelle est la valeur de s après l'exécution du programme suivant ?
  5. Le programme suivant copie les éléments du tableau à deux dimensions m, de 4 lignes et 5 colonnes, dans le tableau b de 20 éléments. m[i, j] désigne l'élément de la ligne i et de la colonne j, et les indices commencent à 1. À quel indice de b m[3, 2] est-il stocké ?