From 5711d2c8f9f85d52050ad9b885561dbe520afa8b Mon Sep 17 00:00:00 2001 From: Marlon GARCIA Date: Mon, 16 Jan 2023 14:51:04 -0500 Subject: [PATCH 1/4] feat: :sparkles: day 01 Day 01 --- Practices/day_01/datatypes.js | 6 ++++++ Practices/day_01/holamundo.js | 1 + Practices/day_01/index.html | 17 +++++++++++++++++ Practices/day_01/introduccion.js | 1 + Practices/day_01/tasks.js | 25 +++++++++++++++++++++++++ Practices/day_01/variable.js | 8 ++++++++ 6 files changed, 58 insertions(+) create mode 100644 Practices/day_01/datatypes.js create mode 100644 Practices/day_01/holamundo.js create mode 100644 Practices/day_01/index.html create mode 100644 Practices/day_01/introduccion.js create mode 100644 Practices/day_01/tasks.js create mode 100644 Practices/day_01/variable.js diff --git a/Practices/day_01/datatypes.js b/Practices/day_01/datatypes.js new file mode 100644 index 0000000..9764314 --- /dev/null +++ b/Practices/day_01/datatypes.js @@ -0,0 +1,6 @@ +console.log('firstName ---> ', firstName, ' --->', typeof(firstName) ); +console.log('lastName ---> ', lastName, ' --->', typeof(lastName)); +console.log('active ---> ', active, ' --->', typeof(active)); +console.log('age ---> ', age, ' --->', typeof(age)); + + diff --git a/Practices/day_01/holamundo.js b/Practices/day_01/holamundo.js new file mode 100644 index 0000000..66aa20b --- /dev/null +++ b/Practices/day_01/holamundo.js @@ -0,0 +1 @@ +console.log('Hola world.........'); \ No newline at end of file diff --git a/Practices/day_01/index.html b/Practices/day_01/index.html new file mode 100644 index 0000000..2d1d490 --- /dev/null +++ b/Practices/day_01/index.html @@ -0,0 +1,17 @@ + + + + + + + Day 01 + + +

Day 01 - JavaScript

+ + + + + + + \ No newline at end of file diff --git a/Practices/day_01/introduccion.js b/Practices/day_01/introduccion.js new file mode 100644 index 0000000..b8bec9e --- /dev/null +++ b/Practices/day_01/introduccion.js @@ -0,0 +1 @@ +console.log('Hola marlon'); \ No newline at end of file diff --git a/Practices/day_01/tasks.js b/Practices/day_01/tasks.js new file mode 100644 index 0000000..cbd1ff8 --- /dev/null +++ b/Practices/day_01/tasks.js @@ -0,0 +1,25 @@ +// TASK 01: Escribe un comentario de una sola línea que diga "los comentarios pueden hacer que el código sea legible" +// los comentarios pueden hacer que el código sea legible + +// TASK 02: Escribe otro comentario que diga, "Bienvenido a 30DaysOfJavaScript" +// Bienvenido a 30DaysOfJavaScript + +// TASK 03: Escribe un comentario multilínea que diga, "Los comentarios pueden hacer el código legible, fácil de usar e informativo" +/* + Los comentarios pueden hacer el código legible, + fácil de usar e informativo +*/ + +// TASK 04: Crea un archivo variable.js y declarar variables y asignar tipos de datos string, booleanos, indefinidos y nulos + +// TASK 05: Crea el archivo datatypes.js y utilizar el operador "typeof" de JavaScript para comprobar los diferentes tipos de datos. Comprueba el tipo de datos de cada variable + +// Declara cuatro variables sin asignar valores + +// Declara cuatro variables con valores asignados + +// Declara variables para almacenar su nombre, apellido, estado civil, país y edad en múltiples líneas + +// Declara variables para almacenar su nombre, apellido, estado civil, país y edad en una sola línea + +// Declara dos variables miEdad y tuEdad y asígneles valores iniciales y regístrese en la consola del navegador. \ No newline at end of file diff --git a/Practices/day_01/variable.js b/Practices/day_01/variable.js new file mode 100644 index 0000000..f1f8a53 --- /dev/null +++ b/Practices/day_01/variable.js @@ -0,0 +1,8 @@ +let firstName = 'Marlon', + lastName, + active = true, + age=null; + + +let var1, var2, var3, var4; + From 07b16ba5f322d0a187b317bfc28714c1b84ed07b Mon Sep 17 00:00:00 2001 From: Marlon GARCIA Date: Tue, 17 Jan 2023 12:08:39 -0500 Subject: [PATCH 2/4] feat: :sparkles: day 02 Day 02 --- Practices/day_02/index.html | 13 ++++ Practices/day_02/tasksLevel1.js | 106 ++++++++++++++++++++++++++++++++ Practices/day_02/tasksLevel2.js | 77 +++++++++++++++++++++++ Practices/day_02/tasksLevel3.js | 28 +++++++++ 4 files changed, 224 insertions(+) create mode 100644 Practices/day_02/index.html create mode 100644 Practices/day_02/tasksLevel1.js create mode 100644 Practices/day_02/tasksLevel2.js create mode 100644 Practices/day_02/tasksLevel3.js diff --git a/Practices/day_02/index.html b/Practices/day_02/index.html new file mode 100644 index 0000000..b070b16 --- /dev/null +++ b/Practices/day_02/index.html @@ -0,0 +1,13 @@ + + + + + + + 30 days of JS + + +

