Col·lecció de 50 Exercicis de JavaScript - Enunciats¶
Introducció¶
Aquesta col·lecció de 50 exercicis està dissenyada per a estudiants que comencen amb JavaScript i volen progressar fins a un nivell intermedi. Els exercicis estan organitzats de forma progressiva, des dels conceptes més bàsics fins als més avançats.
Com utilitzar aquests exercicis¶
- Llegeix l'enunciat amb atenció
- Intenta resoldre l'exercici pel teu compte primer
- Consulta el solucionari interactiu quan necessitis ajuda
- Experimenta amb variacions del codi per aprendre més
Exercicis de Nivell Bàsic (1-15)¶
Exercici 1: Primer programa¶
Escriu un programa que mostri un alert amb el missatge "Hola Món".
Exercici 2: Escriptura a la pàgina¶
Escriu un programa que escrigui "Benvingut a JavaScript" a la pàgina web utilitzant document.write().
Exercici 3: Operacions aritmètiques¶
Crea un programa que sumi dos números (per exemple, 15 + 25) i mostri el resultat per consola utilitzant console.log().
Exercici 4: Variables bàsiques¶
Declara dues variables: nom i edat. Assigna els teus valors personals i mostra'ls per consola amb un missatge personalitzat com "Hola, em dic [nom] i tinc [edat] anys".
Exercici 5: Entrada de dades¶
Crea un programa que demani el nom de l'usuari amb prompt() i el saludi amb un alert personalitzat.
Exercici 6: Calculadora simple¶
Demana dos números a l'usuari utilitzant prompt(), suma'ls i mostra el resultat amb un alert. Recorda utilitzar parseInt() o parseFloat() per convertir els strings a números.
Exercici 7: Comparació de números¶
Escriu un programa que demani dos números a l'usuari i determini quin és el més gran, o si són iguals.
Exercici 8: Paritat¶
Crea un programa que demani un número a l'usuari i determini si és parell o senar utilitzant l'operador mòdul (%).
Exercici 9: Comptador amb bucle for¶
Escriu un bucle for que compti del 1 al 10 i mostri cada número per consola.
Exercici 10: Comptador invers amb while¶
Utilitza un bucle while per comptar del 10 al 1 en ordre descendent i mostrar cada número per consola.
Exercici 11: Taula de multiplicar¶
Crea un programa que demani un número a l'usuari i mostri la seva taula de multiplicar del 1 al 10.
Exercici 12: Validació d'edat¶
Escriu un programa que demani l'edat de l'usuari i indiqui si és menor d'edat (menor de 18 anys), adult (18-65 anys) o jubilat (més de 65 anys).
Exercici 13: Comptar vocals¶
Crea una funció que rebi un text i compti quantes vocals (a, e, i, o, u) conté. Mostra el resultat per consola.
Exercici 14: Array bàsic¶
Crea un array amb els noms de 5 fruites i utilitza un bucle per mostrar cada fruita per consola amb el seu índex.
Exercici 15: Suma d'elements d'array¶
Escriu un programa que tingui un array de números i calculi la suma de tots els seus elements.
Exercicis de Nivell Intermedi (16-35)¶
Exercici 16: Element màxim¶
Crea una funció que rebi un array de números i retorni el valor màxim sense utilitzar Math.max().
Exercici 17: Manipulació del DOM¶
Crea una pàgina HTML amb un botó. Quan es cliqui el botó, ha de canviar el text d'un paràgraf.
Exercici 18: Canvi de colors¶
Escriu un programa que canviï el color de fons d'un element <h1> quan es faci clic sobre ell.
Exercici 19: Generador de números aleatoris¶
Crea un programa que generi un número aleatori entre 1 i 100 cada vegada que es premi un botó i el mostri a la pàgina.
Exercici 20: Calculadora de preus amb IVA¶
Desenvolupa un programa que demani el preu d'un producte i el percentatge d'IVA, i calculi el preu final.
Exercici 21: Validador de contrasenya¶
Crea una funció que validi si una contrasenya té almenys 8 caràcters i conté almenys una lletra majúscula i una minúscula.
Exercici 22: Calculadora d'IMC¶
Crea un programa que calculi l'Índex de Massa Corporal (IMC = pes / altura²) i indiqui la categoria corresponent.
Exercici 23: Ordenació de tres números¶
Escriu un programa que demani tres números i els mostri ordenats de menor a major.
Exercici 24: Joc d'endevinar números¶
Crea un joc on l'ordinador pensi un número entre 1 i 10, i l'usuari hagi d'endevinar-lo amb màxim 3 intents.
Exercici 25: Comptador de paraules¶
Escriu una funció que compti el nombre de paraules en una frase. Les paraules estan separades per espais.
Exercici 26: Calculadora amb funcions¶
Crea una calculadora amb funcions separades per sumar, restar, multiplicar i dividir. Inclou validació per la divisió per zero.
Exercici 27: Array de números parells¶
Crea un programa que generi un array amb els primers 10 números parells (2, 4, 6, 8, ...).
Exercici 28: Inversió d'un string¶
Escriu una funció que rebi un string i el retorni invertit (per exemple: "hola" -> "aloh").
Exercici 29: Comprovador de palíndroms¶
Crea una funció que determini si una paraula és un palíndrom (es llegeix igual cap endavant i cap enrere).
Exercici 30: Cerca en array¶
Escriu una funció que cerqui un element en un array i retorni la seva posició, o -1 si no el troba.
Exercici 31: Generador de nombres aleatoris¶
Crea una funció que generi un array de n números aleatoris entre un valor mínim i màxim.
Exercici 32: Filtre de números parells¶
Donat un array de números, crea un nou array que contingui només els números parells.
Exercici 33: Comptador de caràcters¶
Escriu una funció que compti quantes vegades apareix cada caràcter en un string i mostri els resultats.
Exercici 34: Validador d'email¶
Crea una funció que validi si un string té format d'email vàlid (conté @ i punt després de @).
Exercici 35: Ordenació d'array¶
Implementa l'algoritme de bombolla (bubble sort) per ordenar un array de números de menor a major.
Exercicis de Nivell Avançat (36-50)¶
Exercici 36: Calculadora de factorial¶
Escriu una funció que calculi el factorial d'un número (n! = n × (n-1) × ... × 1).
Exercici 37: Conversor de temperatura¶
Crea un programa que converteixi temperatures entre Celsius, Fahrenheit i Kelvin.
Exercici 38: Comptador de vocals i consonants¶
Escriu una funció que compti separately les vocals i consonants d'un text.
Exercici 39: Cerca del segon element més gran¶
Troba el segon element més gran d'un array de números sense utilitzar sort().
Exercici 40: Generador de patrons¶
Crea un programa que generi un patró triangular d'asteriscs de n files.
Exercici 41: Validador de número de telèfon¶
Crea una funció que validi si un número de telèfon espanyol té el format correcte (9 dígits començant per 6, 7, 8 o 9).
Exercici 42: Calculadora de mitjana i mediana¶
Escriu funcions per calcular la mitjana aritmètica i la mediana d'un array de números.
Exercici 43: Joc de pedra, paper, tisora¶
Implementa el joc clàssic de pedra, paper, tisora contra l'ordinador.
Exercici 44: Comptador de paraules úniques¶
Escriu una funció que compti quantes paraules úniques (sense repeticions) hi ha en un text.
Exercici 45: Convertidor de números romans¶
Crea una funció que converteixi números enters (1-3999) a numeració romana.
Exercici 46: Analizador de text¶
Crea un programa complet que analitzi un text i mostri estadístiques: paraules, caràcters, frases, paraula més llarga, etc.
Exercici 47: Sistema de notes d'estudiants¶
Crea un sistema que gestioni notes d'estudiants: afegir notes, calcular mitjanes, determinar aprovats/suspesos.
Exercici 48: Calendari simple¶
Crea un programa que mostri el calendari d'un mes determinat (introduït per l'usuari).
Exercici 49: Codificador/Descodificador Caesar¶
Implementa el xifratge Caesar que desplaça cada lletra un número determinat de posicions en l'alfabet.
Exercici 50: Simulador de llançament de daus¶
Crea un simulador que llanci múltiples daus i mostri estadístiques dels resultats obtinguts.
Consells per resoldre els exercicis¶
Per als exercicis bàsics (1-15):¶
- Comença sempre provant el codi al navegador
- Utilitza
console.log()per veure què està passant - No tinguis por de cometre errors, són part de l'aprenentatge
Per als exercicis intermedis (16-35):¶
- Planifica abans de codificar
- Divideix el problema en parts més petites
- Utilitza funcions per organitzar millor el codi
Per als exercicis avançats (36-50):¶
- Llegeix l'enunciat diverses vegades
- Pensa en casos especials o límits
- Prova amb diferents entrades per validar la solució
Recursos addicionals¶
- Consola del navegador: Prem F12 per obrir-la
- JSFiddle: jsfiddle.net
- CodePen: codepen.io
- MDN Web Docs: developer.mozilla.org
Nota important¶
Aquests exercicis estan dissenyats per ser resolts progressivament. Si trobeu dificultats amb un exercici, no dubteu a consultar el solucionari interactiu o demanar ajuda al professor.
Bona sort amb els exercicis! 🚀