Appliquer la notion
Question
Le programme suivant contient les performances des candidats dans un concours de lancer de javelots.
Compléter le programme pour trouver les positions de la valeur 46 en utilisant l'algorithme naïf de recherche. Donner l'affichage du programme.
1
const sortedPerf = [0, 6, 7, 16, 25, 30, 32, 38, 46, 46, 59, 70, 87, 93, 111]
2
const val = 46
Solution
1
let i = 0
2
while (i < sortedPerf.length && sortedPerf[i] <= val) {
3
if (sortedPerf[i] === val) {
4
console.log(i)
5
}
6
i = i + 1
7
}
8
console.log('Fin')
Le programme affiche :
1
8
2
9
3
Fin
Question
Modifier ce programme pour rechercher la valeur 42 au lieu de la valeur 46. Qu'affiche-t-il ?
Solution
Il n'affiche rien (sauf le message « Fin »
) car l'élément n'appartient pas à la liste. Ainsi, cet algorithme sert également à vérifier si une valeur appartient ou non à une liste triée.
1
/** Code à exécuter */
2
const sortedPerf = [0, 6, 7, 16, 25, 30, 32, 38, 46, 46, 59, 70, 87, 93, 111]
3
const val = 42
4
let i = 0
5
while (i < sortedPerf.length && sortedPerf[i] <= val) {
6
if (sortedPerf[i] === val) {
7
console.log(i)
8
}
9
i = i + 1
10
}
11
console.log('Fin')
12