30 Days of JavaScript

+ + + \ No newline at end of file diff --git a/Practices/day_02/tasksLevel1.js b/Practices/day_02/tasksLevel1.js new file mode 100644 index 0000000..b3365a2 --- /dev/null +++ b/Practices/day_02/tasksLevel1.js @@ -0,0 +1,106 @@ +// 1. Declare una variable llamada desafío y asígnele un valor inicial '30 días de JavaScript'. +desafio = '30 Days Of JavaScript'; + + +//Imprima la cadena en la consola del navegador usando console.log() +console.log('desafio ---> ', desafio); + + +// Imprima la longitud de la cadena en la consola del navegador usando console.log() +console.log('Longitud desafio --->', desafio.length); + + +// Cambie todos los caracteres de cadena a letras mayúsculas usando el método toUpperCase() +console.log('toUpperCase() --->', desafio.toUpperCase()); + + +// Cambie todos los caracteres de la cadena a letras minúsculas usando el método toLowerCase() +console.log('toLowerCase() --->', desafio.toLowerCase()); + + +// Corta (segmenta) la primera palabra de la cadena usando el método substr() o substring() +console.log('substr() --->', desafio.substr(0, 2)); + + +// Corta la frase Days Of JavaScript de 30 Days Of JavaScript. +let phrase = 'Days Of JavaScript'; +console.log('substr() --->', desafio.substr(0, desafio.length - phrase.length )); + + +// Verifique si la cadena contiene una palabra Script usando el método includes() +console.log('includes() --->', desafio.includes('Script')); + + +// Divide la cadena en un array usando el método split() +console.log('split() --->', desafio.split()); + + +// Divida la cadena 30 Days Of JavaScript en el espacio usando el método split() +console.log('split("") --->', desafio.split(" ")); + + +// 'Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon' divide la cadena en la coma y cámbiala a una matriz. +let str = 'Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon'; +console.log('split(", ") --->', str.split(", ")); + + +// C30 Days Of JavaScript a 30 Days Of Python usando el método replace(). +console.log('replace() --->', desafio.replace('JavaScript', 'Pyton')); + + +// ¿Qué es el carácter en el índice 15 en la cadena '30 Days Of JavaScript'? Utilice el método charAt(). +console.log('charAt() --->', desafio.charAt(15)); + + +// ¿Cuál es el código de carácter de J en la cadena '30 Days Of JavaScript' usando charCodeAt() +console.log('charCodeAt() --->', desafio.charCodeAt(11)); + + +// Use indexOf para determinar la posición de la primera aparición de a en 30 Days Of JavaScript +console.log('indexOf() --->', desafio.indexOf('a')); + + +// Utilice lastIndexOf para determinar la posición de la última aparición de a en 30 Days Of JavaScript. +console.log('lastIndexOf() --->', desafio.lastIndexOf('a')); + + +// Usa indexOf para encontrar la posición de la primera aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción' +let str2 = 'No puedes terminar una oración con porque porque porque es una conjunción' +console.log('indexOf() --->', str2.indexOf('porque')); + + +// Usa lastIndexOf para encontrar la posición de la última aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción' +console.log('lastIndexOf() --->', str2.lastIndexOf('porque')); + + +// Usa buscar para encontrar la posición de la primera aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción' +console.log('search()) --->', str2.search('porque')); + + +// Use trim() para eliminar cualquier espacio en blanco final al principio y al final de una cadena. Por ejemplo, '30 Days Of JavaScript'. +let str3 = ' No puedes terminar una oración con porque porque porque es una conjunción' +console.log('str3 --->', str3); +console.log('trim() --->', str3.trim()); + + +// Use el método startsWith() con la cadena 30 Days Of JavaScript y haga que el resultado sea verdadero +console.log('startsWith() --->', desafio.startsWith('30 Days')); + + +// Use el método endsWith() con la cadena 30 Days Of JavaScript y haga que el resultado sea verdadero +console.log('endsWith() --->', desafio.endsWith('Script')); + + +// Usa el método match() para encontrar todos los a en 30 Days Of JavaScript +let pattern = /a/gi +console.log('match() --->', desafio.match(pattern)); + + +// Use concat() y fusione '30 Days Of ' y 'JavaScript' en una sola cadena, '30 Days Of JavaScript' +let strOne = '30 Days Of '; +let strTwo = 'JavaScript'; +console.log('concat() --->', strOne.concat(strTwo)); + + +// Use el método repeat() para imprimir 30 Days Of JavaScript 2 veces +console.log('repeat() --->', desafio.repeat(2)); diff --git a/Practices/day_02/tasksLevel2.js b/Practices/day_02/tasksLevel2.js new file mode 100644 index 0000000..7d19b46 --- /dev/null +++ b/Practices/day_02/tasksLevel2.js @@ -0,0 +1,77 @@ +// 1. Usando console.log() imprima la siguiente declaración: +// The quote 'There is no exercise better for the heart than reaching down and lifting people up.' by John Holmes teaches us to help one another. +let str1 = "'There is no exercise better for the heart than reaching down and lifting people up.' by John Holmes teaches us to help one another"; +console.log(str1); + + +// 2. Usando console.log() imprima la siguiente cita de la Madre Teresa: +// "Love is not patronizing and charity isn't about pity, it is about love. Charity and love are the same -- with charity you give love, so don't just give money but reach out your hand instead." +let str2 = "Love is not patronizing and charity isn't about pity, it is about love. Charity and love are the same -- with charity you give love, so don't just give money but reach out your hand instead." +console.log(str2); + + +// 3. Compruebe si typeof '10' es exactamente igual a 10. Si no, hágalo exactamente igual. +console.log(typeof(Number('10')) === typeof(10)); + + +// 4. Compruebe si parseFloat('9.8') es igual a 10, si no, hágalo exactamente igual a 10. +console.log(Math.round(parseFloat('9.8')) === 10); + + +// 5. Verifique si 'on' se encuentra tanto en Python como en la jargon +let str5 = 'jargon'; +console.log(str5.includes('on')); + + +// 6. Espero que este curso no esté lleno de jargon. Compruebe si jargon está en la oración. +let str6 = 'Espero que este curso no esté lleno de jargon'; +console.log(str6.includes(str5)); + + +// 7. Genere un número aleatorio entre 0 y 100 inclusive. +console.log(Math.round(Math.random() * 101)); + + +// 8. Genere un número aleatorio entre 50 y 100 inclusive. +let min8 = 50; +let max8 = 101; +console.log(Math.floor(Math.random() * (max8 - min8) + min8)); + + +// 9. Genere un número aleatorio entre 0 y 255 inclusive. +let min9 = 0; +let max9 = 256; +console.log(Math.floor(Math.random() * (max9 - min9) + min9)); + + +// 10. Acceda a los caracteres de la cadena 'JavaScript' utilizando un número aleatorio. +let str10 = 'JavaScript'; +let max10 = str10.length; +let index = Math.floor(Math.random() * max10); +console.log('index ---> ', index, str10[index]) + + +// 11. Use console.log() y caracteres de escape para imprimir el siguiente patrón. +// 1 1 1 1 1 +// 2 1 2 4 8 +// 3 1 3 9 27 +// 4 1 4 16 64 +// 5 1 5 25 125 +let valueR1 = 1, + valueR2 = 2, + valueR3 = 3, + valueR4 = 4, + valueR5 = 5; +console.log(`${valueR1} \t1 \t${Math.pow(valueR1, 1)} \t${Math.pow(valueR1, 2)} \t${Math.pow(valueR1, 3)}`); +console.log(`${valueR2} \t1 \t${Math.pow(valueR2, 1)} \t${Math.pow(valueR2, 2)} \t${Math.pow(valueR2, 3)}`); +console.log(`${valueR3} \t1 \t${Math.pow(valueR3, 1)} \t${Math.pow(valueR3, 2)} \t${Math.pow(valueR3, 3)}`); +console.log(`${valueR4} \t1 \t${Math.pow(valueR4, 1)} \t${Math.pow(valueR4, 2)} \t${Math.pow(valueR4, 3)}`); +console.log(`${valueR5} \t1 \t${Math.pow(valueR5, 1)} \t${Math.pow(valueR5, 2)} \t${Math.pow(valueR5, 3)}`); + + +// Usa substr para separar la frase porque porque porque de la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción' +let str12 = 'No puedes terminar una oración con porque porque porque es una conjunción'; +let phrase12 = 'porque porque porque'; +let index12 = str12.indexOf(phrase12); +console.log(index12); +console.log(str12.substr(index12, phrase12.length)); \ No newline at end of file diff --git a/Practices/day_02/tasksLevel3.js b/Practices/day_02/tasksLevel3.js new file mode 100644 index 0000000..4766861 --- /dev/null +++ b/Practices/day_02/tasksLevel3.js @@ -0,0 +1,28 @@ +// 1. Cuente el número de palabras amor en esta oración: +// El amor es lo mejor que hay en este mundo. Algunos encontraron su amor y algunos todavía están buscando su amor. +let str1 = 'El amor es lo mejor que hay en este mundo. Algunos encontraron su amor y algunos todavía están buscando su amor' +let pattern1 = /amor/gi; +console.log(str1.match(pattern1).length); + + +// 2. Usa match() para contar el número de todos los porque en la siguiente oración: +// No puedes terminar una oración con porque porque porque es una conjunción +let str2 = 'No puedes terminar una oración con porque porque porque es una conjunción'; +let pattern2 = /porque/gi; +console.log(str2.match(pattern2).length); + + +// 3. Limpia el siguiente texto y encuentra la palabra más frecuente (pista, usa replace y expresiones regulares). +const sentence = +"%I $am@% a %tea@cher%, &and& I lo%#ve %te@a@ching%;. The@re $is no@th@ing; &as& mo@re rewarding as educa@ting &and& @emp%o@weri@ng peo@ple. ;I found tea@ching m%o@re interesting tha@n any ot#her %jo@bs. %Do@es thi%s mo@tiv#ate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is al@so $the $resu@lt of &love& of tea&ching"; +let pattern3 = /([%$@&#;])/gi; +let newSentence = sentence.replace(pattern3, ''); +console.log(newSentence); + + +// 4. Calcula el ingreso anual total de la persona extrayendo los números del siguiente texto. +let str4 = 'Él gana 5000 euros de salario por mes, bono anual de 10000 euros, cursos en línea de 15000 euros por mes.'; +let patter4 = /\d+/g; +let data = str4.match(patter4); +let salAnual = (Number(data[0]) * 12) + (Number(data[1])) + (Number(data[2] * 12)); +console.log(`El salario anual es: ${salAnual.toFixed(2)} COP`); \ No newline at end of file From 92a4e69ff6c0c5cab607ec8c30bc900e7ae6a74e Mon Sep 17 00:00:00 2001 From: Marlon GARCIA Date: Thu, 19 Jan 2023 10:25:59 -0500 Subject: [PATCH 3/4] feat: :sparkles: day 03 Day 03 --- Practices/day_03/index.html | 13 ++++ Practices/day_03/tasksLevel1.js | 125 ++++++++++++++++++++++++++++++++ Practices/day_03/tasksLevel2.js | 124 +++++++++++++++++++++++++++++++ Practices/day_03/tasksLevel3.js | 13 ++++ 4 files changed, 275 insertions(+) create mode 100644 Practices/day_03/index.html create mode 100644 Practices/day_03/tasksLevel1.js create mode 100644 Practices/day_03/tasksLevel2.js create mode 100644 Practices/day_03/tasksLevel3.js diff --git a/Practices/day_03/index.html b/Practices/day_03/index.html new file mode 100644 index 0000000..b070b16 --- /dev/null +++ b/Practices/day_03/index.html @@ -0,0 +1,13 @@ + + + + + + + 30 days of JS + + +

