Bases de la programmation (trace de pseudo-code)
Le programme suivant affiche une liste chaînée, dont les éléments sont reliés par le tableau next, en la parcourant à partir de l'élément d'indice 1. Les indices du tableau commencent à 1. Une valeur 0 dans next marque la fin de la liste. Quelle suite de valeurs est affichée ?
string array: val ← {"A", "B", "C", "D", "E"}
integer array: next ← {3, 0, 5, 2, 4}
integer: p ← 1
while (p ≠ 0)
output val[p]
p ← next[p]
endwhile
- AA, B, C, D, E
- BC, E, D, B
- CA, C, E, D, B
Afficher la réponse et l'explication
Réponse : C. A, C, E, D, B
Avec p = 1, le programme affiche val[1], A, et p ← next[1] fait passer p à 3. Il affiche ensuite C et passe à next[3] = 5, affiche E et passe à next[5] = 4, affiche D et passe à next[4] = 2, puis affiche B et passe à next[2] = 0, ce qui termine la boucle. L'affichage est A, C, E, D, B. L'ordre de la liste est fixé par les valeurs de next, et non par l'ordre du tableau.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)