first commit with existing project files
This commit is contained in:
189
partie1.js
Normal file
189
partie1.js
Normal file
@@ -0,0 +1,189 @@
|
||||
/* 1. Nettoyer et passer en majuscule */
|
||||
function nettoyerEtMajuscules(str) {
|
||||
return str.trim().toUpperCase();
|
||||
}
|
||||
|
||||
console.log("1. " + nettoyerEtMajuscules(" Bonjour le monde "));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 2. Analyse de voyelles */
|
||||
function analyserVoyelles(str) {
|
||||
const voyelles = ["a", "e", "i", "o", "u", "y"];
|
||||
const strArr = str.split("");
|
||||
|
||||
let voyellesCount = 0;
|
||||
let voyellesArr = [];
|
||||
|
||||
strArr.forEach((char) => {
|
||||
if (voyelles.includes(char.toLowerCase())) {
|
||||
voyellesCount++;
|
||||
if (!voyellesArr.includes(char.toLowerCase())) {
|
||||
voyellesArr.push(char.toLowerCase());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return `2. Il y a ${voyellesCount} voyelles : ${voyellesArr.join(", ")}`;
|
||||
}
|
||||
|
||||
console.log(analyserVoyelles("J'apprends JavaScript"));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 3. Fonctions fléchées simples */
|
||||
const doubler = (x) => x * 2;
|
||||
console.log("3. Doubler 5 : " + doubler(5));
|
||||
|
||||
const inverser = (str) => str.split("").reverse().join("");
|
||||
console.log("3. Inverser 'JavaScript' : " + inverser("JavaScript"));
|
||||
|
||||
const estPair = (n) => n % 2 === 0;
|
||||
console.log("3. 4 est pair ? " + estPair(4));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 4. Fonctions fléchées et tableaux */
|
||||
const carreTableau = (tab) => tab.map(x => x * x);
|
||||
console.log("4. Carré des nombres 1, 2, 3 et 4 : " + carreTableau([1, 2, 3, 4]));
|
||||
|
||||
const nombresImpairs = (tab) => tab.filter(x => x % 2 !== 0);
|
||||
console.log("4. Nombres impairs parmi 1, 2, 3, 4, 5 : " + nombresImpairs([1, 2, 3, 4, 5]));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 5. Moyenne pondérée */
|
||||
function moyennePonderee(valeurs, poids) {
|
||||
|
||||
let total = 0;
|
||||
let sommePoids = 0;
|
||||
|
||||
for (let v = 0; v < valeurs.length; v++) {
|
||||
for (let p = 0; p < poids.length; p++) {
|
||||
total += valeurs[v] * poids[p];
|
||||
sommePoids += poids[p];
|
||||
}
|
||||
}
|
||||
return total / sommePoids;
|
||||
}
|
||||
|
||||
console.log("5. Moyenne pondérée de [10, 15, 20], [1, 2, 1] : " + moyennePonderee([10, 15, 20], [1, 2, 1]));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 6. Valeur extrême d'un tableau */
|
||||
function valeurExtremes(tab) {
|
||||
|
||||
const smallest = Math.min(...tab);
|
||||
const biggest = Math.max(...tab);
|
||||
const ecartAbsolu = biggest - smallest;
|
||||
|
||||
console.log("6. Valeur minimale : " + smallest);
|
||||
console.log("6. Valeur maximale : " + biggest);
|
||||
console.log("6. Écart absolu : " + ecartAbsolu);
|
||||
}
|
||||
|
||||
valeurExtremes([3, 7, 1, 12]);
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 7. Vérification de palindrome */
|
||||
function estPalindrome(str) {
|
||||
return str.toLowerCase() === str.toLowerCase().split("").reverse().join("") ?
|
||||
str + " est un palindrome" :
|
||||
str + " n'est pas un palindrome";
|
||||
}
|
||||
|
||||
console.log("7. " + estPalindrome("Kayak"));
|
||||
console.log("7. " + estPalindrome("Voiture"));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 8. Fréquence des lettres */
|
||||
function frequenceLettres(str) {
|
||||
|
||||
const frequencies = {};
|
||||
|
||||
str.split("").forEach(letter => {
|
||||
frequencies[letter] = (frequencies[letter] || 0) + 1;
|
||||
}
|
||||
);
|
||||
|
||||
console.log("8. ", frequencies);
|
||||
}
|
||||
|
||||
frequenceLettres("JavaScript est un langage puissant");
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 9. Factorielle récursive */
|
||||
function factorielle(n) {
|
||||
|
||||
if (n < 0) alert("n doit être supérieur à 0 !")
|
||||
|
||||
if (n === 0 || n === 1) return 1;
|
||||
return n * factorielle(n - 1);
|
||||
}
|
||||
|
||||
console.log("9. 5! = " + factorielle(5));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 10. Analyse d'une phrase */
|
||||
function statistiquesPhrase(str) {
|
||||
|
||||
const nbWords = str.split(" ").length;
|
||||
|
||||
const words = str.split(" ")
|
||||
.sort((a, b) => b.length - a.length);
|
||||
|
||||
const longestWord = words[0]
|
||||
const shortestWord = words.reverse()[0];
|
||||
|
||||
console.log(` 10. Statistiques de la phrase "${str}" :
|
||||
- Nombre de mots : ${nbWords}
|
||||
- Mot le plus long : ${longestWord}
|
||||
- Mot le plus court : ${shortestWord}
|
||||
`);
|
||||
}
|
||||
|
||||
statistiquesPhrase("JavaScript est un langage puissant");
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 11. Tableaux combinés */
|
||||
const fusionFiltrage = function (tab1, tab2) {
|
||||
return [...new Set([...tab1, ...tab2])]
|
||||
.filter((n) => n % 2 === 0 && n > 10)
|
||||
.sort((a, b) => a - b);
|
||||
}
|
||||
const tab1 = [1, 4, 9, 2];
|
||||
const tab2 = [4, 3, 13, 18];
|
||||
console.log(fusionFiltrage(tab1, tab2));
|
||||
|
||||
console.log("");
|
||||
|
||||
/* 12. Age détaillé */
|
||||
function calculerAgeDetaille(dateNaissance) {
|
||||
const birthdate = new Date(dateNaissance);
|
||||
const today = new Date();
|
||||
|
||||
let years = today.getFullYear() - birthdate.getFullYear();
|
||||
let months = today.getMonth() - birthdate.getMonth();
|
||||
let days = today.getDate() - birthdate.getDate();
|
||||
|
||||
if (days < 0) {
|
||||
months--;
|
||||
const lastMonth = new Date(today.getFullYear(), today.getMonth(), 0);
|
||||
days += lastMonth.getDate();
|
||||
}
|
||||
|
||||
if (months < 0) {
|
||||
years--;
|
||||
months += 12;
|
||||
}
|
||||
|
||||
return `${years} ans, ${months} mois, ${days} jours`;
|
||||
}
|
||||
|
||||
console.log(calculerAgeDetaille("2000-06-20"));
|
||||
Reference in New Issue
Block a user