Salta el contingut

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