Exercice JavaScript Corrigé – Partie 5

Avec des exercices corrigés en JavaScript, vous pratiquerez divers concepts du langage JavaScript. Vous commencerez par des exercices JavaScript de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
 
 

Exercice 1:

Écrivez une fonction qui prend un entier et:

  • Si le nombre est un multiple de 3, retournez « Hello ».
  • Si le nombre est un multiple de 5, retournez « World ».
  • Si le nombre est un multiple de 3 et de 5, retournez « Hello World ».

Exemple:

checkNbr(3) ➞ "Hello"
checkNbr(5) ➞ "World"
checkNbr(15) ➞ "Hello World"
// Fonction permettant de vérifier si un nombre
// est un multiple de 3, de 5 ou des deux
function checkNbr(n) {

    // Vérifie d'abord si le nombre est un multiple
    // de 3 et de 5, donc un multiple de 15
    if (n % 15 === 0) {
        return "Hello World";
    }

    // Vérifie si le nombre est uniquement un multiple de 3
    if (n % 3 === 0) {
        return "Hello";
    }

    // Vérifie si le nombre est un multiple de 5
    if (n % 5 === 0) {
        return "World";
    }

    // Retourne une valeur par défaut si le nombre
    // n'est ni un multiple de 3 ni de 5
    return "";
}

// Test de la fonction avec différents exemples
console.log(checkNbr(3));
console.log(checkNbr(5));
console.log(checkNbr(15));
console.log(checkNbr(7));
 

Exercice 2:

Écrivez une expression régulière permettant de révéler un message caché.

Le texte contient des nombres qu’il faut supprimer afin de retrouver le message.

Pour cela, utilisez la classe de caractères \D, qui permet de cibler les caractères non numériques, ainsi que le modificateur g pour effectuer une recherche globale.

Rappel :

  • \D correspond à tout caractère qui n’est pas un chiffre.
  • g permet de rechercher toutes les occurrences dans la chaîne.
// Expression régulière qui recherche tous les caractères non numériques
const patt = /\D/g;

// Message contenant des caractères non numériques et des chiffres
const message = "H1e2l3l4o5 W6o7r8l9d";

// Remplace tous les caractères non numériques par une chaîne vide
const resultat = message.replace(patt, "");

// Affiche le résultat
console.log(resultat);
 

Exercice 3:

Écrivez une fonction JavaScript appelée tabX2() qui reçoit un tableau de nombres et retourne un nouveau tableau dans lequel chaque élément est multiplié par 2.

Exemple:

tabX2([1, 2, 3]) ➞ [ 2, 4, 6 ]
tabX2([5, 10, 20]) ➞ [ 10, 20, 40 ]
tabX2([100, 200, 300]) ➞ [ 200, 400, 600 ]
// Fonction permettant de multiplier chaque élément
// d'un tableau par 2
function tabX2(tab) {

    // La méthode map() parcourt chaque élément du tableau
    // et retourne un nouveau tableau avec les valeurs modifiées
    return tab.map(i => i * 2);
}

// Test de la fonction avec différents exemples
console.log(tabX2([1, 2, 3]));
console.log(tabX2([5, 10, 20]));
console.log(tabX2([100, 200, 300]));
 
 

Exercice 4:

Créez une fonction qui prend trois nombres comme arguments et renvoie TRUE si c’est un triangle, sinon renvoie FALSE.

Exemple:

isTriangle(2, 3, 4) ➞ true
isTriangle(2, 4, 5) ➞ true
isTriangle(8, 2, 1) ➞ false

Notez que a, b et, c sont les longueurs des côtés du triangle.

Déterminer si la longueur des trois côtés peuvent faire un triangle est plus facile. Tout ce que vous avez à faire est d’utiliser le théorème d’inégalité, qui stipule que la somme des longueurs de deux côtés d’un triangle est toujours supérieure au troisième côté. Si cela est vrai pour les trois combinaisons, vous aurez un triangle.

La forumule:
a + b > c
a + c > b
b + c > a

// Fonction permettant de vérifier si trois côtés
// peuvent former un triangle
function isTriangle(a, b, c) {

    // Vérifie les trois conditions de l'inégalité triangulaire
    // Les trois conditions doivent être vraies
    return a + b > c &&
           a + c > b &&
           b + c > a;
}

// Test de la fonction avec différents exemples
console.log(isTriangle(2, 3, 4));
console.log(isTriangle(2, 4, 5));
console.log(isTriangle(8, 2, 1));
 

