Exercice JavaScript Corrigé – Partie 8

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:

La distance de Hamming est le nombre de caractères qui diffèrent entre deux chaînes. Prenons un exemple :

Str1: « abcdde »
Str2: « abcdbe »

Distance de Hamming = 1 « d » et « b » est la seule différence.

Créez une fonction qui calcule la distance de hamming entre deux chaînes.

Exemple:

distanceHamming("abcdde", "abcdbe") ➞ 1

distanceHamming("abefcd", "cdfgea") ➞ 6

distanceHamming("agresser", "adresser") ➞ 1

distanceHamming("attention", "intention") ➞ 2

Solution:

function distanceHamming(str1, str2) {

	return [...str1].filter((x, i) => x != str2[i]).length
}
 

Exercice 2:

Créez une fonction qui prend un tableau de nombres et renvoie le minimum et le maximum dans un tableau [Min, Max].

Exemple:

getMinMax([8, 1, 9, 2, 6]) ➞ [1, 9]

getMinMax([22, 2]) ➞ [2, 22]

getMinMax([5]) ➞ [5, 5]

Solution:

function getMinMax(tab) {

	return [Math.min(...tab), Math.max(...tab)];
}
 

Exercice 3:

Créez une fonction qui compte le nombre de majuscules dans une chaîne de caractères.

Exemple:

countMaj("abcdEFG") ➞ 3

countMaj("WayToLearnX") ➞ 4

countMaj("abcdefghigklmnopkrstvuwxyz") ➞ 0

Solution:

function countMaj(str) {

	return str.split(/[A-Z]/).length - 1;
}
 
 

Exercice 4:

Créez une fonction qui compte le nombre de syllabes d’un mot. Chaque syllabe est séparée par un tiret -.

Exemple:

nbrOfSlab("prin-temps") ➞ 2

nbrOfSlab("ar-rê-te") ➞ 3

nbrOfSlab("ther-mo-mè-tre") ➞ 4

Solution:

function nbrOfSlab(str) {

	return str.split("-").length;
}
 

Exercice 5:

Implémenter une fonction qui renvoie la distance donnée en kilomètres convertie en miles. Vous devez arrondir le résultat jusqu’au quatrième chiffre décimal.

Exemple:

toMiles(5) ➞ 3.1069

toMiles(7) ➞ 4.3496

toMiles(10) ➞ 6.2137

Solution:

function toMiles(km) {

	return parseFloat((km * 0.621371).toFixed(4))
}
 

Exercice 6:

Créez une fonction qui prend un nombre (de 1 à 12) et renvoie son nom de mois correspondant sous forme de chaîne. Par exemple, si on vous donne 4 en entrée, votre fonction devrait retourner Avril, car Avril est le 4ème mois.

Nombre
Nom du mois
1 Janvier
2 Février
3 Mars
4 Avril
5 Mai
6 Juin
7 Juillet
8 Août
9 Septembre
10 Octobre
11 Novembre
12 Décembre

Exemple:

nomDuMois(3) ➞ "Mars"

nomDuMois(12) ➞ "Décembre"

nomDuMois(6) ➞ "Juin"

Solution:

function nomDuMois(n) {
	const mois = {
		1: 'Janvier',
		2: 'Février',
		3: 'Mars',
		4: 'Avril',
		5: 'Mai',
		6: 'Juin',
		7: 'Juillet',
		8: 'Août', 
		9: 'Septembre', 
		10:	'Octobre', 
		11:	'Novembre', 
		12:	'Décembre'
	};
	return mois[n];
}
 
 

Exercice 7:

Créez une fonction qui renvoie « Majuscule » si toutes les lettres d’un mot sont en majuscules, « Minuscule » si toutes les lettres d’un mot sont en minuscule et « Mix » s’il contient à la fois des majuscules et des minuscules.

Exemple:

caseOf("WAYTOLEARNX") ➞ "Majuscule"

caseOf("waytolearnx") ➞ "Minuscule"

caseOf("WayToLearnX") ➞ "Mix"

Solution:

function caseOf(str) {

	return str === str.toUpperCase() ? 'Majuscule' : 
	       str === str.toLowerCase() ? 'Minuscule' : 'Mix';
}
 

Exercice 8:

Le temps a un format: heures:minutes. Les heures et les minutes ont deux chiffres, comme 07:00. Ecrivez l’expression régulière pour trouver le temps(heures:minutes) dans la chaîne.

Exemple:

"Le restaurant ouvre à 08:00 situé au boulevard du 200:200" ➞ "08:00"

"J'ai pris mon déjeuner à 10:30." ➞ "10:30"

"Je vais aller au cinéma demain à 18:00 du soir. ➞ "18:00"

Solution:

var expr = /\d{2}\:\d{2}/
 

Exercice 9:

Écrivez une fonction qui prend un nombre binaire de 8 bits sous forme de tableau et convertissez-le en décimal.

Exemple:

binToDec([0, 0, 0, 1, 1, 1, 1, 1]) ➞ 31

binToDec([0, 0, 0, 0, 0, 0, 0, 1]) ➞ 1

binToDec([1, 0, 0, 0, 0, 0, 0, 0]) ➞ 128

Solution:

function binToDec(tab) {

	return parseInt(tab.join(""), 2);
}
QCM JavascriptQCM Javascript – Partie 1QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus

Laisser un commentaire

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