Exercices JavaScript Avec Solutions
Exercices JavaScript Avec Solutions
Exercice 1
Exercice 2
Écrivez un programme qui demande la note d'un étudiant (sur 20) et affiche :
• « Insuffisant » sinon
Exercice 3
Utilisez une boucle while pour afficher tous les nombres pairs entre 2 et 50. Calculez et
affichez aussi le nombre total de ces nombres pairs.
Exercice 4
Créez une fonction estPremier(n) qui retourne true si n est un nombre premier, false sinon.
Testez cette fonction avec les nombres 7, 15, 23 et 25.
Exercice 5
Exercice 6
Créez une fonction qui convertit une distance en kilomètres vers des miles. Formule : 1 km =
0.621371 miles.
Exercice 7
Créez un objet voiture avec les propriétés : marque, modele, annee, couleur. Créez une
méthode description() qui retourne une phrase descriptive de la voiture.
Exercice 8
Créez un tableau de nombres. Utilisez map() pour créer un nouveau tableau contenant le
carré de chaque nombre, puis affichez les deux tableaux.
Exercice 9
Exercice 10
let resultat = 0;
if (tableau[i] % 2 === 0) {
resultat += tableau[i];
console.log(resultat);
Exercice 11
Écrivez une fonction fibonacci(n) qui retourne le n-ième terme de la suite de Fibonacci.
Testez avec n = 8.
Exercice 12
Écrivez une fonction qui compte le nombre de voyelles dans une chaîne de caractères. Testez
avec "JavaScript est fantastique".
Exercice 13
Créez un tableau d'objets représentant 4 étudiants avec leurs noms et notes. Triez le tableau
par note décroissante et affichez le classement.
Exercice 14
1. En HTML : créez une liste vide (<ul>) et un champ de texte avec un bouton.
Exercice 15
function calculerAge(anneeNaissance) {
retourner age;
Exercice 16
Créez une calculatrice simple avec les fonctions additionner(), soustraire(), multiplier(),
diviser(). Créez un menu qui permet à l'utilisateur de choisir l'opération et saisir les nombres.
Exercice 17
Exercice 18
Écrivez une fonction qui inverse l'ordre des mots dans une phrase. Exemple : "Bonjour le
monde" devient "monde le Bonjour".
Exercice 19
setTimeout(function() {
console.log(i);
}, 100);
Exercice 1
let num1 = parseFloat(prompt("Entrez le premier nombre :"));
let num2 = parseFloat(prompt("Entrez le deuxième nombre :"));
let num3 = parseFloat(prompt("Entrez le troisième nombre :"));
Exercice 2
let note = parseFloat(prompt("Entrez votre note sur 20 :"));
Exercice 3
let i = 2;
let compteur = 0;
Exercice 5
let prix = [];
for (let i = 0; i < 6; i++) {
prix[i] = parseFloat(prompt(`Entrez le prix de l'article ${i + 1} :`));
}
Exercice 7
let voiture = {
marque: "Toyota",
modele: "Corolla",
annee: 2022,
couleur: "Rouge",
description: function() {
return `Voiture ${this.marque} ${this.modele} de ${this.annee}, couleur ${this.couleur}`;
}
};
console.log(voiture.description());
Exercice 8
javascript
let nombres = [1, 2, 3, 4, 5];
let carres = nombres.map(n => n * n);
Exercice 9
html
<!-- HTML -->
<input type="text" id="nom" placeholder="Votre nom">
<input type="text" id="prenom" placeholder="Votre prénom">
<button id="btn">Valider</button>
<div id="message"></div>
document.getElementById("btn").addEventListener("click", function() {
let nom = document.getElementById("nom").value;
let prenom = document.getElementById("prenom").value;
let message = `Bienvenue ${prenom} ${nom} !`;
document.getElementById("message").innerHTML = message;
});
Exercice 10
Explication : Le code parcourt un tableau et additionne tous les nombres pairs.
Sortie : 6 (car 2 + 4 = 6)
Le code teste si chaque élément est pair avec %2 === 0 et ajoute les nombres pairs à la
variable resultat.
Exercice 11
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
Exercice 12
function compterVoyelles(chaine) {
let voyelles = "aeiouAEIOU";
let compteur = 0;
Exercice 13
let etudiants = [
{nom: "Alice", note: 15},
{nom: "Bob", note: 18},
{nom: "Charlie", note: 12},
{nom: "Diana", note: 16}
];
console.log("Classement :");
for (let i = 0; i < etudiants.length; i++) {
console.log(`${i + 1}. ${etudiants[i].nom} - ${etudiants[i].note}/20`);
}
Exercice 14
html
<!-- HTML -->
<input type="text" id="textInput" placeholder="Entrez du texte">
<button id="ajouterBtn">Ajouter</button>
<ul id="liste"></ul>
document.getElementById("ajouterBtn").addEventListener("click", function() {
let texte = document.getElementById("textInput").value;
if (texte.trim() !== "") {
let li = document.createElement("li");
li.textContent = texte;
document.getElementById("liste").appendChild(li);
document.getElementById("textInput").value = "";
}
});
Exercice 15
Erreurs et corrections :
// Code corrigé
function calculerAge(anneeNaissance) {
let anneeActuelle = 2025; // Mise à jour de l'année
let age = anneeActuelle - parseInt(anneeNaissance); // Conversion en nombre
return age; // "return" au lieu de "retourner"
}
Exercice 16
function additionner(a, b) { return a + b; }
function soustraire(a, b) { return a - b; }
function multiplier(a, b) { return a * b; }
function diviser(a, b) { return b !== 0 ? a / b : "Division par zéro impossible"; }
function calculatrice() {
let operation = prompt("Choisissez une opération (+, -, *, /) :");
let a = parseFloat(prompt("Premier nombre :"));
let b = parseFloat(prompt("Deuxième nombre :"));
let resultat;
switch(operation) {
case "+": resultat = additionner(a, b); break;
case "-": resultat = soustraire(a, b); break;
case "*": resultat = multiplier(a, b); break;
case "/": resultat = diviser(a, b); break;
default: resultat = "Opération invalide";
}
console.log(`Résultat : ${resultat}`);
}
calculatrice();
Exercice 17
function devinerNombre() {
let nombreSecret = Math.floor(Math.random() * 100) + 1;
let tentatives = 7;
let trouve = false;
tentatives--;
}
if (!trouve) {
alert(`Dommage ! Le nombre était ${nombreSecret}`);
}
}
devinerNombre();
Exercice 18
function inverserMots(phrase) {
return phrase.split(' ').reverse().join(' ');
}
let phrase = "Bonjour le monde";
console.log("Phrase originale :", phrase);
console.log("Phrase inversée :", inverserMots(phrase));
Exercice 19
html
<!-- HTML -->
<table id="tableau" border="1">
<tr>
<th>Colonne 1</th>
<th>Colonne 2</th>
</tr>
</table>
<button id="ajouterLigne">Ajouter ligne</button>
document.getElementById("ajouterLigne").addEventListener("click", function() {
let tableau = document.getElementById("tableau");
let nouvelleLigne = tableau.insertRow();
let cellule1 = nouvelleLigne.insertCell(0);
let cellule2 = nouvelleLigne.insertCell(1);
cellule1.innerHTML = "Cellule 1";
cellule2.innerHTML = "Cellule 2";
});
Exercice 20
Problème : Le code affiche 3 trois fois au lieu de 0, 1, 2.
Explication : La variable var i est partagée par toutes les fonctions setTimeout. Quand elles
s'exécutent, la boucle est terminée et i vaut 3.
Solution 1 - Utiliser let :
javascript
for (let i = 0; i < 3; i++) {
setTimeout(function() {
console.log(i);
}, 100);
}
Solution 2 - Utiliser une closure :
javascript
for (var i = 0; i < 3; i++) {
(function(index) {
setTimeout(function() {
console.log(index);
}, 100);
})(i);
}