Exercice 5:

Créez une fonction qui renvoie la valeur ASCII du caractère transmis.

Exemple:

charToAscii("A") ➞ 65
charToAscii("a") ➞ 97
charToAscii("+") ➞ 43
La méthode charCodeAt() renvoie un entier compris entre 0 et 65535 représentant l’unité de code UTF-16 à l’index donné.
// Fonction permettant de récupérer le code ASCII
// du premier caractère de la chaîne
function charToAscii(c) {

    // La méthode charCodeAt(0) retourne le code
    // UTF-16 du caractère situé à l'index 0
    return c.charCodeAt(0);
}

// Test de la fonction avec différents caractères
console.log(charToAscii("A"));
console.log(charToAscii("a"));
console.log(charToAscii("+"));
 

Exercice 6:

Avec une fraction sous forme d’une chaîne, indiquez si elle est supérieure ou non à 1 lorsqu’elle est évaluée.

Exemple:

FracSup1("2/2") ➞ false
FracSup1("8/2") ➞ true
FracSup1("1/2") ➞ false
eval() est une fonction globale en JavaScript qui évalue une chaîne spécifiée en tant que code JavaScript et l’exécute.
// Fonction permettant de vérifier si une fraction est supérieure à 1
function FracSup1(f) {

    // Sépare le numérateur et le dénominateur
    // grâce au caractère "/"
    const [numerateur, denominateur] = f.split("/");

    // Convertit les deux valeurs en nombres
    // puis vérifie si la fraction est supérieure à 1
    return Number(numerateur) / Number(denominateur) > 1;
}

// Test de la fonction avec différents exemples
console.log(FracSup1("2/2"));
console.log(FracSup1("8/2"));
console.log(FracSup1("1/2"));
 
 

Exercice 7:

Créez une fonction qui prend un tableau et renvoie la somme de tous les nombres du tableau.

Exemple:

sum([1, 1, 1]) ➞ 3
sum([1, 2, 3]) ➞ 6
sum([-2, 2, 1]) ➞ 1
// Fonction permettant de calculer la somme
// de tous les nombres contenus dans un tableau
function sum(tab) {

    // Variable permettant de stocker la somme
    let s = 0;

    // Parcourt tous les éléments du tableau
    for (let i = 0; i < tab.length; i++) {

        // Ajoute l'élément actuel à la somme
        s += tab[i];
    }

    // Retourne la somme finale
    return s;
}

// Test de la fonction avec différents exemples
console.log(sum([1, 1, 1]));
console.log(sum([1, 2, 3]));
console.log(sum([-2, 2, 1]));
 

Exercice 8:

Créez une fonction qui prend un tableau de mots et le transforme en un tableau de longueur de chaque mot.

Exemple:

countStr(["A", "B", "C"]) ➞ [1, 1, 1]
countStr(["Welcome", "To", "WayToLearnX"]) ➞ [7, 2, 11]
countStr(["Bob", "Ali", "Thomas"]) ➞ [3, 3, 6]
// Fonction permettant de récupérer la longueur
// de chaque mot contenu dans un tableau
function countStr(tab) {

    // La méthode map() parcourt chaque mot du tableau
    // et retourne sa longueur avec la propriété length
    return tab.map(str => str.length);
}

// Test de la fonction avec différents exemples
console.log(countStr(["A", "B", "C"]));
console.log(countStr(["Welcome", "To", "WayToLearnX"]));
console.log(countStr(["Bob", "Ali", "Thomas"]));
 

Exercice 9:

Créez une fonction qui renvoie le nombre de syllabes dans une chaîne.

Exemple:

nbrOfSyllables("SOSOSOSO") ➞ 4
nbrOfSyllables("HAHAHAHAHA") ➞ 5
nbrOfSyllables("RIRIRIRIRIRIRIRIRIRI") ➞ 10
// Fonction permettant de compter le nombre de syllabes
// dans une chaîne composée de syllabes de deux caractères
function nbrOfSyllables(str) {

    // Chaque syllabe contient 2 caractères.
    // On divise donc la longueur de la chaîne par 2.
    return str.length / 2;
}

// Test de la fonction avec différents exemples
console.log(nbrOfSyllables("SOSOSOSO"));
console.log(nbrOfSyllables("HAHAHAHAHA"));
console.log(nbrOfSyllables("RIRIRIRIRIRIRIRIRIRI"));
qcm-javascript

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *