From 2db3b6225a97ea06756e034fcaa0600966074532 Mon Sep 17 00:00:00 2001 From: Daanidev21 <05-mistico-tempanos@icloud.com> Date: Sat, 27 Jul 2024 19:48:52 +0200 Subject: [PATCH 1/3] Realizados ejercicios 1, 2 y 3 --- Basic/03-beginner-exercises.js | 59 +++++++++++++++++++++++++++++- Basic/05-operators-exercises.js | 63 ++++++++++++++++++++++++++++++++- Basic/06-strings.js | 2 +- Basic/07-strings-exercises.js | 35 +++++++++++++++++- Basic/tempCodeRunnerFile.js | 2 ++ 5 files changed, 157 insertions(+), 4 deletions(-) create mode 100644 Basic/tempCodeRunnerFile.js diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 9d7000a4..983afc8f 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -6,20 +6,77 @@ https://www.twitch.tv/videos/2200149072?t=00h08m02s // 1. Escribe un comentario en una línea + // Esto es un comentario en una línea + // 2. Escribe un comentario en varias líneas + /* + Esto es un comentario + en varias lineas + */ + // 3. Declara variables con valores asociados a todos los datos de tipo primitivos +let nombre = 'Dani' +let altura = 1.80 +let estudiando = true +let undefinedValue = undefined +let nulo = null +let simbolo = Symbol('Simbolo') +let bigInt = BigInt(10034928576239847659238476598237465) +let bigInt2 = 10034928576239847659238476598237465n  + // 4. Imprime por consola el valor de todas las variables +console.log(nombre, altura, estudiando, undefined, nulo, simbolo) + // 5. Imprime por consola el tipo de todas las variables +console.log(typeof nombre, typeof altura, typeof estudiando, typeof undefined, typeof nulo, typeof simbolo, typeof bigInt, typeof bigInt2) + // 6. A continuación, modifica los valores de las variables por otros del mismo tipo +nombre = 'Alex' +altura = 1.70 +estudiando = false +undefinedValue = undefined +nulo = null +simbolo = Symbol(' Otro Simbolo') +bigInt = BigInt(100349285762398411165) +bigInt2 = 100349285762398411165n + + // 7. A continuación, modifica los valores de las variables por otros de distinto tipo +nombre = 1 +altura = '1.70' +estudiando = undefined +undefinedValue = "No definido" +nulo = 0 +simbolo = Symbol(' Otro Simbolo') +bigInt = 0.20 + // 8. Declara constantes con valores asociados a todos los tipos de datos primitivos +const nombre2 = 'Dani' +const altura2 = 1.80 +const estudiando2 = true +const undefinedValue2 = undefined +const nulo2 = null +const simbolo2 = Symbol('Simbolo') +const bigInt3 = BigInt(10034928576239847659238476598237465) +const bigInt4 = 10034928576239847659238476598237465n + // 9. A continuación, modifica los valores de las constantes -// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarser \ No newline at end of file +// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse + +//nombre = 'Alex' +//altura = 1.70 +//estudiando = false +undefinedValue = undefined +nulo = null +//simbolo = Symbol(' Otro Simbolo') +//bigInt = BigInt(100349285762398411165) +//bigInt2 = 100349285762398411165n + diff --git a/Basic/05-operators-exercises.js b/Basic/05-operators-exercises.js index 22bf2a89..eeecfb53 100644 --- a/Basic/05-operators-exercises.js +++ b/Basic/05-operators-exercises.js @@ -4,23 +4,84 @@ Tipos de datos, operadores y strings https://www.twitch.tv/videos/2200149072?t=00h08m02s */ +let a=5 +let b=10 +let c=5 +let d='5' + // 1. Crea una variable para cada operación aritmética +let suma = 1 + 2 +let resta = 1 - 2 +let multiplicacion = 1 * 2 +let division = 1 / 2 +let modulo = 1 % 2 +let exponente = 1 ** 2 + // 2. Crea una variable para cada tipo de operación de asignación, // que haga uso de las variables utilizadas para las operaciones aritméticas +let numero = 2 +let sumaAsignacion = numero += 2 +let restaAsignacion = numero -= 2 +let multiplicacionAsignacion = numero *= 2 +let divisionAsignacion = numero /= 2 +let moduloAsignacion = numero %= 2 +let exponenteAsignacion = numero **= 2 + // 3. Imprime 5 comparaciones verdades con diferentes operadores de comparación +/* +let a=5 +let b=10 +let c=5 +let d='5' +*/ + +console.log(1 > 0) +console.log(b > a) +console.log(a != b) +console.log(a == d) // Igualdad por valor, las dos variables tienen el mismo valor pero no son el mismo tipo +console.log(a === c) // Igualdad por identidad, las dos variables son del mismo tipo y tienen el mismo valor +console.log(a >= 5) + // 4. Imprime 5 comparaciones falsas con diferentes operadores de comparación +/* +let a=5 +let b=10 +let c=5 +let d='5' +*/ + +console.log(1 < 0) +console.log(b < a) +console.log(a === d) +console.log(a !== c) +console.log(a == " ") + // 5. Utiliza el operador lógico and +console.log(a === c && a >= 5) // Ambas condiciones deben ser verdaderas + // 6. Utiliza el operador lógico or +console.log(a === c || a == 0) // Al menos una de las condiciones debe ser verdadera + // 7. Combina ambos operadores lógicos +console.log(a >=5 && a === c || a == 0) // Primero se evalúa el and y luego el or + // 8. Añade alguna negación +console.log(!(a ==7) && a > 0) // Se niega la primera condición + // 9. Utiliza el operador ternario -// 10. Combina operadores aritméticos, de comparáción y lógicas \ No newline at end of file +const isStudent = true +isStudent ? console.log('Es estudiante') : console.log('No es estudiante') +// Si la variante isStudent es verdadera, imprime 'Es estudiante', si no imprime 'No es estudiante' + +// 10. Combina operadores aritméticos, de comparáción y lógicas + +console.log(a + b < 10 && a === c || a == c) // Se evalúa primero la suma, luego el and y por último el or) \ No newline at end of file diff --git a/Basic/06-strings.js b/Basic/06-strings.js index f0fa999e..81d47bba 100644 --- a/Basic/06-strings.js +++ b/Basic/06-strings.js @@ -32,7 +32,7 @@ console.log(greeting.indexOf("MoureDev")) console.log(greeting.includes("Hola")) // Incluye console.log(greeting.includes("Brais")) console.log(greeting.includes("MoureDev")) -console.log(greeting.slice(0, 10)) // Sección +console.log(greeting.slice(0, 10)) // Muestra un fragmento console.log(greeting.replace("Brais", "MoureDev")) // Reemplazo // Template literals (plantillas literales) diff --git a/Basic/07-strings-exercises.js b/Basic/07-strings-exercises.js index abcb7e65..e2bd3d14 100644 --- a/Basic/07-strings-exercises.js +++ b/Basic/07-strings-exercises.js @@ -6,20 +6,53 @@ https://www.twitch.tv/videos/2200149072?t=00h08m02s // 1. Concatena dos cadenas de texto +let saludo = 'Hola' +let concat = saludo + ' Mundo!' +console.log(concat) +console.log(saludo + ' Mundo!') + // 2. Muestra la longitud de una cadena de texto +console.log(saludo.length) + // 3. Muestra el primer y último carácter de un string +console.log(saludo[0], saludo[saludo.length - 1]) + // 4. Convierte a mayúsculas y minúsculas un string +console.log(saludo.toUpperCase() + ', ' + saludo.toLowerCase()) + // 5. Crea una cadena de texto en varias líneas +let multilinea = `Hola, esto es +una cadena de texto en varias lineas, +se hace usando el símbolo de la comilla invertida (` + '`' + `)` +console.log(multilinea) + // 6. Interpola el valor de una variable en un string +let nombre = 'Dani' +console.log(`Hola, ${nombre}`) + // 7. Reemplaza todos los espacios en blanco de un string por guiones +let stringEspaciado = 'Hola, esto es un string con espacios' +console.log(stringEspaciado.replace(/ /g, "-")) +/* +Se usa la línea "/ /g" para buscar espacios en una cadena de texto. +*/ + // 8. Comprueba si una cadena de texto contiene una palabra concreta +console.log(stringEspaciado.includes("un")) + // 9. Comprueba si dos strings son iguales -// 10. Comprueba si dos strings tienen la misma longitud \ No newline at end of file +let string1 = 'Esto es el primer string' +let string2 = 'Esto es el segundo string' +console.log(string1 == string2) + +// 10. Comprueba si dos strings tienen la misma longitud + +console.log(string1.length == string2.length) \ No newline at end of file diff --git a/Basic/tempCodeRunnerFile.js b/Basic/tempCodeRunnerFile.js new file mode 100644 index 00000000..7832bc05 --- /dev/null +++ b/Basic/tempCodeRunnerFile.js @@ -0,0 +1,2 @@ + +// 9. Comprueba si dos strings son iguales \ No newline at end of file From 6bfaf5a0882136532026a348eef6f72b2a724c34 Mon Sep 17 00:00:00 2001 From: Daanidev21 <05-mistico-tempanos@icloud.com> Date: Sat, 27 Jul 2024 21:06:57 +0200 Subject: [PATCH 2/3] Ejercicios condicionales --- Basic/09-conditionals-exercises.js | 130 ++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/Basic/09-conditionals-exercises.js b/Basic/09-conditionals-exercises.js index 60eefd43..214700db 100644 --- a/Basic/09-conditionals-exercises.js +++ b/Basic/09-conditionals-exercises.js @@ -8,23 +8,151 @@ https://www.twitch.tv/videos/2206228701?t=00h16m02s // 1. Imprime por consola tu nombre si una variable toma su valor +let nombre = "Dani" +if (nombre == "Dani"){ + console.log("Hola, Dani") +} // 2. Imprime por consola un mensaje si el usuario y contraseña concide con unos establecidos +let usuario = "Dani" +const contraseya = "1234" + +if (usuario == "Dani" && contraseya == "1234") { + console.log("Contraseña correcta, iniciando sesión") +} // 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje +let numero = -2 + +if (numero < 0){ + console.log("Número negativo") +} else if (numero == 0){ + console.log("Número 0") +} else { + console.log("Número positivo") +} + // 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica cuántos años le faltan +let edad = 14 + +if (edad < 18){ + console.log("Edad no permitida para votar, faltan " + (18 - edad) + " años para poder votar") +} else { + console.log("¡A votar!") +} + // 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una variable // dependiendo de la edad +let age = 14 +let mensajeEdad = age > 18 ? "Mayor de edad" : "Menor de edad" +console.log(mensajeEdad) + // 6. Muestra en que estación del año nos encontramos dependiendo del valor de una variable "mes" +let mes = 1 + +if (mes == 1 || mes == 2 || mes == 12){ + console.log(`El mes ${mes} pertenece a Invierno.`) +} else if (mes == 3 || mes == 4 || mes == 5){ + console.log(`El mes ${mes} pertenece a Primavera.`) +} else if (mes == 6 || mes == 7 || mes == 8){ + console.log(`El mes ${mes} pertenece a Verano.`) +} else if (mes == 9 || mes == 10 || mes == 11){ + console.log(`El mes ${mes} pertenece a Otoño.`) +} else { + console.log("Mes no válido") +} + // 7. Muestra el número de días que tiene un mes dependiendo de la variable del ejercicio anterior +if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){ + console.log("Este mes tiene 31 días") +} else if (mes == 4 || mes == 6 || mes == 9 || mes == 11){ + console.log("Este mes tiene 30 días") +} else if (mes == 2){ + console.log("Este mes tiene 28 días") +} else { + console.log("Mes no válido") +} // switch // 8. Usa un switch para imprimir un mensaje de saludo diferente dependiendo del idioma +let idioma = "es" + +switch (idioma) { + case "es": + console.log("Hola") + break + case "en": + console.log("Hello") + break + case "fr": + console.log("Bonjour") + break + case "de": + console.log("Hallo") + break + case "it": + console.log("Ciao") + break + case "pt": + console.log("Olá") + break + default: + console.log("Idioma no válido") +} + // 9. Usa un switch para hacer de nuevo el ejercicio 6 -// 10. Usa un switch para hacer de nuevo el ejercicio 7 \ No newline at end of file +switch (mes) { + case 1: + case 2: + case 12: + console.log(`El mes ${mes} pertenece a Invierno.`) + break + case 3: + case 4: + case 5: + console.log(`El mes ${mes} pertenece a Primavera.`) + break + case 6: + case 7: + case 8: + console.log(`El mes ${mes} pertenece a Verano.`) + break + case 9: + case 10: + case 11: + console.log(`El mes ${mes} pertenece a Otoño.`) + break + default: + console.log("Mes no válido") +} + +// 10. Usa un switch para hacer de nuevo el ejercicio 7 + +switch (mes) { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + case 12: + console.log("Este mes tiene 31 días") + break + case 4: + case 6: + case 9: + case 11: + console.log("Este mes tiene 30 días") + break + case 2: + console.log("Este mes tiene 28 días") + break + default: + console.log("Mes no válido") +} \ No newline at end of file From cdfc088180e83c88be71273c6c4eefd46defd9f8 Mon Sep 17 00:00:00 2001 From: Daanidev21 <05-mistico-tempanos@icloud.com> Date: Sun, 28 Jul 2024 18:55:47 +0200 Subject: [PATCH 3/3] Ejercicios de repaso de Arrays y Sets --- .DS_Store | Bin 0 -> 6148 bytes Basic/09.1-arrays-exercises.js | 44 +++++++++++++++++++++++++++++++++ Basic/10-array.js | 31 +++++++++++++---------- Basic/11-set.js | 26 ++++++++++--------- Basic/tempCodeRunnerFile.js | 2 -- 5 files changed, 77 insertions(+), 26 deletions(-) create mode 100644 .DS_Store create mode 100644 Basic/09.1-arrays-exercises.js delete mode 100644 Basic/tempCodeRunnerFile.js diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8d5036d20c573f47f022dc3c368ffa3ab35d9cf3 GIT binary patch literal 6148 zcmeH~O-tNB7{{N{=q5^G4;6bU1bSVzyMl$Kml$^sLhZqn_F&64G0PenGqTCLhh-tx z>WAsE-^B0Y$^Pd>Fi}rRTVx)1=07jbGhu!tGZ`Xc{xt3qHHpZE3$@lz++$)~_#Io) zJr0zKIrdV16s0^uTTE!o5HJM(Zvx`mwWv*FN~oxPzdIOfUrUpVSRtQ6$`N@~i~RL) zWHif9^`7uMI!%+j=yWdG(z3O(+OQk;y8SIU=Chy(i)rqMlS9$^#CaOs)Whg=GMWvW zFL!xXgh@7<$b=*wA>`|qB#ZgX=hH0CWp1DbY{zzn&CU6|+iSV+dW)7j?`~~(TW+t@ zTPz%V{NtW_#j9!tkN_%tyEMpo`Ud6&* zWBfM2O6k z2m<Us?v$cCu1J{WTtN@OkX^hE5nI-N=<197y?xS%c|KF=l|g0 z`+qgbv setB.has(x))) +//union +let union = new Set([...setA, ...setB]) +//diferencia +let diferencia = new Set([...setA].filter(x => !setB.has(x))) + +//Eliminacion de duplicados en un array + +let array = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9] +console.log(array) +mySetNumeros = new Set(array) +console.log(mySetNumeros) \ No newline at end of file diff --git a/Basic/10-array.js b/Basic/10-array.js index f498c853..c4a2e826 100644 --- a/Basic/10-array.js +++ b/Basic/10-array.js @@ -9,7 +9,7 @@ https://www.twitch.tv/videos/2206228701?t=00h16m02s // Declaración let myArray = [] -let myArray2 = new Array() +let myArray2 = new Array() // NO RECOMENDADO console.log(myArray) console.log(myArray2) @@ -49,13 +49,13 @@ myArray[1] = "mouredev" console.log(myArray) -// Métodos comunes +// Métodos comunes para arrays declarados con [] myArray = [] // push y pop -myArray.push("Brais") +myArray.push("Brais") // Añade un elemento al final del array myArray.push("Moure") myArray.push("mouredev") myArray.push(37) @@ -69,37 +69,42 @@ console.log(myArray) // shift y unshift -console.log(myArray.shift()) +console.log(myArray.shift()) // Elimina el primero y lo devuelve, como el pop console.log(myArray) -myArray.unshift("Brais", "mouredev") +myArray.unshift("Brais", "mouredev") // Añade elementos al principio del array console.log(myArray) // length -console.log(myArray.length) +console.log(myArray.length) // Devuelve la longitud del array // clear -myArray = [] +myArray = [] // Para borrar el array se vuelve a inicializar myArray.length = 0 // alternativa console.log(myArray) // slice myArray = ["Brais", "Moure", "mouredev", 37, true] - -let myNewArray = myArray.slice(1, 3) - +let myNewArray = myArray.slice(1, 3) +/* +Devuelve un nuevo array con los elementos desde la posición 1 hasta la 3 (sin incluir el ultimo) +*/ console.log(myArray) console.log(myNewArray) // splice -myArray.splice(1, 3) +myArray.splice(1, 3) // Elimina los elementos desde la posición 1 hasta la 3 (sin incluir el último) console.log(myArray) myArray = ["Brais", "Moure", "mouredev", 37, true] - -myArray.splice(1, 2, "Nueva entrada") +console.log(myArray) +myArray.splice(0, 2, "Nueva entrada") +/* +Elimina los elementos desde la posición 1 hasta la 2 (sin incluir el último) +y añade "Nueva entrada" en la posición 1 +*/ console.log(myArray) \ No newline at end of file diff --git a/Basic/11-set.js b/Basic/11-set.js index 83b3971a..c833ecec 100644 --- a/Basic/11-set.js +++ b/Basic/11-set.js @@ -2,10 +2,14 @@ Clase 3 en vídeo | 24/07/2024 Condicionales, arrays y sets https://www.twitch.tv/videos/2206228701?t=00h16m02s -*/ +*/ // Set +/* +Listado de elementos ordenados, pero no indexados(no existen índices) y que no permite duplicados. +*/ + // Declaración let mySet = new Set() @@ -22,26 +26,28 @@ console.log(mySet) // add y delete -mySet.add("https://moure.dev") - +mySet.add("https://moure.dev") //añade al final console.log(mySet) -mySet.delete("https://moure.dev") - +mySet.delete("https://moure.dev") //Hay que indica el valor a eliminar, no borra el ultimo elemento console.log(mySet) -console.log(mySet.delete("Brais")) -console.log(mySet.delete(4)) +console.log(mySet.delete("Brais")) //Retorna un booleano si lo ha eliminado o no +console.log(mySet.delete(4)) //Devuelve false porque no se puede buscar por indice console.log(mySet) // has - +/* +La función has() retorna un booleano indicando si un elemento existe en el set o no. +*/ console.log(mySet.has("Moure")) console.log(mySet.has("Brais")) // size - +/* +La propiedad size retorna el número de elementos en un set. +*/ console.log(mySet.size) // Convertir un set a array @@ -49,12 +55,10 @@ let myArray = Array.from(mySet) console.log(myArray) // Convertir un array a set - mySet = new Set(myArray) console.log(mySet) // No admite duplicados - mySet.add("braismoure@mouredev.com") mySet.add("braismoure@mouredev.com") mySet.add("braismoure@mouredev.com") diff --git a/Basic/tempCodeRunnerFile.js b/Basic/tempCodeRunnerFile.js deleted file mode 100644 index 7832bc05..00000000 --- a/Basic/tempCodeRunnerFile.js +++ /dev/null @@ -1,2 +0,0 @@ - -// 9. Comprueba si dos strings son iguales \ No newline at end of file