30 Days of JavaScript

+ + + \ No newline at end of file diff --git a/Practices/day_03/tasksLevel1.js b/Practices/day_03/tasksLevel1.js new file mode 100644 index 0000000..68c0321 --- /dev/null +++ b/Practices/day_03/tasksLevel1.js @@ -0,0 +1,125 @@ +// 1. Declare las siguientes variables y asignar un valor, use el operador +// typeof para verificar diferentes tipos de datos: +let firstName = 'Marlon', + lastName = 'García', + country = 'Colombia', + city = 'Medellín', + age = 50, + isMarried = true, + year = 2023; +console.log('firstName ---> \t', typeof(firstName)); +console.log('lastName ---> \t', typeof(lastName)); +console.log('country ---> \t', typeof(country)); +console.log('city -----> \t', typeof(city)); +console.log('age ------> \t', typeof(age)); +console.log('isMarried ---> \t', typeof(isMarried)); +console.log('year ------> \t', typeof(year)); + + +// 2. Verifique si typeof '10' es igual a 10 +console.log(typeof('10') == 10); +console.log(typeof('10') === 10); + + +// 3. Verifique si parseInt('9.8') es igual a 10 +console.log(parseInt('9.8') == 10); +console.log(parseInt('9.8') === 10); + + +// 4. Verifique cualquier valor booleano true o false. +console.log(isMarried == true); +console.log(isMarried == false); + + +// 5. Escriba tres declaraciones de JavaScript que proporcionen un valor verdadero. +console.log(10 > 5); +console.log('z' > 'm'); +console.log(Math.pow(2,4) > Math.sqrt(16)); + + +// 6. Escriba tres declaraciones de JavaScript que proporcionen un valor falso. +console.log(1 > 5); +console.log('marlon'.length < 'papá'.length); +console.log(Math.pow(2,4) > Math.sqrt(1000)); + + +// 7. Calcule primero el resultado de la siguiente expresión de comparación sin usar console.log(). +// Después de decidir el resultado, confirmelo usando console.log() +/* + _ 4 > 3: true + _ 4 >= 3: true + _ 4 < 3: false + _ 4 <= 3: false + _ 4 == 4: true + _ 4 === 4: true + _ 4 != 4: false + _ 4 !== 4: false + _ 4 != '4': false + _ 4 == '4': true + _ 4 === '4':false +*/ +console.log('4 > 3 ---> \t\t',4 > 3); +console.log('4 >= 3 ---> \t\t',4 >= 3); +console.log('4 < 3 ---> \t\t',4 < 3); +console.log('4 <= 3 ---> \t\t',4 <= 3); +console.log('4 == 4 ---> \t\t',4 == 4); +console.log('4 === 4 ---> \t\t',4 === 4); +console.log('4 != 4 ---> \t\t',4 != 4); +console.log('4 !== 4 ---> \t\t',4 !== 4); +console.log('4 != "4" ---> \t\t',4 != '4'); +console.log('4 == "4" ---> \t\t',4 == '4'); +console.log('4 === "4" ---> \t\t',4 === '4'); + + +// 8. Encuentre la longitud de Python y jargon y haga una declaración de comparación falsa. +console.log('Python'.length > 'jargon'.length); + + +// 9. Calcule primero el resultado de las siguientes expresiones sin usar console.log(). +// Después de decidir el resultado, confirmelo usando console.log() +/* + _ 4 > 3 && 10 < 12: T && T true + _ 4 > 3 && 10 > 12: T && F false + _ 4 > 3 || 10 < 12: T || T true + _ 4 > 3 || 10 > 12: T || F true + _ !(4 > 3): !T false + _ !(4 < 3): !F true + _ !(false): !F true + _ !(4 > 3 && 10 < 12): !(T && T) !T false + _ !(4 > 3 && 10 > 12): !(T && F) !F true + _ !(4 === '4'): !F true + _ No hay 'on' tanto en dragon como en python +*/ +console.log("4 > 3 && 10 < 12 ---> ", 4 > 3 && 10 < 12); +console.log("4 > 3 && 10 > 12 ---> ", 4 > 3 && 10 > 12); +console.log("4 > 3 || 10 < 12 ---> ", 4 > 3 || 10 < 12); +console.log("4 > 3 || 10 > 12 ---> ", 4 > 3 || 10 > 12); +console.log("!(4 > 3) ---> ", !(4 > 3)); +console.log("!(4 < 3) ---> ", !(4 < 3)); +console.log("!(false) ---> ", !(false)); +console.log("!(4 > 3 && 10 < 12) ---> ", !(4 > 3 && 10 < 12)); +console.log("!(4 > 3 && 10 > 12) ---> ", !(4 > 3 && 10 > 12)); +console.log("!(4 === '4') ---> ", !(4 === '4')); +console.log(!(!'dragon'.includes('on') && !'python'.includes('on'))); + + +// 10. Utilice el objeto Date para realizar las siguientes actividades +/* + _ ¿Qué año es hoy? + _ ¿Qué mes es hoy con un número? + _ ¿Qué fecha es hoy? + _ ¿Qué día es hoy con un número? + _ ¿Cuál es la hora actual? + _ ¿Cuántos minutos hay actualmente? + _ Averigüe el número de segundos transcurridos desde el 1 de enero de 1970 hasta ahora. +*/ +let currentDate = new Date(); +console.log('¿Qué año es hoy? ---> ', currentDate.getFullYear()); +console.log('¿Qué mes es hoy con un número? ---> ', currentDate.getMonth() + 1); +let dateToday = `${currentDate.getDate()} / ${currentDate.getMonth()+1} / ${currentDate.getFullYear()}`; +console.log('¿Qué fecha es hoy? ---> ', dateToday); +console.log('¿Qué día es hoy con un número? ---> ', currentDate.getDay()); +let timeCurrent = `${currentDate.getHours()}:${currentDate.getMinutes()}:${currentDate.getSeconds()}`; +console.log('¿Cuál es la hora actual? ---> ', timeCurrent); +console.log('¿Cuántos minutos hay actualmente? ---> ', currentDate.getMinutes()); +console.log('Averigüe el número de segundos transcurridos desde el 1 de enero de 1970 hasta ahora. ---> ', Date.now()); \ No newline at end of file diff --git a/Practices/day_03/tasksLevel2.js b/Practices/day_03/tasksLevel2.js new file mode 100644 index 0000000..012af23 --- /dev/null +++ b/Practices/day_03/tasksLevel2.js @@ -0,0 +1,124 @@ +/* +// 1. Escriba un script que solicite al usuario que ingrese la base y la altura del triángulo y calcule el área +// de un triángulo (área = 0,5 x b x h). +let base = Number(prompt('Ingrese la base del triángulo: ')); +let hight = Number(prompt('Ingrese la altura del triángulo: ')); +console.log(`El área del triángulo de base ${base} y altura ${hight} es: ${0.5 * base * hight}`); + + +// 2. Escriba un script que solicite al usuario que ingrese el lado a, el lado b y el lado c del triángulo y calcule +// el perímetro del triángulo (perímetro = a + b + c) +let sideA = Number(prompt('Ingrese lado A del triángulo: ')); +let sideB = Number(prompt('Ingrese lado B del triángulo: ')); +let sideC = Number(prompt('Ingrese lado C del triángulo: ')); +console.log(`El perímetro del triángulo de lados ${sideA}, ${sideB} y ${sideC} es: ${sideA + sideB + sideC}`); + +// 3. Obtenga el largo y el ancho usando prompt y calcule el área del rectángulo (área = largo x ancho y el +// perímetro del rectángulo (perímetro = 2 x (largo + ancho)) +let large = Number(prompt('Ingrese largo del rectángulo: ')); +let width = Number(prompt('Ingrese ancho del rectángulo: ')); +console.log(`El área del rectángulo de largo ${large} y ancho ${width} es: ${large * width}`); +console.log(`El perímetro del rectángulo de largo ${large} y ancho ${width} es: ${2 * (large + width)}`); + + +// 4. Obtenga el radio usando prompt y calcule el área de un círculo (área = pi x r x r) y la circunferencia +// de un círculo (c = 2 x pi x r) donde pi = 3.14. +let radio = Number(prompt('Ingrese el radio del círculo: ')); +console.log(`El área del círculo de radio ${radio} es: ${Math.PI * radio * radio}`); +console.log(`La circunferencia del círculo de radio ${radio} es: ${2 * Math.PI * radio}`); + + +// 5. Calcule la pendiente, la intersección X y la intersección Y de y = 2x -2 +let equation = 'y=-2x-15'; +let m = equation.split('='); +console.log('Pendiente de la recta y=2x-2 es: ', m[1].substr(0, m[1].indexOf('x'))); +let valueY = m[1].substr(m[1].indexOf('x') + 1, m[1].length - 1); +console.log(`Intersección con y: P(0, ${valueY})`); +let valueX = (-1 * valueY) / m[1].substr(0, m[1].indexOf('x')); +console.log(`Intersección con x: P(${valueX}, 0)`); + + +// 6. La pendiente es m = (y2-y1)/(x2-x1). Encuentra la pendiente entre el punto (2, 2) y el punto (6,10) +let x1 = 2, +y1 = 2, +x2 = 6, + y2 = 10; + let pending = (y2-y1)/(x2-x1); + console.log('La pendiente de la recta es: ', pending) + + + // 7. Compare la pendiente de las dos preguntas anteriores. + let pendingEx1 = Number(m[1].substr(0, m[1].indexOf('x'))); +let pendingEx2 = Number(pending); +console.log(`La pendiente de los puntos (0, ${valueY}) y (${valueX}, 0) es ${pendingEx1} `); +console.log(`La pendiente de los puntos (2, 2) y (10, 6) es ${pendingEx2} `); +console.log('Las pendientes son iguales? ---> ', pendingEx1 === pendingEx2); +console.log('La pendiente 1 es mayor a la pendiente 2? --->', pendingEx1 > pendingEx2); +console.log('La pendiente 1 es menor a la pendiente 2? --->', pendingEx1 < pendingEx2); + + +// 8. Calcula el valor de y (y = x2 + 6x + 9). Trate de usar diferentes valores de x y averigüe en qué valor de x y es 0. +let x = 0; +let y = (Math.pow(x, 2)) + (6 * x) + 9; +console.log(`x = ${x} ---> y = ${y}`); + + +// 9. Escriba un script con prompt que solicite al usuario que ingrese las horas y la tarifa por hora. +// ¿Calcular el salario de la persona? +let hoursJobs = Number(prompt('Ingrese horas trabajadas: ')); +let payHours = Number(prompt('Ingrese pago pot horas trabajadas: ')); +let salary = hoursJobs * payHours; +console.log('Tiene salario de: ', salary); + + +// 10. Si la longitud de su nombre es mayor que 7, diga que su nombre es largo; de lo contrario, diga que su nombre es corto. +let myName = 'Marlon García'; +(myName.length > 7) ? console.log(`Mi nombre es largo`) : console.log(`Mi nombre es corto`); + + +// 11. Compare la longitud de su nombre y la longitud de su apellido y debería obtener este resultado. +let firstName = 'Marlon', +lastName = 'García'; +(firstName.length > lastName.length) ? +console.log(`Mi primer nombre, ${firstName} es más largo que mi mi apellido, ${lastName}`) : +console.log(`Mi primer nombre, ${firstName} es más corto que mi mi apellido, ${lastName}`); + + +// 12. Declare dos variables myAge y yourAge y asignarles los valores iniciales: +let myAge = 20, +yourAge = 40; +(myAge > yourAge) ? +console.log(`Soy ${myAge - yourAge} años mayor que tú`) : +console.log(`Soy ${yourAge - myAge} años menor que tú`); + + +// 13. Usando prompt, obtenga el año en que nació el usuario y, si el usuario tiene 18 años o más, permita que el usuario conduzca, +// si no dígale que espere una cierta cantidad de años. +let yearBirth = Number(prompt('Ingrese de nacimiento: ')); +let currentDate = new Date(); +let ageUser = currentDate.getFullYear() - yearBirth; +(ageUser >= 18) ? +console.log(`Tienes ${ageUser} años. Tiene edad suficiente para conducir`) : +console.log(`Tienes ${ageUser} años. Podrás conducir después de ${18 - ageUser} años`); + +// 14. Escriba un script que solicite por prompt al usuario que ingrese el número de años. Calcular el número de segundos que puede +// vivir una persona. Supongamos que alguien vive solo cien años +let years = Number(prompt('Ingrese número de años: ')); +let quantitySeg = 365 * 24 * 60 * 60 * years; +console.log(`La persona puede vivir ${quantitySeg} segundos`); +*/ + + +// 15. Cree un formato de hora legible por humanos usando el objeto Date. +let currentDate = new Date(); +let year = currentDate.getFullYear(); +let month = currentDate.getMonth() + 1; +let day = currentDate.getDate(); +let hour = currentDate.getHours(); +let minutes = currentDate.getMinutes(); +// YYYY-MM-DD HH:mm +console.log(`${year}-${month}-${day} ${hour}:${minutes}`); +// DD-MM-YYYY HH:mm +console.log(`${day}-${month}-${year} ${hour}:${minutes}`); +// DD/MM/YYYY +console.log(`${day}-${month}-${year}`); diff --git a/Practices/day_03/tasksLevel3.js b/Practices/day_03/tasksLevel3.js new file mode 100644 index 0000000..556006d --- /dev/null +++ b/Practices/day_03/tasksLevel3.js @@ -0,0 +1,13 @@ +// 1. Cree un formato de hora legible por humanos usando el objeto Date. +// La hora y el minuto deben ser siempre dos dígitos (7 horas deben ser 07 y 5 minutos deben ser 05) +// YYY-MM-DD HH:mm eg. 20120-01-02 07:05 +let currentDate = new Date(); +let year = currentDate.getFullYear(); +let month = currentDate.getMonth() + 1; +let day = currentDate.getDate(); +let hour = currentDate.getHours(); +let newHour = hour.toString().length > 1 ? hour.toString() : '0' + hour.toString(); +let minutes = currentDate.getMinutes(); +let newMinutes = minutes.toString().length > 1 ? minutes.toString() : '0' + minutes.toString(); + +console.log(`${year}-${month}-${day} ${newHour}:${newMinutes}`); \ No newline at end of file From 9e969abced0966b3ebc04bf56b25e9f318414cec Mon Sep 17 00:00:00 2001 From: Marlon GARCIA Date: Mon, 30 Jan 2023 10:48:38 -0500 Subject: [PATCH 4/4] feat: :sparkles: day 04 Day 04 --- Practices/day_04/fetch.js | 36 ++++++++++++++ Practices/day_04/index.html | 17 +++++++ Practices/day_04/index.js | 8 +++ Practices/day_04/tasksLevel1.js | 48 ++++++++++++++++++ Practices/day_04/tasksLevel2.js | 87 +++++++++++++++++++++++++++++++++ Practices/day_04/tasksLevel3.js | 57 +++++++++++++++++++++ 6 files changed, 253 insertions(+) create mode 100644 Practices/day_04/fetch.js create mode 100644 Practices/day_04/index.html create mode 100644 Practices/day_04/index.js create mode 100644 Practices/day_04/tasksLevel1.js create mode 100644 Practices/day_04/tasksLevel2.js create mode 100644 Practices/day_04/tasksLevel3.js diff --git a/Practices/day_04/fetch.js b/Practices/day_04/fetch.js new file mode 100644 index 0000000..261618d --- /dev/null +++ b/Practices/day_04/fetch.js @@ -0,0 +1,36 @@ + +url = 'https://jsonplaceholder.typicode.com/posts' +const ul = document.createElement('ul'); + +// NORMAL +fetch(url) // 1 +.then(response => response.json()) // 2 +.then(data => { + data.forEach(post => { + const {id, title} = post; + console.log(id, title); + const li = document.createElement('li'); + li.style.color = 'red'; + li.style.background = 'yellow'; + li.innerHTML = `

