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