diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 2e7dd657..358c0829 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -5,20 +5,156 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=4733 // 1. Escribe un comentario en una línea +//R= Comentario de una sola linea + // 2. Escribe un comentario en varias líneas +/* +Este es un comentaria +de +varias lineas +jejejej +*/ + // 3. Declara variables con valores asociados a todos los datos de tipo primitivos + +//String +let myName = "Alan" +//Number +let myAge = 22 +//Booleano +let isProgrammer = true +//Symbol +let oneSymbol = Symbol("thisSymbol") +//Undefine +let thisUndefine +// Null +let thisNull = null +//BigInt +let thisBigInt = BigInt(128319219381237139121392n) +let thisBigIntv2 = 128319219381237139121392n // 4. Imprime por consola el valor de todas las variables -// 5. Imprime por consola el tipo de todas las variables +console.log(myName) +console.log(myAge) +console.log(isProgrammer) +console.log(oneSymbol) +console.log(thisUndefine) +console.log(thisNull) +console.log(thisBigInt) +console.log(thisBigIntv2) +// 5. Imprime pocnoa el tipo de todas las variables +console.log(typeof myName) +console.log(typeof myAge) +console.log(typeof isProgrammer) +console.log(typeof oneSymbol) +console.log(typeof thisUndefine) +console.log(typeof thisNull) +console.log(typeof thisBigInt) +console.log(typeof thisBigIntv2) // 6. A continuación, modifica los valores de las variables por otros del mismo tipo +//String +myName = "Alexis" +//Number +myAge = 23 +//Booleano +isProgrammer = false +//Symbol +oneSymbol = Symbol("theSymbolIsNone") +//Undefine +thisUndefine +// Null +thisNull = null +//BigInt +thisBigInt = BigInt(1283192193812371391213921241321n) +thisBigIntv2 = 128319219381237139121392123131231n +console.log(myName) +console.log(myAge) +console.log(isProgrammer) +console.log(oneSymbol) +console.log(thisUndefine) +console.log(thisNull) +console.log(thisBigInt) +console.log(thisBigIntv2) // 7. A continuación, modifica los valores de las variables por otros de distinto tipo +myName = 24 +//Number +myAge = false +//Booleano +isProgrammer = "Alexis" +//Symbol +oneSymbol = null +//Undefine +thisUndefine = BigInt(21321312312312) +// Null +thisNull +//BigInt +thisBigInt = Symbol("this_Symbol") +console.log(myName) +console.log(myAge) +console.log(isProgrammer) +console.log(oneSymbol) +console.log(thisUndefine) +console.log(thisNull) +console.log(thisBigInt) +console.log(thisBigIntv2) // 8. Declara constantes con valores asociados a todos los tipos de datos primitivos +//String +const myName1 = "Alan" +//Number +const myAge1 = 22 +//Booleano +const isProgrammer1 = true +//Symbol +const oneSymbol1 = Symbol("thisSymbol") + +//Undefine +//const thisUndefine1 +// Null +const thisNull1 = null +//BigInt +const thisBigInt1 = BigInt(128319219381237139121392n) +const thisBigIntv2_1 = 128319219381237139121392n + +console.log(myName1) +console.log(myAge1) +console.log(isProgrammer1) +console.log(oneSymbol1) +//console.log(thisUndefine1) +console.log(thisNull1) +console.log(thisBigInt1) +console.log(thisBigIntv2_1) // 9. A continuación, modifica los valores de las constantes +/* +//String +const myName1 = "Alexis" +//Number +const myAge1 = 26 +//Booleano +const isProgrammer1 = false +//Symbol +const oneSymbol1 = Symbol("ourSymbols") +//Undefine +const thisUndefine1 +// Null +const thisNull1 = null +//BigInt +const thisBigInt1 = BigInt(128319219381237139121392123132131n) +const thisBigIntv2_1 = 12831921938123713912139212313121n + +console.log(myName1) +console.log(myAge1) +console.log(isProgrammer1) +console.log(oneSymbol1) +console.log(thisUndefine1) +console.log(thisNull1) +console.log(thisBigInt1) +console.log(thisBigIntv2_1) +*/ // 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse \ No newline at end of file diff --git a/Basic/04-operators.js b/Basic/04-operators.js index cac42886..e4e9fc2a 100644 --- a/Basic/04-operators.js +++ b/Basic/04-operators.js @@ -7,7 +7,8 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=4937 let a = 5 let b = 10 - +a++ +console.log(a) console.log(a + b) // Suma console.log(a - b) // Resta console.log(a * b) // Multiplicación diff --git a/Basic/05-operators-exercises.js b/Basic/05-operators-exercises.js index a6265eac..e20fe78f 100644 --- a/Basic/05-operators-exercises.js +++ b/Basic/05-operators-exercises.js @@ -4,22 +4,122 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=6458 */ // 1. Crea una variable para cada operación aritmética +let sum1 = 5 +let sum2 = 4 +console.log(sum1 + sum2) +let res1 = 5 +let res2 = 4 +console.log(res1 - res2) +let mul1 = 5 +let mul2 = 4 +console.log(mul1 * mul2) +let div1 = 5 +let div2 = 4 +console.log(div1 / div2) +let mod1 = 5 +let mod2 = 4 +console.log(mod1 % mod2) +let pot1 = 5 +let pot2 = 4 +console.log(pot1 ** pot2) // 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 VariableEqual = 5 + +let VariableIncrease = 2 +VariableIncrease += 2 + +let VariableDecrease = 8 +VariableDecrease -= 8 + +let VariableMultiply = 6 +VariableMultiply *= 6 + +let VariableDiv = 11 +VariableDiv /= 11 + +let VariableMod = 3 +VariableMod %= 3 + +let VariablePot = 10 +VariablePot **= 10 + +//Hasta aqui son para complementar conocimientos +let VariableLeft = 4 +VariableLeft <<= 4 + +let VariableRigth = 4 +VariableRigth >>= 4 + +let VariableRigthWithOutSign = 5 +VariableRigthWithOutSign >>>= 5 + +let VariableAndBit = 4 +VariableAndBit &= 4 + +let VariableXorBit = 7 +VariableXorBit ^= 7 + +let VariableOrBit = 7 +VariableOrBit |= 7 + +let VariableAndLogic =13 +VariableAndLogic &&= 13 + +let VariableOrLogic = 13 +VariableOrLogic ||= 13 + +let VariableAnnularLogic = 5 +VariableAnnularLogic ??= 5 + + + + // 3. Imprime 5 comparaciones verdaderas con diferentes operadores de comparación +console.log(7 > 5) +console.log(7 >= 5) +console.log(5 != 6) +let num1 = 6 +let num2 = "6" +console.log(num1 !== num2) +console.log(num1 <= num2) // 4. Imprime 5 comparaciones falsas con diferentes operadores de comparación +console.log(num1 === num2) +console.log(7 < 6) +console.log(7 != 7) +let a = 7 +console.log ( a <= "5") +console.log (5 > 10) + + // 5. Utiliza el operador lógico and +console.log(5 >= 5 && 6 >5) // 6. Utiliza el operador lógico or +console.log(1 < 3 || 10 > 15) // 7. Combina ambos operadores lógicos +console.log(5 >= 2 && 6 >5 || 1 < 3 || 10 > 15 ) // 8. Añade alguna negación +console.log(!true) +console.log(!5 >= 5 && 6 >5) + // 9. Utiliza el operador ternario -// 10. Combina operadores aritméticos, de comparáción y lógicas \ No newline at end of file +const HarryPotter = true +HarryPotter ? console.log( "Va a Hogwarts" ) : console.log( "Es muggle" ) +// 10. Combina operadores aritméticos, de comparáción y lógicas + + +let d = 5 +let c = 3 +let f = 5 +console.log(f != d || f < d && f + c) +console.log(d == f && c != f || c / f % d) +console.log(a + f < 15 && d != f) \ No newline at end of file diff --git a/Basic/07-strings-exercises.js b/Basic/07-strings-exercises.js index c08f0166..cf30b7ee 100644 --- a/Basic/07-strings-exercises.js +++ b/Basic/07-strings-exercises.js @@ -5,20 +5,42 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=7226 // 1. Concatena dos cadenas de texto -// 2. Muestra la longitud de una cadena de texto +let text1 = "Hogwarts" +let text2 = "Legacy" +console.log(`${text1} ${text2}`) +// 2. Muestra la longitud de una cadena de texto +let greeting = "Hi!, good morning, how are you today?" +console.log(greeting.length) // 3. Muestra el primer y último carácter de un string - +console.log(greeting[0]) +console.log(greeting[36]) // 4. Convierte a mayúsculas y minúsculas un string - +console.log(greeting.toUpperCase()) +console.log(greeting.toLowerCase()) // 5. Crea una cadena de texto en varias líneas - +let textLong = ` this is a +a long text in a varible, +thanks +` +console.log(textLong) // 6. Interpola el valor de una variable en un string +let Name = "Alan" +console.log (`My name is ${Name}`) // 7. Reemplaza todos los espacios en blanco de un string por guiones - +let career = "I'm study computers systems" +console.log (career.replaceAll(" ","-")) // 8. Comprueba si una cadena de texto contiene una palabra concreta - +let career2 = "I'm study laws" +console.log(career2.includes("study")) // 9. Comprueba si dos strings son iguales +let phrase1 = "Hola mundo" +let phrase2 = "Hola mundo" + +console.log(phrase1 && phrase2 == "Hola mundo") +console.log(phrase1 === phrase2) + +// 10. Comprueba si dos strings tienen la misma longitud +console.log(phrase1.length == phrase2.length) -// 10. Comprueba si dos strings tienen la misma longitud \ No newline at end of file diff --git a/Basic/09-conditionals-exercises.js b/Basic/09-conditionals-exercises.js index 380e6542..9b295b81 100644 --- a/Basic/09-conditionals-exercises.js +++ b/Basic/09-conditionals-exercises.js @@ -6,24 +6,140 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=8652 // if/else/else if/ternaria // 1. Imprime por consola tu nombre si una variable toma su valor +let value = 5; +if (value == 5) { + console.log("My name is Alan"); +} else { + console.log("Valor incorrecto"); +} // 2. Imprime por consola un mensaje si el usuario y contraseña concide con unos establecidos +let username = "JacuXx"; +let password = "haloreach2002"; + +if (username == "JacuXx" && password == "haloreach2002") { + console.log("Succesfull"); +} else { + console.log("Failed"); +} // 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje +let num1 = 0; + +if (num1 == 0) { + console.log("Your number is zero"); +} else if (num1 > 0) { + console.log("Your numbre is positive"); +} else { + console.log("Your numbrer is negative"); +} // 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica cuántos años le faltan +let age = 18; +if (age >= 18) { + console.log("Is of legal age"); +} else { + console.log("Is a minor"); +} + // 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una variable -// dependiendo de la edad +// dependiendo de la edad + +const survey = age >= 18 ? "Is of legal age" : "Is a minor"; +console.log(survey); // 6. Muestra en que estación del año nos encontramos dependiendo del valor de una variable "mes" +let month = "February"; +if (month == "March" || month == "Abril" || month == "May") { + console.log("It´s Spring"); +} else if (month == "June" || month == "July" || month == "August") { + console.log("It´s Summer"); +} else if (month == "September" || month == "October" || month == "November") { + console.log("It´s Autumn"); +} else { + console.log("It´s Winter"); +} // 7. Muestra el número de días que tiene un mes dependiendo de la variable del ejercicio anterior - +if ( + month == "January" || + month == "March" || + month == "May" || + month == "July" || + month +) { + console.log("This month has 31 days"); +} else if ((month = "February")) { + console.log("This month has 28 days"); +} else { + console.log("This month has 30 days"); +} // switch // 8. Usa un switch para imprimir un mensaje de saludo diferente dependiendo del idioma +let language = "Italy"; +let greeting; +switch (language) { + case "Español": + greeting = "Hola"; + break; + case "English": + greeting = "Hello"; + break; + case "Germany": + greeting = "Hallo"; + break; + case "Italy": + greeting = "Ciao"; + break; + default: + console.log("Idioma no reconocido"); +} +console.log(greeting); // 9. Usa un switch para hacer de nuevo el ejercicio 6 +let month_with_switch = "February"; +let season; +switch (month_with_switch) { + case "December": + case "January": + case "February": + season = "Winter"; + break; + case "March": + case "April": + case "May": + season = "Spring"; + break; + case "June": + case "July": + case "August": + season = "Summer"; + break; + case "September": + case "October": + case "November": + season = "Autumn"; + break; + default: + season = "Invalid month"; // Opcional: para manejar valores inesperados +} +console.log(season); -// 10. Usa un switch para hacer de nuevo el ejercicio 7 \ No newline at end of file +// 10. Usa un switch para hacer de nuevo el ejercicio 7 +let day_for_months; +switch (month_with_switch) { + case "February": + day_for_months = "Yor month has 28 days"; + break; + case "January": + case "March": + case "May": + case "July": + day_for_months = "Your month has 31 days"; + break + default: + day_for_months = "Your month has 30 days" +} +console.log(day_for_months) diff --git a/Basic/13-structures-exercises.js b/Basic/13-structures-exercises.js index 1b094502..f7c63fa1 100644 --- a/Basic/13-structures-exercises.js +++ b/Basic/13-structures-exercises.js @@ -4,21 +4,60 @@ Vídeo: https://youtu.be/1glVfFxj8a4?t=11451 */ // 1. Crea un array que almacene cinco animales - + let firstArray = ["Vaca", "Pollo", "Toro", "Tigre"] + console.log(firstArray) // 2. Añade dos más. Uno al principio y otro al final - + firstArray.unshift("Tiburon") //añade al principio del array + firstArray.push("Iguana") + console.log(firstArray) // 3. Elimina el que se encuentra en tercera posición + firstArray.splice(2,1) + console.log(firstArray) // 4. Crea un set que almacene cinco libros -// 5. Añade dos más. Uno de ellos repetido + let firstSet = new Set(["Harry potter", "El retrato de dorian grey", "Don Quijote de la mancha", "El principito", "El gato negro"]) + console.log(firstSet) +// 5. Añade dos más. Uno de ellos repetido + firstSet.add("Harry potter") + firstSet.add("La divina comedia") + console.log(firstSet) // 6. Elimina uno concreto a tu elección - + firstSet.delete("El retrato de dorian grey") + console.log(firstSet) // 7. Crea un mapa que asocie el número del mes a su nombre - + let firstMap = new Map([ + [1, "Enero"], + [2, "Frebrero"], + [3, "Marzo"], + [4, "Abril"], + [5, "Mayo"], + [6, "Junio"], + [7, "Julio"], + [8, "Agosto"], + [9, "Septiembre"], + [10, "Octubre"], + [11, "Noviembre"], + [12, "Diciembre"], + ]) + + console.log(firstMap) // 8. Comprueba si el mes número 5 existe en el map e imprime su valor - +firstMap.has(5) +console.log(firstMap.has(5)) +console.log(firstMap.get(5)) // 9. Añade al mapa una clave con un array que almacene los meses de verano +firstMap.set("Verano",['Junio','Julio','Agosto']) +console.log(firstMap) + +// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map +let myArray = ["Xbox", "Nintendo", "PlayStation"] +console.log(myArray) +let mySet = new Set(myArray) +console.log(mySet) + +let myMap = new Map() +myMap.set = ("Consola", mySet) +console.log(myMap) -// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map \ No newline at end of file diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index 2a27cdd0..9b5675bc 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -6,18 +6,68 @@ 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 +for (let i = 1; i <= 20; i++ ) { + console.log(i) +} // 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado +let i = 1 +let resultado = 0 +while(i <= 100) { + resultado += i + i++ +} +console.log(resultado) + // 3. Crea un bucle que imprima todos los números pares entre 1 y 50 +i = 1 +do{ + if (i % 2 == 0){ + console.log(i) + } + i++ + +} while(i < 50) // 4. Dado un array de nombres, usa un bucle para imprimir cada nombre en la consola +let namesArray = ["Alan", "Alexis", "Rosa", "Alejandro"] +for (let value of namesArray) { + console.log(value) +} // 5. Escribe un bucle que cuente el número de vocales en una cadena de texto +let text = "Hola Mundo"; +let vocales = 0; +let indice = 0; + +while (indice < text.length) { + let caracter = text[indice].toLowerCase(); // Convertir a minúscula para comparar + if (caracter == "a" || caracter == "e" || caracter == "i" || caracter == "o" || caracter == "u") { + vocales++; + } + indice++; +} +console.log("Vocales encontradas:", vocales); // Devuelve 4 // 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto +let myNumbers = [1, 3, 4, 6]; +let product = 1; // Inicializar en 1 para multiplicación + +for (let i = 0; i < myNumbers.length; i++) { + product *= myNumbers[i]; +} + +console.log(product); // Resultado: 72 (1*3*4*6) // 7. Escribe un bucle que imprima la tabla de multiplicar del 5 +let a = 1 +indice = 0 +while(a <= 10){ + let multiplicación = 5 * a + console.log("5 X", a,"=", multiplicación) + a++ +} // 8. Usa un bucle para invertir una cadena de texto