Salta el contingut

20 Exercicis JavaScript amb Autotest.

Descripció

Aquest fitxer HTML conté 20 exercicis de programació en JavaScript amb un sistema d'autotest integrat que permet als estudiants validar les seves solucions de manera automàtica.

Característiques

Sistema d'Autotest

  • Validació automàtica: Cada exercici inclou 4 casos de test complets
  • 📊 Seguiment de progrés: Barra de progrés visual que mostra l'avenç
  • 🎨 Feedback visual: Colors diferents per a exercicis pendents, superats i fallits
  • 📝 Resultats detallats: Mostra els valors esperats vs obtinguts en cada test
  • Execució immediata: Resultats instantanis en prémer "Executar Tests"
  • 🔄 Test global: Botó per executar tots els tests de cop

Interfície

  • Editor de codi: Àrees editables (contenteditable) per escriure les solucions
  • Indicadors d'estat:
  • 🟡 Pendent: Exercici no executat
  • 🟢 Superat: Tots els tests han passat
  • 🔴 Fallit: Un o més tests han fallat
  • Resum de resultats: Estadístiques en temps real (Superats/Fallits/Pendents)

Contingut dels Exercicis

Exercicis 1-5: Conceptes Bàsics

  1. Suma de dos números: Funció bàsica d'addició
  2. Número parell o imparell: Verificació de paritat
  3. Màxim de dos números: Trobar el valor màxim
  4. Factorial: Càlcul del factorial d'un número
  5. Conversió Celsius a Fahrenheit: Conversió de temperatures

Exercicis 6-10: Manipulació de Strings i Arrays

  1. Inversió de string: Invertir una cadena de text
  2. Compta vocals: Comptar vocals en un string
  3. És palíndrom: Verificar si és palíndrom
  4. Suma d'array: Sumar elements d'un array
  5. Troba el mínim: Trobar el valor mínim d'un array

Exercicis 11-15: Operacions Avançades amb Arrays

  1. Filtra parells: Filtrar només números parells
  2. Duplica valors: Multiplicar per 2 cada element
  3. Capitalitza paraules: Primera lletra en majúscula
  4. Elimina duplicats: Crear array sense duplicats
  5. FizzBuzz: Implementació del clàssic FizzBuzz

Exercicis 16-20: Operacions Complexes

  1. Compta ocurrències: Comptar aparicions d'un valor
  2. Rang de números: Crear array de números consecutius
  3. Aplana array: Convertir array multidimensional a unidimensional
  4. Ordena per longitud: Ordenar strings per longitud
  5. Objecte a parelles: Convertir objecte a array de [clau, valor]

Com Utilitzar

Pas 1: Obrir el Fitxer

Obre 20exercicis-autotest.html en un navegador web modern.

Pas 2: Escriure la Solució

  1. Llegeix la descripció de l'exercici
  2. Clica a l'àrea de codi (fons fosc)
  3. Escriu la teva solució en JavaScript
  4. Assegura't que el nom de la funció coincideix amb el demanat

Pas 3: Executar Tests

  • Per un exercici: Clica el botó "▶ Executar Tests" de l'exercici
  • Per tots: Clica "▶ Executar Tots els Tests" a dalt

Pas 4: Revisar Resultats

  • Verd (✓): Test superat correctament
  • Vermell (✗): Test fallit amb detalls de l'error
  • Revisa els valors esperats vs rebuts per depurar

Pas 5: Corregir i Tornar a Provar

Si hi ha errors: 1. Revisa el codi 2. Fes les correccions necessàries 3. Torna a executar els tests

Exemples de Solucions

Exercici 1: Suma

function suma(a, b) {
    return a + b;
}

Exercici 2: És Parell

function esParell(num) {
    return num % 2 === 0;
}

Exercici 6: Invertir String

function invertirString(str) {
    return str.split('').reverse().join('');
}

Exercici 14: Eliminar Duplicats

function eliminarDuplicats(arr) {
    return [...new Set(arr)];
}

Tecnologies Utilitzades

  • HTML5: Estructura de la pàgina
  • CSS3: Estils i animacions
  • JavaScript (Vanilla): Lògica de tests i validació
  • contenteditable: Editors de codi interactius
  • eval(): Execució dinàmica del codi de l'estudiant

⚠️ ADVERTÈNCIA DE SEGURETAT: Aquest sistema utilitza eval() per executar el codi dels estudiants, cosa que pot ser perillosa en entorns de producció. Aquesta eina està dissenyada exclusivament per a ús educatiu en entorns controlats. NO utilitzeu aquest sistema en aplicacions web públiques o amb codi no confiable.

Requisits del Navegador

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • Opera 76+

Consells per als Estudiants

  1. Llegeix atentament: Assegura't d'entendre què demana l'exercici
  2. Prova amb exemples: Pensa en casos extrems (arrays buits, números negatius, etc.)
  3. Utilitza console.log(): Depura el teu codi si cal
  4. Aprèn dels errors: Els missatges d'error et diuen exactament què falla
  5. No copiïs: Intenta resoldre els exercicis tu mateix primer

Avantatges del Sistema d'Autotest

Per als Estudiants

  • ✅ Feedback immediat sense esperar el professor
  • ✅ Poden practicar al seu ritme
  • ✅ Veuen exactament què falla i per què
  • ✅ Gamificació amb barra de progrés i estadístiques
  • ✅ Poden repetir els exercicis tantes vegades com vulguin

Per als Professors

  • ✅ Reducció del temps de correcció manual
  • ✅ Els estudiants arriben més preparats
  • ✅ Fàcil de compartir (un sol fitxer HTML)
  • ✅ No requereix instal·lació ni servidor
  • ✅ Pot ser utilitzat offline

Limitacions

  • ⚠️ SEGURETAT: El codi s'executa amb eval(), que és perillós fora d'entorns educatius controlats
  • Aquest sistema NO està dissenyat per a ús en producció o amb codi no confiable
  • No detecta solucions ineficients, només si funcionen correctament
  • L'editor de codi és bàsic (sense syntax highlighting automàtic)
  • No guarda el progrés entre sessions

Possibles Millores Futures

  • Guardar progrés a localStorage
  • Syntax highlighting en els editors
  • Més tests per exercici
  • Nivells de dificultat
  • Sistema de puntuació
  • Exportar resultats
  • Mode fosc/clar
  • Compartir solucions

Llicència

Aquest material forma part dels recursos educatius de Xavier Sastre.

Contacte

Per a preguntes o suggeriments sobre aquest material, contacta amb el professor.


Data de creació: Novembre 2025
Versió: 1.0
Autor: Sistema d'autotest per a exercicis de JavaScript