From d64b3bba6ce8e33c1e631193af91ac1020c33488 Mon Sep 17 00:00:00 2001 From: Tropezodev Date: Thu, 30 Oct 2025 18:36:43 +0100 Subject: [PATCH 1/4] 30/10 --- Basic/ejercicios/00.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Basic/ejercicios/00.js diff --git a/Basic/ejercicios/00.js b/Basic/ejercicios/00.js new file mode 100644 index 00000000..e69de29b From 3597154cbc8a609eccfc0160880c3d88cd1040f6 Mon Sep 17 00:00:00 2001 From: Tropezodev Date: Mon, 3 Nov 2025 14:02:04 +0100 Subject: [PATCH 2/4] structures-exercises --- Basic/13-structures-exercises.js | 44 ++++++++++++++++++++++++-------- Basic/ejercicios/00.js | 0 2 files changed, 34 insertions(+), 10 deletions(-) delete mode 100644 Basic/ejercicios/00.js diff --git a/Basic/13-structures-exercises.js b/Basic/13-structures-exercises.js index 1b094502..7f6c3f0c 100644 --- a/Basic/13-structures-exercises.js +++ b/Basic/13-structures-exercises.js @@ -4,21 +4,45 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=11451 */ // 1. Crea un array que almacene cinco animales - +let miArray = ["Conejo", "Perro", "Caballo", "Gato", "Gallina"] +console.log(miArray) // 2. Añade dos más. Uno al principio y otro al final - +miArray.unshift("León") +miArray.push("Cebra") +console.log(miArray) // 3. Elimina el que se encuentra en tercera posición - +miArray.splice(2, 1) +console.log(miArray) // 4. Crea un set que almacene cinco libros - +let miSet = new Set(["Libro1", "Libro2", "Libro3", "Libro4", "Libro5"]) +console.log(miSet) // 5. Añade dos más. Uno de ellos repetido - +miSet.add("Libro6") +miSet.add("Libro1") +console.log(miSet) // 6. Elimina uno concreto a tu elección - +miSet.delete("Libro3") +console.log(miSet) // 7. Crea un mapa que asocie el número del mes a su nombre - +let miMap = new Map([ + [1, "Enero"], [2, "Febrero"], [3, "Marzo"], [4, "Abril"], [5, "Mayo"], + [6, "Junio"], [7, "Julio"], [8, "Agosto"], [9, "Septiembre"], [10, "Octubre"], [11, "Noviembre"], [12, "Diciembre"], +]) +console.log(miMap) // 8. Comprueba si el mes número 5 existe en el map e imprime su valor - +console.log(miMap.has(5)) +console.log(miMap.get(5)) // 9. Añade al mapa una clave con un array que almacene los meses de verano - -// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map \ No newline at end of file +let verano = ["junio", "Julio", "Agosto", "Septiembre"] +miMap.set("verano", verano) +console.log(miMap.get("verano")) +// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map +let miArray2 = ["Jamón", "Pan", "tomate"] +console.log(miArray2) +let miSet2 = new Set(miArray2) +console.log(miSet2) +let miMap2 = new Map() +miMap2.set("Bocadillo",miSet2) +console.log(miMap2) +miMap2.get("Bocadillo").add("Tomate") +console.log(miMap2) \ No newline at end of file diff --git a/Basic/ejercicios/00.js b/Basic/ejercicios/00.js deleted file mode 100644 index e69de29b..00000000 From cf39585bcb4e5b8d54ff9a80c489181a539d94ac Mon Sep 17 00:00:00 2001 From: Tropezodev Date: Tue, 4 Nov 2025 11:30:09 +0100 Subject: [PATCH 3/4] loops-exercises --- Basic/15-loops-exercises.js | 70 +++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index 2a27cdd0..7170c700 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -6,21 +6,87 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=12732 // NOTA: Explora diferentes sintaxis de bucles para resolver los ejercicios // 1. Crea un bucle que imprima los números del 1 al 20 +let i=1 +while(i<21){ + console.log(i) + i++ +} // 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado - +let resul = 0 +for(let j=1; j<101;j++){ +resul+=j +} +console.log(resul) // 3. Crea un bucle que imprima todos los números pares entre 1 y 50 +i=1 +while(i<51){ + if (i%2==0){ + console.log(i) + } + i++ +} // 4. Dado un array de nombres, usa un bucle para imprimir cada nombre en la consola +let nombres=["Pepe", "Juan", "Jose", "María"] +for(let j=0;j=0;i--){ + textoInver+=texto2[i] +} +console.log(textoInver) // 9. Usa un bucle para generar los primeros 10 números de la secuencia de Fibonacci +i=1 +let fibo=[0,1] +while(i<9){ + fibo.push(fibo[i]+fibo[i-1]) + i++ +} +console.log(fibo) -// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 \ No newline at end of file +// 10. Dado un array de números, usa un bucle para crear un nuevo array que contenga solo los números mayores a 10 +let numeros2=[2,43,5,10,11,24,-4,-11,10000] +let numerosMayores=[] +i=0 +while(i10){ + numerosMayores.push(numeros2[i]) + } + i++ +} +console.log(numerosMayores) \ No newline at end of file From 296a80a021dd2ae21e0f13608623563b28d710ea Mon Sep 17 00:00:00 2001 From: Tropezodev Date: Wed, 5 Nov 2025 20:01:42 +0100 Subject: [PATCH 4/4] functions-exercises(sin completar) --- Basic/17-functions-exercises.js | 62 +++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Basic/17-functions-exercises.js b/Basic/17-functions-exercises.js index fb7eb4e5..24f8a18a 100644 --- a/Basic/17-functions-exercises.js +++ b/Basic/17-functions-exercises.js @@ -6,17 +6,79 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=14146 // NOTA: Explora diferentes sintaxis de funciones para resolver los ejercicios // 1. Crea una función que reciba dos números y devuelva su suma +const suma = (a, b) => a + b +console.log(suma(2, 4)) // 2. Crea una función que reciba un array de números y devuelva el mayor de ellos +function buscarMayor(arrayNum) { + let numeroMayor = arrayNum[0] + for (let i = 1; i < arrayNum.length; i++) { + numeroMayor = arrayNum[i] >= numeroMayor ? arrayNum[i] : numeroMayor + } + return numeroMayor +} + +let numeros = [2, 5, 21, 4, 9, 0] +console.log(buscarMayor(numeros)) +//****Versión moderna con Math.max y con el operador Spread +const buscarMayor2 = (arrayNum) => Math.max(...arrayNum) // Operador Spread "..." expande el array en elemento individuales +console.log(buscarMayor2(numeros)) // 3. Crea una función que reciba un string y devuelva el número de vocales que contiene +function contarVocales(texto) { + let numVocales = 0 + let minusculas = texto.toLowerCase() + for (let i = 0; i < minusculas.length; i++) { + if (minusculas[i] == "a" || minusculas[i] == "á" || minusculas[i] == "e" || minusculas[i] == "é" + || minusculas[i] == "i" || minusculas[i] == "í" || minusculas[i] == "o" || minusculas[i] == "ó" + || minusculas[i] == "u" || minusculas[i] == "ú") { + numVocales++ + } + } + return console.log(`El texto "${texto}" tiene ${numVocales} vocales en total.`) +} +let texto = "Garantía adicional? NO tengo nada que perder" +contarVocales(texto) +//****Versión moderna con expresiones regulares +function contarVocales2(texto) { + const numVocales = (texto.match(/[aeiouáéíóú]/gi) || []).length; + //match devuelve un array con las coincidencias de la expresión regular [aeiouáéíóú] + //los cochetes "[]" se usan para buscar coincidencias con cualquier carácter dentro del conjunto, no con la secuencia exacta (que sería sin los corchetes) + //"gi" son banderas en la expresión regular: la "g" hace una búsqueda global (todas las apariciones) y la "i" búsqueda insensible a mayúsculas + //se maneja el caso de que no haya vocales con el "|| []", porque match devolvería "null" y el .length daría error + console.log(`El texto "${texto}" tiene ${numVocales} vocales en total.`); +} +contarVocales2(texto) // 4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas +function textoMayus(textos) { + let mayus = [] + for (texto of textos) { + mayus.push(texto.toUpperCase()) + } + return mayus +} +let textos = ["Pepe", "pepo", "JUAN", "jOse", "dopamina"] +console.log(textoMayus(textos)) +//****Versión moderna en arrowFunction +const textoMayus2 = textos => textos.map(texto => texto.toUpperCase()) +//la función ".map" crea un nuevo array con los resultados de aplicar una función a cada elemento +console.log(textoMayus2(textos)) // 5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario +const esPrimo = numero => { + if (numero<=1) return false + for (let i=2; i<=Math.sqrt(numero); i++){ + //El rango se limita a Raiz cuadrada del número para optimizarlo + if (numero % i === 0) return false + } + return true +} +console.log(esPrimo(4)) // 6. Crea una función que reciba dos arrays y devuelva un nuevo array que contenga los elementos comunes entre ambos + // 7. Crea una función que reciba un array de números y devuelva la suma de todos los números pares // 8. Crea una función que reciba un array de números y devuelva un nuevo array con cada número elevado al cuadrado