${id < 10 ? '0' + id : id} - ${title}

`; + ul.append(li); + }); + document.body.append(ul); +}); // 3 + + +// async / await +const getData = async () => { + const response = await fetch(url); + const data = await response.json(); + data.forEach(post => { + const {id, title} = post; + const li = document.createElement('li'); + li.style.color = 'red'; + li.style.background = 'yellow'; + li.innerHTML = `

${id < 10 ? '0' + id : id} - ${title}

`; + ul.append(li); + }); + document.body.append(ul); +} +getData(); \ No newline at end of file diff --git a/Practices/day_04/index.html b/Practices/day_04/index.html new file mode 100644 index 0000000..ea6ac07 --- /dev/null +++ b/Practices/day_04/index.html @@ -0,0 +1,17 @@ + + + + + + + 30 days of JS + + +

30 Days of JavaScript

+ +
+ + + + + \ No newline at end of file diff --git a/Practices/day_04/index.js b/Practices/day_04/index.js new file mode 100644 index 0000000..6dde8ab --- /dev/null +++ b/Practices/day_04/index.js @@ -0,0 +1,8 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + +); \ No newline at end of file diff --git a/Practices/day_04/tasksLevel1.js b/Practices/day_04/tasksLevel1.js new file mode 100644 index 0000000..6a9a42a --- /dev/null +++ b/Practices/day_04/tasksLevel1.js @@ -0,0 +1,48 @@ +/* +// 1. Obtenga la entrada del usuario usando el aviso ("Ingrese su edad:"). +// Si el usuario tiene 18 años o más, muestre el mensaje: 'Tiene la edad +// suficiente para conducir', pero si no tiene 18 años, brinde otro mensaje +// que indique que debe esperar la cantidad de años que necesita para cumplir 18. +let ageUser = Number(prompt('Ingrese su edad: ')); +if (ageUser >= 18) { + console.log(`Tienes ${ageUser} años. Tiene edad suficiente para conducir`); +} else { + console.log(`Tienes ${ageUser} años. Te faltan ${18 - ageUser} años para poder conducir`); +} + +// 2. Compara los valores de myAge y yourAge usando if... else. Según la comparación, registre el +// resultado en la consola indicando quién es mayor (tú o yo). Utilice prompt(“Ingrese su edad:”) +// para obtener la edad como entrada. +let myAge = Number(prompt('Mi edad: ')); +let yourAge = Number(prompt('Tú edad: ')); +if (myAge > yourAge) { + console.log(`Soy ${myAge - yourAge} años mayor, por lo tanto, tengo más edad que tú.`); +} else { + console.log(`Tú eres ${yourAge - myAge} años mayor, por lo tanto, tienes más edad que yo.`); +} + + +// 3. Si a es mayor que b, devuelve 'a es mayor que b'; de lo contrario, 'a es menor que b'. Trate de implementarlo de maneras diferentes +let a = 1, +b = 3; +// Usando if else +if (a > b) { + console.log(`${a} es mayor que ${b}`); +} else { + console.log(`${a} es menor que ${b}`); +} +// operador ternario. +(a > b) ? console.log(`${a} es mayor que ${b}`) : console.log(`${a} es menor que ${b}`); + + +// 4. Los números pares son divisibles por 2 y el resto es cero. ¿Cómo verificar si un +// número es par o no usando JavaScript? +let number = Number(prompt('Ingrese un número entero: ')); +if (number % 2 === 0) { + console.log(`${number} es PAR`); +} else { + console.log(`${number} es IMPAR`); +} + +(number % 2 === 0) ? console.log(`${number} es PAR`) : console.log(`${number} es IMPAR`); +*/ diff --git a/Practices/day_04/tasksLevel2.js b/Practices/day_04/tasksLevel2.js new file mode 100644 index 0000000..a0a7c00 --- /dev/null +++ b/Practices/day_04/tasksLevel2.js @@ -0,0 +1,87 @@ +/* + +// 1. Escriba un código que pueda calificar a los estudiantes de acuerdo con sus puntajes: +// 80-100, A +// 70-89, B +// 60-69, C +// 50-59, D +// 0-49, F + +let score = Number(prompt('Ingrese el puntaje del estudiante: ')); + +switch (true) { + case score >= 80: + console.log('El estudiante tiene una calificación con la letra A'); + break; + case score >= 70: + console.log('El estudiante tiene una calificación con la letra B'); + break; + case score >= 60: + console.log('El estudiante tiene una calificación con la letra C'); + break; + case score >= 50: + console.log('El estudiante tiene una calificación con la letra D'); + break; + case score >= 0: + console.log('El estudiante tiene una calificación con la letra F'); + break; + default: + console.log('Puntaje no válido (0 - 100)'); +} + + +// 2. Consulta si la temporada es Otoño, Invierno, Primavera o Verano. Si la entrada del usuario es: + +// Septiembre, Octubre o Noviembre, la temporada es Otoño. +// Diciembre, Enero o Febrero, la temporada es Invierno. +// Marzo, Abril o Mayo, la temporada es Primavera +// Junio, Julio o Agosto, la temporada es Verano + +let month = prompt('Ingrese el mes: '); + +switch (month) { + case 'septiembre': + case 'octubre': + case 'noviembre': + console.log('Está en temporada de OTOÑO'); + break; + case 'diciembre': + case 'enero': + case 'febrero': + console.log('Está en temporada de INVIERNO'); + break; + case 'marzo': + case 'abril': + case 'mayo': + console.log('Está en temporada de PRIMAVERA'); + break; + case 'junio': + case 'julio': + case 'agosto': + console.log('Está en temporada de VERANO'); + break; + default: + console.log('Ingrese mes válido...') +} +*/ + + +// 3. Compruebe si un día es un día de fin de semana o un día laborable. Su script tomará el día como entrada. +let day = prompt('Qué día quiere consultar: '); +switch (day) { + case 'lunes': + case 'martes': + case 'miércoles': + case 'jueves': + case 'viernes': + console.log(`El ${day.toUpperCase()} es un día laborable`) + break; + case 'sábado': + case 'domingo': + console.log(`El ${day.toUpperCase()} es un día No laborable. Es fin de semana`) + break; + default: + console.log('Ingrese un día válido...') + break; +} + diff --git a/Practices/day_04/tasksLevel3.js b/Practices/day_04/tasksLevel3.js new file mode 100644 index 0000000..0f74596 --- /dev/null +++ b/Practices/day_04/tasksLevel3.js @@ -0,0 +1,57 @@ +/* +// 1. Escribe un programa que diga el número de días en un mes. + +let month = prompt('Ingrese el mes: '); + +switch (month) { + case 'enero': + case 'marzo': + case 'mayo': + case 'julio': + case 'agosto': + case 'octubre': + case 'diciembre': + console.log(`${month.toUpperCase()} tiene 31 días`); + break; + case 'abril': + case 'junio': + case 'septiembre': + case 'noviembre': + console.log(`${month.toUpperCase()} tiene 31 días`); + break; + case 'febrero': + console.log(`${month.toUpperCase()} tiene 28 días`); + break; + default: + console.log('Ingrese mes válido...') +} + +*/ + + +// 2. Escribe un programa que diga el número de días en un mes. Tomar en cuenta año bisiesto + +let month = prompt('Ingrese el mes: '); + +switch (month) { + case 'enero': + case 'marzo': + case 'mayo': + case 'julio': + case 'agosto': + case 'octubre': + case 'diciembre': + console.log(`${month.toUpperCase()} tiene 31 días`); + break; + case 'abril': + case 'junio': + case 'septiembre': + case 'noviembre': + console.log(`${month.toUpperCase()} tiene 31 días`); + break; + case 'febrero': + console.log(`${month.toUpperCase()} tiene 29 días`); + break; + default: + console.log('Ingrese mes válido...') +} \ No newline at end of file