1.2 - Exercices


Pair/impair

Créer une fonction qui reçoit un nombre en paramètre et indique s'il est pair ou impair.

[Nombre] est [pair/impair]
  • Valider que c'est bien un nombre entier, sinon afficher un message dans la console

Quel état?

Créer une fonction qui recoit la température de l'eau en paramètre et affiche son état à la console :

À [Température] l`eau est [état]
  • L'état est obtenu selon les conditions suivantes
    • Solide < 0
    • Liquide >= 0 ET < 100
    • Gazeux >= 100
  • Valider que le paramètre est bien un nombre, sinon afficher un message d'erreur à la console

À table

Créer une fonction qui affiche la table de multiplication simple d'un nombre reçu en paramètre. Par exemple, pour 10 :

0 * 10 = 0
1 * 10 = 10
2 * 10 = 20
...
10 * 10 = 10
  • Valider que le paramètre est bien un nombre entier, sinon afficher un message d'erreur à la console
  • Par défaut, afficher la table de 10 si aucun paramètre n'est fourni

Un petit plus

Créer une fonction qui calcule la somme des nombres contenus dans un tableau

  • Le tableau est reçu en paramètre
  • Le résultat est la valeur de retour de la fonction
| (index) |  Values  |
----------------------
|    0    |     1    |
|    1    |   true   |
|    2    |    -3    |
|    3    | 'patate' |
|    4    |   5.5    |


Somme = [somme]
  • Utiliser console.table() pour afficher le tableau dans la fonction
  • Valider que le paramètre est un tableau et que la case est un nombre avant de l'inclure au calcul
  • Récupérer la valeur de retour de la fonction et l'afficher à la console

Premier(ou pas)

Créer une fonction qui calcule les nombres premiers inférieurs à un nombre reçu en paramètre.

Les nombres premiers inférieurs à [nombre]:

[x], [y], [z]

[x]
[y]
[z]
  • Valider que le paramètre reçu est bien un nombre, entier, supérieur à 1; sinon afficher un message à la console
  • Stocker les nombres dans un tableau, puis le retourner de la fonction
  • Récupérer la valeur de retour de la fonction et l'afficher à la console
    • Formatter un second affichage avec 1 item par ligne

Plus ou moins

Créer une fonction qui parcourt un tableau et inverse le signe des cases qui contiennent un nombre.

| (index) |  Values  |
----------------------
|    0    |     1    |
|    1    |   true   |
|    2    |    -3    |
|    3    | 'patate' |
|    4    |     6    |
|    5    |   -5.5   |

| (index) |  Values  |
----------------------
|    0    |    -1    |
|    1    |   true   |
|    2    |     3    |
|    3    | 'patate' |
|    4    |    -6    |
|    5    |    5.5   |
  • Valider que le paramètre est un tableau et que la case est un nombre avant de faire le calcul
  • Afficher le tableau avant et après le traitement avec console.table

Bonjour!

Créer une fonction qui reçoit le prénom, le nom et l’année de naissance d'un individu. Afficher ensuite un message à la console selon le format:

Bonjour [Prénom] [Nom], vous avez [X] ans.
Vous êtes [status]!
  • Exploiter l'interpolation de string pour construire le message : `Ma string avec ${maVariable}`
  • Pour récupérer l'année courante et calculer l'âge : const currentYear = (new Date().getFullYear());
  • Le [status] est déterminé selon l’âge:
    • < 25 : jeune
    • < 50 : plus tout jeune
    • < 75 : vieillissant
    • >= 75 : vieux
  • Valider les parametres reçus, Prénom et Nom sont des string, Année est un nombre entier inférieur à l'année courante.

Sans nombres

Créer une fonction qui traite un tableau pour en retirer toutes les valeurs qui sont des nombres

  • La méthode splice permet de supprimer un item d'un tableau: unTableau.splice(index, 1), supprime 1 item à la position index du tableau
    • Penser à parcourir le tableau en partant de la fin pour éviter les erreurs d'index causés par la suppression
  • Valider que le paramètre est un tableau, sinon afficher un message d'erreur à la console
  • Retourner le tableau traité de la fonction et afficher à la console
Sans nombres

true, 'patate'

Extras 🚀

2 dimensions de multiplications

Créer une fonction qui génère la table de multiplication complète d'un nombre et stocke le résultat dans un tableau 2 dimensions, par exemple, pour 10 :

0   1   2   3 ... 10
1   1   2   3     10
2   2   4   6     20
3   3   6   9     30
...
10 10  20  30    100
  • Comparer l'affichage de console.log vs console.table
  • Parcourir le tableau pour créer une string qui sépare les différentes cases du tableau et en faire l'affichage, par exemple:
| 0 | 1 | 2 | 3 | 
| 1 | 1 | 2 | 3 |
| 2 | 2 | 4 | 6 |
| 3 | 3 | 6 | 9 |
  • Exemple pour construire un tableau 2D dynamiquement
nbLignes = 5;
nbColonnes = 10;

let tableau2d = []; // Dimension 1

for(let ligne = 0; ligne < nbLignes; ligne++) {
    tableau2d[ligne] = []; // Dimension 2
    // Chaque case de la 1ere dimension contient en fait un tableau

    for(let colonne = 0; col < nbColonnes; colonne++) {
        tableau2d[ligne][colonne] = (row + "," + colonne);
    }
}

console.table(tableau2d);

Toute bonne chose a une fin

Créer une fonction récursive qui calcule la somme d'un entier positif et des entiers qui le précèdent

  • Par exemple, pour 5 (donc 5 + 4 + 3 + 2 + 1 + 0), on affiche 15
  • Validez que la valeur reçue est bien un entier positif
  • Affichez le résultat à la console

Défis JavaScript

Réaliser des exercices du site JS Challenger.