Exercicis de Programació en JavaScript¶
1. Conceptes Bàsics (20 Exercicis)¶
1.1. Variables, Tipus de Dades i Operadors (Exercicis 1-10)¶
📝 Exercici 1: Intercanvi de Valors¶
Defineix dues variables, a = 5 i b = 10. Escriu un codi per intercanviar els seus valors sense utilitzar una variable temporal.
let a = 5;
let b = 10;
// El teu codi aquí
Solució
let a = 5;
let b = 10;
[a, b] = [b, a];
console.log(`a: ${a}, b: ${b}`); // a: 10, b: 5
📝 Exercici 2: Conversió de Temperatura¶
Crea una funció que accepti una temperatura en Celsius (\(C\)) i la retorni en Fahrenheit (\(F\)). La fórmula és: \(F = C \times (9/5) + 32\).
function celsiusToFahrenheit(c) {
// El teu codi aquí
}
Solució
function celsiusToFahrenheit(c) {
return c \* (9 / 5) + 32;
}
console.log(celsiusToFahrenheit(25)); // 77
📝 Exercici 3: Concatenació i Tipus¶
Declara una variable nom = "Anna" (String) i edat = 28 (Number). Concatena-les en una frase i verifica quin és el tipus de dada resultant.
let nom = "Anna";
let edat = 28;
// El teu codi aquí
Solució
let nom = "Anna";
let edat = 28;
let frase = nom + " té " + edat + " anys.";
console.log(frase); // Anna té 28 anys.
console.log(typeof frase); // string
📝 Exercici 4: Operador Mòdul¶
Determina si un número sencer, emmagatzemat a la variable num = 17, és parell o imparell utilitzant l'operador mòdul (%).
let num = 17;
// El teu codi aquí
Solució
let num = 17;
let esParell = num % 2 === 0;
console.log(esParell ? "Parell" : "Imparell"); // Imparell
📝 Exercici 5: Valor Absolut¶
Utilitza l'objecte Math per obtenir el valor absolut del número x = -42.
let x = -42;
// El teu codi aquí
Solució
let x = -42;
let absolut = Math.abs(x);
console.log(absolut); // 42
1.2. Estructures de Control (Exercicis 6-10)¶
📝 Exercici 6: Bucle for (Comptador)¶
Utilitza un bucle for per imprimir a la consola tots els números de l'1 al 5.
// El teu codi aquí
Solució
for (let i = 1; i <= 5; i++) { console.log(i); // 1, 2, 3, 4, 5 }
📝 Exercici 7: Condicional if (Major d'Edat)¶
Escriu un codi que, donada la variable edat = 16, imprimeixi "Major d'edat" si l'edat és 18 o més, o "Menor d'edat" en cas contrari.
let edat = 16;
// El teu codi aquí
Solució
let edat = 16;
if (edat >= 18) {
console.log("Major d'edat");
} else {
console.log("Menor d'edat"); // Menor d'edat
}
📝 Exercici 8: Bucle while (Decreixent)¶
Utilitza un bucle while per imprimir els números del 3 a l'1, de forma decreixent.
// El teu codi aquí
Solució
let i = 3;
while (i >= 1) {
console.log(i); // 3, 2, 1
i--;
}
📝 Exercici 9: Estructura switch (Dia de la Setmana)¶
Crea un codi que, donada la variable dia = 3, utilitzi un switch per imprimir el nom del dia de la setmana ("Dilluns", "Dimarts", etc.). Suposa que 1 és Dilluns.
let dia = 3;
// El teu codi aquí
Solució
let dia = 3;
let nomDia;
switch (dia) {
case 1:
nomDia = "Dilluns";
break;
case 3:
nomDia = "Dimecres";
break; // Aquest s'executa
default:
nomDia = "Altre dia";
}
console.log(nomDia); // Dimecres
📝 Exercici 10: Combinació de Bucle i Condicional (Múltiples de 3)¶
Utilitza un bucle for per recórrer els números de l'1 al 10. Imprimeix només aquells que siguin múltiples de 3.
// El teu codi aquí
Solució
for (let i = 1; i <= 10; i++) { if (i % 3 === 0) { console.log(i); // 3, 6, 9 } }
2. Nivell Intermedi (10 Exercicis Restants)¶
2.1. Funcions, Arrays i Strings (Exercicis 11-20)¶
📝 Exercici 11: Funció Fletxa (Suma)¶
Defineix una funció fletxa (arrow function) anomenada suma que accepti dos paràmetres i retorni la seva suma.
// El teu codi aquí
Solució
const suma = (a, b) =\> a + b;
console.log(suma(8, 2)); // 10
📝 Exercici 12: Funció anònima i forEach¶
Donat l'array colors = ["vermell", "blau", "verd"], utilitza el mètode forEach amb una funció anònima per imprimir cada color amb el format "Color: [nom del color]".
const colors = ["vermell", "blau", "verd"];
// El teu codi aquí
Solució
const colors = ["vermell", "blau", "verd"];
colors.forEach(function(color) {
console.log("Color: " + color);
});
// Color: vermell
// Color: blau
// Color: verd
📝 Exercici 13: Mètode map (Quadrat dels Nombres)¶
Donat l'array nombres = [2, 4, 6], utilitza el mètode map per crear un nou array amb el quadrat de cada nombre.
const nombres = [2, 4, 6];
// El teu codi aquí
Solució
const nombres = [2, 4, 6];
const quadrats = nombres.map(n => n * n);
console.log(quadrats); // [4, 16, 36]
📝 Exercici 14: Mètode filter (Nombres Parells)¶
Donat l'array nums = [1, 2, 3, 4, 5, 6], utilitza el mètode filter per crear un nou array amb només els nombres parells.
const nums = [1, 2, 3, 4, 5, 6];
// El teu codi aquí
Solució
const nums = [1, 2, 3, 4, 5, 6];
const parells = nums.filter(n => n % 2 === 0);
console.log(parells); // [2, 4, 6]
📝 Exercici 15: Mètode reduce (Suma Total)¶
Donat l'array preus = [10, 25, 5], utilitza el mètode reduce per calcular la suma total dels preus.
const preus = [10, 25, 5];
// El teu codi aquí
Solució
const preus = [10, 25, 5];
const sumaTotal = preus.reduce((acumulador, preu) => acumulador + preu, 0);
console.log(sumaTotal); // 40
📝 Exercici 16: Manipulació de Strings (toUpperCase i trim)¶
Donada la cadena text = " hola món! ", transforma-la a majúscules i elimina els espais en blanc del principi i del final.
let text = " hola món! ";
// El teu codi aquí
Solució
let text = " hola món\! ";
let resultat = text.trim().toUpperCase();
console.log(resultat); // "HOLA MÓN!"
📝 Exercici 17: Extracció de Substring (slice)¶
De la cadena frase = "JavaScript és genial", utilitza el mètode slice per extreure i imprimir només la paraula "genial".
let frase = "JavaScript és genial";
// El teu codi aquí
Solució
let frase = "JavaScript és genial";
let paraula = frase.slice(-6); // O frase.slice(14)
console.log(paraula); // "genial"
📝 Exercici 18: Inversió d'un String¶
Crea una funció que accepti un string i el retorni invertit. Pista: Combina mètodes d'Array (split, reverse, join).
function inverteixString(str) {
// El teu codi aquí
}
Solució
function inverteixString(str) {
return str.split('').reverse().join('');
}
console.log(inverteixString("codi")); // "idoc"
📝 Exercici 19: Objects (Accés a Propietats)¶
Accedeix a la propietat ciutat de l'objecte persona utilitzant la notació de claudàtors.
const persona = {
nom: "Lluc",
edat: 35,
adreca: {
ciutat: "Barcelona",
cp: 8001
}
};
// El teu codi aquí
Solució
const persona = {
nom: "Lluc",
edat: 35,
adreca: {
ciutat: "Barcelona",
cp: 8001
}
};
const ciutat = persona["adreca"]["ciutat"];
console.log(ciutat); // Barcelona
📝 Exercici 20: Desestructuració d'Array¶
Utilitza la desestructuració d'array per assignar els valors "Primer" i "Tercer" a variables anomenades p i t, respectivament, de l'array llista = ["Primer", "Segon", "Tercer"].
const llista = ["Primer", "Segon", "Tercer"];
// El teu codi aquí
Solució
const llista = ["Primer", "Segon", "Tercer"];
const [p, , t] = llista;
console.log(p); // Primer
console.log(t); // Tercer