Web: Client 2

Pair/impair

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

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

Quel état?

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

  • 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
À [Température] l`eau est [état]

À table

Créer une fonction qui affiche la table de multiplication simple d'un nombre reçu en paramètre

- 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

Par exemple, pour 10
0 * 10 = 0
1 * 10 = 10
2 * 10 = 20
...
10 * 10 = 100

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 somme est la valeur de retour de la fonction
  • Utiliser console.table() pour afficher le tableau reçu 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 dans le programme principal
| (index) | Values |
----------------------
| 0 | '1' |
| 1 | true |
| 2 | -3 |
| 3 | 'patate' |
| 4 | 5.5 |


Somme = 3.5

Premier(ou pas)

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

  • 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 dans le programme principal
    • Formatter l'affichage en séparant chaque valeur par une virgule
Les nombres premiers inférieurs à [nombre]:

[x], [y], [z]

Plus ou moins

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

  • 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
| (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 |

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 demandé.

  • 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.
Bonjour [Prénom] [Nom], vous avez [X] ans.
Vous êtes [status]!

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 en séparant par |
Sans nombres

true | 'patate'

Extras 🚀

2 dimensions de multiplications

Créer une fonction qui génère les valeurs de la table de multiplication d'un nombre reçu en paramètre et stocke le résultat dans un tableau 2 dimensions

Table de 10
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
Par exemple, pour 10
[
[
1, 2, 3, 4, 5,
6, 7, 8, 9, 10
],
[
2, 4, 6, 8, 10,
12, 14, 16, 18, 20
],
[
3, 6, 9, 12, 15,
18, 21, 24, 27, 30
],
...,
[
10, 20, 30, 40, 50,
60, 70, 80, 90, 100
]
]


┌─────────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────┐
│ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │
├─────────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼─────┤
│ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 10 │
│ 1 │ 2 │ 4 │ 6 │ 8 │ 10 │ 12 │ 14 │ 16 │ 18 │ 20 │
│ 2 │ 3 │ 6 │ 9 │ 12 │ 15 │ 18 │ 21 │ 24 │ 27 │ 30 │
│ 3 │ 4 │ 8 │ 12 │ 16 │ 20 │ 24 │ 28 │ 32 │ 36 │ 40 │
│ 4 │ 5 │ 10 │ 15 │ 20 │ 25 │ 30 │ 35 │ 40 │ 45 │ 50 │
│ 5 │ 6 │ 12 │ 18 │ 24 │ 30 │ 36 │ 42 │ 48 │ 54 │ 60 │
│ 6 │ 7 │ 14 │ 21 │ 28 │ 35 │ 42 │ 49 │ 56 │ 63 │ 70 │
│ 7 │ 8 │ 16 │ 24 │ 32 │ 40 │ 48 │ 56 │ 64 │ 72 │ 80 │
│ 8 │ 9 │ 18 │ 27 │ 36 │ 45 │ 54 │ 63 │ 72 │ 81 │ 90 │
│ 9 │ 10 │ 20 │ 30 │ 40 │ 50 │ 60 │ 70 │ 80 │ 90 │ 100 │
└─────────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴─────┘
  • Parcourir le tableau pour créer une string qui sépare les différentes cases du tableau et en faire l'affichage
    👀 Comment aligner les colonnes pour l'affichage?
[ 1 ][ 2 ][ 3 ] ... [ 10 ]
[ 1 ]| 1 || 2 || 3 | ... | 10 |
[ 2 ]| 2 || 4 || 6 | ... | 20 |
[ 3 ]| 3 || 6 || 9 | ... | 30 |
[ 4 ]| 4 || 8 || 12 | ... | 40 |
[ 5 ]| 5 || 10 || 15 | ... | 50 |
[ 6 ]| 6 || 12 || 18 | ... | 60 |
[ 7 ]| 7 || 14 || 21 | ... | 70 |
[ 8 ]| 8 || 16 || 24 | ... | 80 |
[ 9 ]| 9 || 18 || 27 | ... | 90 |
[ 10 ]| 10 || 20 || 30 | ... | 100 |

Exemple pour construire un tableau 2D dynamiquement

const nb_lignes = 5;
const nb_colonnes = 10;

let tableau2d = []; // dimension 1

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

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

console.table(tableau2d);
┌─────────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
│ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │
├─────────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
│ 0 │ '0,0' │ '0,1' │ '0,2' │ '0,3' │ '0,4' │ '0,5' │ '0,6' │ '0,7' │ '0,8' │ '0,9' │
│ 1 │ '1,0' │ '1,1' │ '1,2' │ '1,3' │ '1,4' │ '1,5' │ '1,6' │ '1,7' │ '1,8' │ '1,9' │
│ 2 │ '2,0' │ '2,1' │ '2,2' │ '2,3' │ '2,4' │ '2,5' │ '2,6' │ '2,7' │ '2,8' │ '2,9' │
│ 3 │ '3,0' │ '3,1' │ '3,2' │ '3,3' │ '3,4' │ '3,5' │ '3,6' │ '3,7' │ '3,8' │ '3,9' │
│ 4 │ '4,0' │ '4,1' │ '4,2' │ '4,3' │ '4,4' │ '4,5' │ '4,6' │ '4,7' │ '4,8' │ '4,9' │
└─────────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘

Toute bonne chose a une fin

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

  • Par exemple, pour 5 (donc 5 + 4 + 3 + 2 + 1 + 0), la somme est 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.