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