Tableaux (6 heures)

Pour ces exercices, vous créerez un dépôt git nommé AlgoJS5.

Tirage aléatoire

Ici, nous déclarerons une fonction nommée tirage_tableau qui permettra de tirer au sort plusieurs nombres entiers.

Cette fonction acceptera trois paramètres, n, min et max, représentant respectivement le nombre de tirages, la borne minimale et la borne maximale.

Pour tester cette fonction, nous effectuerons le tirage d'un tableau de vingt nombres entre 0 et 20 (inclus).

Enfin, nous calculerons les statistiques habituelles : minimum, maximum et moyenne.

[
  2,  4,  8,  9,  2, 14, 19,
  1, 20,  5, 17, 11,  4, 13,
  4, 13, 13,  6, 20, 18
]
min 1
max 20
moy 10.15

Nombre d'occurrences

Maintenant, nous écrirons une fonction, nommée combien, qui acceptera deux paramètres :

La fonction retournera un entier correspondant au nombre d'occurrences trouvées.

> combien (t, 20);
2

Indices des occurrences

Cet exercice est semblable au précédent mais nous nous intéresserons ici aux positions des occurrences.

Soit une fonction occurrences (t, x) acceptant les deux mêmes paramètres t et x.

Le résultat de l'appel à cette fonction sera la liste des indices des occurrences de x dans t.

> occurrences (t, 20);
[ 8, 18 ]

Éléménts supérieurs à un seuil

> seuil (t, 15);
[
  { indice: 6, valeur: 19 },
  { indice: 8, valeur: 20 },
  { indice: 10, valeur: 17 },
  { indice: 18, valeur: 20 },
  { indice: 19, valeur: 18 }
]

Tableau inversé

> inverse ([4, 8, 15, 16, 23, 42]);
[ 42, 23, 16, 15, 8, 4 ]

Tableau croissant ?

> croissant ([4, 8, 15, 16, 23, 42]);
true

Tableau symétrique ?

> symetrique ([4, 8, 15, 16, 23, 42]);
false
> symetrique ([0, 5, 1, 5, 0]);
true

Suite de Fibonacci

> fibonacci (20);
[
    0,   1,    1,    2,    3,
    5,   8,   13,   21,   34,
   55,  89,  144,  233,  377,
  610, 987, 1597, 2584, 4181
]
HTML5