From 16b84e5c7f91bf601354d30b036b0596e7697f7b Mon Sep 17 00:00:00 2001 From: Zulangy Satizabal Date: Thu, 25 Jul 2024 16:03:02 -0500 Subject: [PATCH 1/3] =?UTF-8?q?resoluci=C3=B3n=20ejercicios=2003,05,07?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Basic/03-beginner-exercises.js | 64 ++++++++++++++++++++++++++++++++- Basic/05-operators-exercises.js | 41 ++++++++++++++++++++- Basic/07-strings-exercises.js | 33 ++++++++++++++++- 3 files changed, 135 insertions(+), 3 deletions(-) diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 9d7000a4..0f1a1ffc 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -6,20 +6,82 @@ https://www.twitch.tv/videos/2200149072?t=00h08m02s // 1. Escribe un comentario en una línea +//Este es un comentario de una linea, hola!! + // 2. Escribe un comentario en varias líneas +/* + Hola, este es un comentario + de + varias + lineas + :) +*/ + // 3. Declara variables con valores asociados a todos los datos de tipo primitivos +let idol = "Lisa" +let age = 25 +let isArtist = true +let nothing = undefined +let empty = null +let symbol = Symbol("mySymbol") +let bigInt = BigInt(1234567890123456789012345678901234567890) + // 4. Imprime por consola el valor de todas las variables +console.log(idol) +console.log(age) +console.log(isArtist) +console.log(nothing) +console.log(empty) +console.log(symbol) +console.log(bigInt) + // 5. Imprime por consola el tipo de todas las variables +console.log(typeof idol) +console.log(typeof age) +console.log(typeof isArtist) +console.log(typeof nothing) +console.log(typeof empty) +console.log(typeof symbol) +console.log(typeof bigInt) + // 6. A continuación, modifica los valores de las variables por otros del mismo tipo +idol = "Moonbyul" +age = 30 +isArtist = true +nothing = undefined +empty = null +symbol = Symbol("mySymbol") +bigInt = 1234567890123456789012345678901234567890n + // 7. A continuación, modifica los valores de las variables por otros de distinto tipo +idol = 26 +age = "Cha Eunwoo" +isArtist = undefined +nothing = null +empty = false +symbol = Symbol("mySymbol") //meh +bigInt = 1234567890123456789012345678901234567890n + // 8. Declara constantes con valores asociados a todos los tipos de datos primitivos +const idol2 = "Jennie" +const ageOfIdol = 24 +const isArtistNow = true +const nothing2 = undefined +const empty2 = null +const symbol2 = Symbol("mySymbol") +const bigInt2 = BigInt(1234567890123456789012345678901234567890) + // 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 + //No se puede modificar el valor de una constante + +// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse + + //No hay lineas que produzcan errores al ejecutarse, podrían haber si se intentara modificar el valor de una constante... cosa que no hice :D \ No newline at end of file diff --git a/Basic/05-operators-exercises.js b/Basic/05-operators-exercises.js index 22bf2a89..1004ba0b 100644 --- a/Basic/05-operators-exercises.js +++ b/Basic/05-operators-exercises.js @@ -6,21 +6,60 @@ https://www.twitch.tv/videos/2200149072?t=00h08m02s // 1. Crea una variable para cada operación aritmética +let suma +let resta +let multiplicacion +let division +let modulo +let exponente + // 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 + //NO ENTENDÍ, LA VERDAD XD +let sumaAsignacion = suma += 2 +let restaAsignacion = resta -= 2 +let multiplicacionAsignacion = multiplicacion *= 2 +let divisionAsignacion = division /= 2 +let moduloAsignacion = modulo %= 2 +let exponenteAsignacion = exponente **= 2 // 3. Imprime 5 comparaciones verdades con diferentes operadores de comparación +console.log(5 > 2) +console.log(2 < 5) +console.log(25 >= 12) +console.log(5 <= 22) +console.log(5 == 5) + // 4. Imprime 5 comparaciones falsas con diferentes operadores de comparación +console.log(12 > 22) +console.log(88 < 59) +console.log(254 >= 942) +console.log(52 <= 22) +console.log(5 == 1) + // 5. Utiliza el operador lógico and +console.log(5 > 2 && 2 < 5) + // 6. Utiliza el operador lógico or +console.log(5 == 5 || 25 >= 12) + // 7. Combina ambos operadores lógicos +console.log(5 > 2 && 2 < 5 || 25 >= 12) + // 8. Añade alguna negación +console.log(5 != 5) + // 9. Utiliza el operador ternario -// 10. Combina operadores aritméticos, de comparáción y lógicas \ No newline at end of file +let ternario = 5 > 2 ? "Es mayor" : "Es menor" +console.log(ternario) + +// 10. Combina operadores aritméticos, de comparáción y lógicas + +console.log(5 + 2 > 2 && 2 < 5 || 25 >= 12) \ No newline at end of file diff --git a/Basic/07-strings-exercises.js b/Basic/07-strings-exercises.js index abcb7e65..34c2ece0 100644 --- a/Basic/07-strings-exercises.js +++ b/Basic/07-strings-exercises.js @@ -6,20 +6,51 @@ https://www.twitch.tv/videos/2200149072?t=00h08m02s // 1. Concatena dos cadenas de texto +let string1 = "Hola" +let string2 = "Mundo" +let phrase = string1 + " " + string2 + "!" +console.log(phrase) + // 2. Muestra la longitud de una cadena de texto +console.log(phrase.length) + // 3. Muestra el primer y último carácter de un string +console.log(phrase[0]) +console.log(phrase[phrase.length - 1]) //cuando nosotros no sabemos la longitud del string + // 4. Convierte a mayúsculas y minúsculas un string +console.log(phrase.toUpperCase()) +console.log(phrase.toLowerCase()) + // 5. Crea una cadena de texto en varias líneas +let phraseMultiline = `Hola! +Esto es +una cadena de texto +en varias +líneas` +console.log(phraseMultiline) + // 6. Interpola el valor de una variable en un string +let phraseInterpolated = `Hola, ${string2}!` +console.log(phraseInterpolated) + // 7. Reemplaza todos los espacios en blanco de un string por guiones +console.log(phrase.replace(/ /g, "-")) + // 8. Comprueba si una cadena de texto contiene una palabra concreta +console.log(phrase.includes("Mundo")) + // 9. Comprueba si dos strings son iguales -// 10. Comprueba si dos strings tienen la misma longitud \ No newline at end of file +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 From 8a2c005ea9eeeb26f30fb0cf468f19106af9d750 Mon Sep 17 00:00:00 2001 From: Zulangy Satizabal Date: Mon, 5 Aug 2024 15:56:20 -0500 Subject: [PATCH 2/3] =?UTF-8?q?resoluci=C3=B3n=20ejercicios=2009?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 + Basic/09-conditionals-exercises.js | 139 ++++++++++++++++++++++++++++- Basic/tempCodeRunnerFile.js | 28 ++++++ 3 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 Basic/tempCodeRunnerFile.js diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..ad5282d7 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cSpell.words": ["Zulangy"] +} diff --git a/Basic/09-conditionals-exercises.js b/Basic/09-conditionals-exercises.js index 60eefd43..8b22d6a4 100644 --- a/Basic/09-conditionals-exercises.js +++ b/Basic/09-conditionals-exercises.js @@ -8,23 +8,158 @@ https://www.twitch.tv/videos/2206228701?t=00h16m02s // 1. Imprime por consola tu nombre si una variable toma su valor -// 2. Imprime por consola un mensaje si el usuario y contraseña concide con unos establecidos +let myName = "Zulangy" +if (myName == "Zulangy"){ + console.log(myName) +} + +// 2. Imprime por consola un mensaje si el usuario y contraseña coincide con unos establecidos + +let user = "Zulangy" +let password = "1234" +if (user == "Zulangy" && password == "1234"){ + console.log("Usuario y contraseña correctos") +}else{ + console.log("Usuario o contraseña incorrectos") +} // 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje +let number = 5 +if (number > 0){ + console.log("El número es positivo") +}else if (number < 0){ + console.log("El número es negativo") +}else{ + console.log("El número es cero") +} + // 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica cuántos años le faltan +let age = 17 +if (age >= 18){ + console.log("Puede votar") +} else { + console.log(`No puede votar, le faltan ${18 - age} años`) +} + // 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una variable // dependiendo de la edad +age = 32 +let status = age >= 18 ? "adulto" : "menor" +console.log(status) + // 6. Muestra en que estación del año nos encontramos dependiendo del valor de una variable "mes" +let season +let month = "august" + +if (month == "january" || month == "february" || month == "march"){ + season = "winter" +}else if (month == "april" || month == "may" || month == "june"){ + season = "spring" +}else if (month == "july" || month == "august" || month == "september"){ + season = "summer" +}else if (month == "october" || month == "november" || month == "december"){ + season = "autumn" +}else{ + season = "Invalid month" +} +console.log(`In ${month}, We are in ${season}`) + // 7. Muestra el número de días que tiene un mes dependiendo de la variable del ejercicio anterior +let days +month = "february" + +if (month == "january" || month == "march" || month == "may" || month == "july" || month == "august" || month == "october" || month == "december"){ + days = 31 +}else if (month == "april" || month == "june" || month == "september" || month == "november"){ + days = 30 +}else if (month == "february"){ + days = 28 +}else{ + days = "Invalid month" +} + +console.log(`The month of ${month} have ${days} days`) + // switch // 8. Usa un switch para imprimir un mensaje de saludo diferente dependiendo del idioma +let language = "es" + +switch (language) { + case "es": + console.log("Hola") + break + case "en": + console.log("Hello") + break + case "fr": + console.log("Bonjour") + break + default: + console.log("Idioma no soportado") +} + + // 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 +season +month = "january" + +switch (month) { + case "january": + case "february": + case "march": + season = "winter" + break + case "april": + case "may": + case "june": + season = "spring" + break + case "july": + case "august": + case "september": + season = "summer" + break + case "october": + case "november": + case "december": + season = "autumn" + break + default: + season = "Invalid month" +} +console.log(`In ${month}, We are in ${season}`) + + +// 10. Usa un switch para hacer de nuevo el ejercicio 7 + +switch (month) { + case "january": + case "march": + case "may": + case "july": + case "august": + case "october": + case "december": + days = 31 + break + case "april": + case "june": + case "september": + case "november": + days = 30 + break + case "february": + days = 28 + break + default: + days = "Invalid month" +} +console.log(`The month of ${month} have ${days} days`) diff --git a/Basic/tempCodeRunnerFile.js b/Basic/tempCodeRunnerFile.js new file mode 100644 index 00000000..a7aa5e76 --- /dev/null +++ b/Basic/tempCodeRunnerFile.js @@ -0,0 +1,28 @@ +let season +let month = "august" + +switch (month) { + case "january": + case "february": + case "march": + season = "winter" + break + case "april": + case "may": + case "june": + season = "spring" + break + case "july": + case "august": + case "september": + season = "summer" + break + case "october": + case "november": + case "december": + season = "autumn" + break + default: + season = "Invalid month" +} +console.log(season) \ No newline at end of file From 1f913976571f5847e7da2c7e8405cfd836fb9e12 Mon Sep 17 00:00:00 2001 From: Zulangy Satizabal Date: Wed, 7 Aug 2024 12:32:05 -0500 Subject: [PATCH 3/3] Ejercicios resueltos 13,15, 17 falta --- .vscode/settings.json | 3 -- Basic/13-structures-exercises.js | 52 ++++++++++++++++++- Basic/15-loops-exercises.js | 86 +++++++++++++++++++++++++++++++- Basic/17-functions-exercises.js | 33 ++++++++++++ Basic/tempCodeRunnerFile.js | 28 ----------- 5 files changed, 169 insertions(+), 33 deletions(-) delete mode 100644 .vscode/settings.json delete mode 100644 Basic/tempCodeRunnerFile.js diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index ad5282d7..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cSpell.words": ["Zulangy"] -} diff --git a/Basic/13-structures-exercises.js b/Basic/13-structures-exercises.js index b172fa49..70f60b1c 100644 --- a/Basic/13-structures-exercises.js +++ b/Basic/13-structures-exercises.js @@ -6,20 +6,70 @@ https://www.twitch.tv/videos/2212289583?t=00h17m45s // 1. Crea un array que almacene cinco animales +let animals = ["gato", "perro", "capibara", "pájaro", "panda"] +console.log(animals) + // 2. Añade dos más. Uno al principio y otro al final +animals.unshift("tigre") //al principio +animals.push("serpiente") //al final +console.log(animals) + // 3. Elimina el que se encuentra en tercera posición +animals.splice(2, 1) //después de la 2da posición, elimina 1 elemento +console.log(animals) + // 4. Crea un set que almacene cinco libros +let books = new Set(["Gardenia", "La chica de los colores", "Belleza verdadera", "Ambrosía", "Rosas para Emilia"]) +console.log(books) + // 5. Añade dos más. Uno de ellos repetido +books.add("El jardín de las mariposas", "Belleza verdadera") +console.log(books) +//Solo se añade uno porque el otro ya existe + // 6. Elimina uno concreto a tu elección +books.delete("Ambrosía") +console.log(books) + // 7. Crea un mapa que asocie el número del mes a su nombre +let months = 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(months) + // 8. Comprueba si el mes número 5 existe en el map e imprime su valor +months.get(5) ? console.log(months.get(5)) : console.log("No existe el mes número 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 +months.set("summer", ["july", "august", "september"]) +console.log(months) + +// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map + +let myArray = ["uno", "dos", "tres", "cuatro", "cinco"] +console.log(myArray) + +let mySet = new Set(myArray) +console.log(mySet) + +let myMap = new Map([["myRealArray", mySet]]) +console.log(myMap) \ No newline at end of file diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index dab8552e..f1c04b4d 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -8,20 +8,104 @@ https://www.twitch.tv/videos/2212289583?t=00h17m45s // 1. Crea un bucle que imprima los números del 1 al 20 +for (let i = 0; i < 20; i++) { + console.log(i + 1) +} + // 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado +let sum = 0 +for (let i = 0; i < 100; i++) { + sum += i + 1 +} +console.log(sum) + +//lo hizo copilot :D + // 3. Crea un bucle que imprima todos los números pares entre 1 y 50 +let i = 1 +while (i <= 50) { + 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 names = [ "Lisa", "Rose", "Jennie", "Jisoo" ] + +for (let i=0; i < names.length; i++) { + console.log(names[i]) +} + // 5. Escribe un bucle que cuente el número de vocales en una cadena de texto +let text = "Feliz 8th Aniversario, BLACKPINK!" +let vowels = "aeiouAEIOU" +let countVowels = 0 + +for (let i=0; i < text.length; i++) { + if (vowels.includes(text[i].toLowerCase())) { + countVowels++ + } +} +console.log(countVowels) + +while(i < text.length){ + if (vowels.includes(text[i].toLowerCase())) { + countVowels++ + } + i++ +} +console.log(`El texto: ${text}. Contiene: ${countVowels} vocales`) + // 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto +let numbers = [ 12, 22, 23, 24, 25] +let product = 1 +for (let i = 0; i < numbers.length; i++) { + product *= numbers[i] +} +console.log(product) + // 7. Escribe un bucle que imprima la tabla de multiplicar del 5 +i=0 +while(i <= 10){ + console.log(`5 x ${i} = ${5 * i}`) + i++ +} // 8. Usa un bucle para invertir una cadena de texto +let reversedText = "" +for (let i = text.length - 1; i >= 0; i--) { + reversedText += text[i] +} +console.log(reversedText) + // 9. Usa un bucle para generar los primeros 10 números de la secuencia de Fibonacci -// 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 +let Fibonacci = [0, 1]; + +for (let i = 2; i < 10; i++) { + Fibonacci[i] = Fibonacci[i - 1] + Fibonacci[i - 2]; +} + +console.log(Fibonacci); + +// 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 numbers2 = [ 1, 2, 3, 11, 12, 13, 5, 22, 23] +let numbersGreaterThan10 = [] + +for (let i = 0; i < numbers2.length; i++) { + if (numbers2[i] > 10) { + numbersGreaterThan10.push(numbers2[i]) + } +} + +console.log(numbersGreaterThan10) + +//También lo hizo copilot :D \ No newline at end of file diff --git a/Basic/17-functions-exercises.js b/Basic/17-functions-exercises.js index 81bbb6b9..7fed3455 100644 --- a/Basic/17-functions-exercises.js +++ b/Basic/17-functions-exercises.js @@ -8,10 +8,43 @@ https://www.twitch.tv/videos/2212289583?t=00h17m45s // 1. Crea una función que reciba dos números y devuelva su suma +function sum(a, b) { + return a + b +} +console.log(sum(2, 3)) + // 2. Crea una función que reciba un array de números y devuelva el mayor de ellos +function maxNumber(numbers) { + let max = numbers[0] + for (let i = 1; i < numbers.length; i++) { + if (numbers[i] > max) { + max = numbers[i] + } + } + return max +} + +console.log(maxNumber([1, 2, 13, 4, 5, 6, 7, 38, 99, 10])) + // 3. Crea una función que reciba un string y devuelva el número de vocales que contiene +function countVowels(text){ + +let vowels = "aeiouAEIOU" +let countVowels = 0 + +let i = 0 +while(i < text.length){ + if (vowels.includes(text[i].toLowerCase())) { + countVowels++ + } + i++ +} +console.log(`El texto: "${text}". Contiene ${countVowels} vocales`) +} +countVowels("Feliz 8th Aniversario, BLACKPINK!") + // 4. Crea una función que reciba un array de strings y devuelva un nuevo array con las strings en mayúsculas // 5. Crea una función que reciba un número y devuelva true si es primo, y false en caso contrario diff --git a/Basic/tempCodeRunnerFile.js b/Basic/tempCodeRunnerFile.js deleted file mode 100644 index a7aa5e76..00000000 --- a/Basic/tempCodeRunnerFile.js +++ /dev/null @@ -1,28 +0,0 @@ -let season -let month = "august" - -switch (month) { - case "january": - case "february": - case "march": - season = "winter" - break - case "april": - case "may": - case "june": - season = "spring" - break - case "july": - case "august": - case "september": - season = "summer" - break - case "october": - case "november": - case "december": - season = "autumn" - break - default: - season = "Invalid month" -} -console.log(season) \ No newline at end of file