Bases de la programmation (trace de pseudo-code)
La procédure bubble suivante est un tri à bulles qui trie le tableau d'entiers data par ordre croissant. swap(data, j, k) est une procédure qui échange les valeurs de data[j] et data[k]. Les indices du tableau commencent à 1. Que faut-il écrire à la place de 【a】 dans le programme ?
○bubble(integer array: data)
integer: n ← length(data)
for (i from n down to 2 step 1)
for (j from 1 to 【a】 step 1)
if (data[j] > data[j + 1])
swap(data, j, j + 1)
endif
endfor
endfor
- Ai
- Bn − i
- Ci − 1
Afficher la réponse et l'explication
Réponse : C. i − 1
Le i extérieur est la position vers laquelle chaque passe amène la plus grande valeur restante (n, n − 1, …, 2 en partant de la fin). La boucle intérieure compare data[j] et data[j + 1] : avec i − 1 comme valeur finale de j, elle compare les paires voisines jusqu'à data[i] sans sortir du tableau. La première passe, avec i = n, amène la plus grande valeur en data[n] ; la suivante va jusqu'à data[n − 1], et ainsi de suite, la plage se réduisant d'une unité à chaque fois. Avec i en 【a】, la première passe lirait data[n + 1].
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)