diff --git a/index.html b/index.html index 976445f3..46bad5d0 100644 --- a/index.html +++ b/index.html @@ -69,6 +69,6 @@

Escribamos un poco de código el día de hoy!

- + diff --git a/js/nivel1.js b/js/nivel1.js index bb097c96..873587ab 100644 --- a/js/nivel1.js +++ b/js/nivel1.js @@ -21,6 +21,14 @@ */ +// let nombre = 'Sergio'; +// nombre = 'Sergio'; +// let edad = 28; + + +// alert('Hola Mundo!') +// alert('Hola! Mi nombre es ' + nombre + ' y tengo ' + edad + ' anios'); + /* Mostrando texto =============== @@ -40,6 +48,9 @@ // Tarea: Ahora te toca a vos! Acá abajo escribí una alerta que diga "Hola mundo!" +// alert('hola mundo'); +// console.log('hola, mundo'); + // Tarea: Una vez que la alerta funcione, comentala poniendo '//' en la línea donde está el código y guardá los cambios. // Una vez que recargás la página, ya no debería aparecer más. @@ -47,6 +58,7 @@ // Tarea: Ahora probá hacer un console.log de un mensaje que queramos. +console.log('Hola mundo!'); // Consejo: Para recargar el navegador podemos apretar 'CMD + R' en Mac y 'CTRL + R' en // Windows. @@ -55,7 +67,8 @@ // Consejo: El atajo del teclado para guardar cambios a un archivo es 'CMD + S' en Mac y 'CTRL + S' en // Windows. - +// let nombreDeVariable = 'hola'; +// console.log('nombre de variable es ' + nombreDeVariable); /* Variables ========= @@ -102,6 +115,8 @@ // TAREA: Creá 2 variables indefinidas, llamadas numeroUno y numeroDos. +let numeroUno; +let numeroDos; /* Podés usar el nombre de tus variables pare representar qué información tienen adentro, por ejemplo: @@ -126,6 +141,12 @@ * * */ +let nombre = "Sergio"; +let edad = "28"; + +// alert('Mi nombre es ' + nombre + ' y mi edad es ' + edad); + +alert(`mi nombre es ${nombre} y mi edad es ${edad}`); /* Constantes @@ -150,10 +171,20 @@ // TAREA: Crear una constante y mostrarla con un alert +const numeroProvinciasDeArgentina = 23; + +// alert(numeroProvinciasDeArgentina); + + + +// const IVA = 21; + +// alert(IVA); // TAREA: Intentar asignar un valor a una constante y ver qué pasa (mirar la consola) + // Consejo: No te olvides de comentar (//) los alerts y los errores intencionales (como en la tarea anterior) para // que los alerts no aparezcan cada vez, y para que los errores no hagan que el programa se detenga. @@ -183,6 +214,16 @@ // la 1ra variable multiplicada (con el operador *) por la 2nda variable. // Mostrar el valor de resultadoMultiplicacion con un alert o un console.log +const diez = 10; +const tres = 3; +const resultadoMultiplicacion = diez * tres; + +console.log(resultadoMultiplicacion); + +// const diez = 10; +// const tres = 3; +// const resultadoMultiplicacion = diez * tres; +// console.log('el resultado es ' + resultadoMultiplicacion); /* Funciones @@ -234,16 +275,52 @@ // TAREA: Es tu turno de crear una función! +// function sumar(numero1, numero2) { +// return numero1 + numero2; +// } + +// console.log('el resultado de la suma es ' + sumar(4,7)) + + +// function restar(numero1, numero2){ +// return numero1 - numero2; +// } + +// console.log(restar(10,5)); + + +// const anioActual = Number(prompt('por favor el anio actual')); +// const anioNacimient0 = Number(prompt('por favor su anio de nacimiento')); + +// const edadUsuario = restar(anioActual,anioNacimient0); + +// function saludar(nombre) { +// return 'Hola! ' + nombre + ' tenes ' + edadUsuario + ' anios'; +// } + +// console.log(saludar('Sergio')); + // Creá una función llamada 'sumar' // Escribí código para que acepte 2 argumentos (numero1 y numero2) // Escribí código para que devuelva (return) la suma de numero1 y numero2 // Ejecutá la función sumar y mostrá su resultado en la consola +function sumar(numero1, numero2) { + return numero1 + numero2; +} + +console.log(sumar(2, 5)); // TAREA: Ahora creemos otra función llamada 'restar' // Que acepte 2 números como parámetro y los reste, y que devuelva ese valor. // Ejecutá la función con los números 5 y 1 y mostralos con console.log +function restar(numero1, numero2) { + return numero1 - numero2; +} + +console.log(restar(5, 1)); +console.log(restar(diez, tres)); // Consejo: Sabías que en vez de pasar los números directamente a tu función podés crear variables con esos números // y pasarlos como parámetros? Probalo! @@ -327,6 +404,14 @@ // No se olviden de hacer un console.log para ver el resultado! // + + +// if (operador === '+') { +// console.log(sumar(diez, tres)); +// } else { +// console.log(restar(diez, tres)); +// } + // TAREA: Cambiar el operador a '-', y fijarse que llame a la función 'restar' en vez de a la de 'sumar'. @@ -361,6 +446,14 @@ // TAREA: Creemos 2 funciones más: dividir y multiplicar. +function dividir(numero1, numero2) { + return numero1 / numero2; +} + +function multiplicar(numero1, numero2) { + return numero1 * numero2; +} + @@ -370,8 +463,17 @@ // 'else if' el 'operador' es igual a '*' - llamar a la función 'multiplicar'. // else console.log - "Perdón, no conozco ese operador". +const operador = '*'; - +if (operador === '+') { + console.log(sumar(diez, tres)); +} else if (operador === '-') { + console.log(restar(diez, tres)); +} else if (operador === '*') { + console.log(multiplicar(diez, tres)); +} else if (operador === '/') { + console.log(dividir(diez, tres)); +} /* @@ -401,8 +503,38 @@ // TAREA: usando el operador !, Intentá invertir una variable (de true a false, o de false a true) e imprimí el // resultado en la consola. +const diezMenorQueVeinte = 10 < 20; + +console.log(!diezMenorQueVeinte); + + +// Va la tarea que se da en clase pero no esta en el texto: + +let anioActual = Number(prompt('ingrese el anio actual')); +let anioNacimiento = Number(prompt('ingrese el anio de su nacimiento')); + +console.log('usted tiene ' + restar(anioActual, anioNacimiento) + ' anios'); + +function calcularSalarios(mensual) { + + let salarioAnual = mensual * 12; + let salarioSemanal = mensual / 4; + let salarioDiario = salarioSemanal / 5; + let salarioPorHora = salarioDiario / 8; + + console.log(`su salario anual es de $${salarioAnual}, \n su salario mensual es de $${mensual}, \n su salario semanal es de $${salarioSemanal}, \n su salatio diario es de $${salarioDiario}, \n y su salario por hora es de $${salarioPorHora}`) + + return salarioAnual, salarioSemanal, salarioDiario, salarioPorHora; +} + +// let salarioMensual = Number(prompt('ingrese su salario mensual')); + +let salarioMensual = 30000; + +console.log(calcularSalarios(salarioMensual)); //////////////////////////////////////////////////////////////////////////// // Felicitaciones! Terminaste el Nivel 1 de la introducción a JavaScript! // // El siguiente nivel es el que está en nivel2.js // //////////////////////////////////////////////////////////////////////////// + diff --git a/js/nivel2.js b/js/nivel2.js index 209a5501..f4fb99a8 100644 --- a/js/nivel2.js +++ b/js/nivel2.js @@ -44,7 +44,9 @@ +const comidasFavoritas = ['hamburguesa', 'pizza', 'milanesas']; +console.log(comidasFavoritas); @@ -64,7 +66,7 @@ // TAREA: Verifique cuántos valores tiene en su array comidasFavoritas. // imprimi utilizando console.log el resultado. - +console.log(`la cantidad de posiciones que tiene comidasFavoritas es de ${comidasFavoritas.length}`); @@ -92,7 +94,7 @@ - +console.log(`el tercer elemento de mi array comidasFavoritas es ${comidasFavoritas[2]}`) /* @@ -116,7 +118,9 @@ // con cualquier otra cosa. +comidasFavoritas[0] = 'asado'; +console.log(comidasFavoritas); @@ -147,14 +151,14 @@ // TAREA: Extendamos tu lista de comidasFavoritas y agreguemos un valor más. - +comidasFavoritas.push('lasagna'); // TAREA: console.log todo el array para verificar. - +console.log(comidasFavoritas); @@ -182,7 +186,13 @@ // TAREA: Intenta crear un array como una constante y modifica los valores que contiene. +const municipiosDeMendoza = ['mendoza', 'godoy cruz', 'guaymallen']; + +console.log(municipiosDeMendoza); +municipiosDeMendoza[0] = 'lavalle'; + +console.log(municipiosDeMendoza); @@ -192,7 +202,12 @@ // asigna un nuevo array completamente nuevo a la constante +municipiosDeMendoza.push('malargue'); + +console.log(municipiosDeMendoza); +// municipiosDeMendoza = 'san rafael'; da error por ser const + @@ -247,7 +262,13 @@ // diez a uno. +let contadorWhile = 10; +while (contadorWhile > 0) { + console.log(`usando while ${contadorWhile}`); + contadorWhile--; + +} @@ -269,7 +290,9 @@ // TAREA: Imprimí cada 3er número del 3 al 22 usando un 'bucle for'. - +for (i = 3; i <= 22; i += 3) { + console.log(`contar de a 3 usando for ${i}`); +} @@ -297,7 +320,9 @@ // TAREA: Probalo con tu comidasFavoritas array. - +for (i = 0; i < comidasFavoritas.length; i++) { + console.log(`me encanta comer ${comidasFavoritas[i]}`); +} diff --git a/tareas/clase-3/tarea-clase-3.js b/tareas/clase-3/tarea-clase-3.js index cbc989b9..11a331c2 100644 --- a/tareas/clase-3/tarea-clase-3.js +++ b/tareas/clase-3/tarea-clase-3.js @@ -7,10 +7,34 @@ // Imprimir "Hola " y el nombre, " te llamás igual que mi ..." // Si no, simplemente imprimir "Hola " + nombre! +const miNombre = 'sergio'; +const nombreMiMascota = 'nina' +const nombreUsuario = prompt('ingrese su nombre', 'ingresa tu nombre para continuar...').toLowerCase(); + +if (nombreUsuario === miNombre) { + console.log(`Hola tocayo! yo tambien me llamo ${nombreUsuario}!`); +} else if (nombreUsuario === nombreMiMascota) { + console.log(`Hola ${nombreUsuario}! Mi mascota tambien se llama asi`); +} else { + console.log(`Hola ${nombreUsuario}!`) +} + + //Tarea 2: // Preguntar la edad del usuario // Hacerle saber si tiene más, menos ó la misma edad que nosotros. +const miEdad = 28; +const edadUsuario = Number(prompt('cuantos anios tenes?', 'ingresa tu edad')); + +if (edadUsuario < miEdad) { + console.log(`Veo que tenes ${edadUsuario}, sos mas chico que yo, porque tengo ${miEdad} anios`); +} else if (edadUsuario > miEdad) { + console.log(`Veo que tenes ${edadUsuario}, sos mas grande que yo, porque tengo ${miEdad}`); +} else { + console.log(`Veo que tenes ${edadUsuario}, tenemos la misma edad!`) +} + //Tarea 3: // Preguntarle al usuario si tiene documento, y que conteste con "si" o "no". // Si dice si, preguntarle la edad. @@ -19,3 +43,17 @@ // Si no tiene documento, no dejarlo entrar al bar. // Si no entendemos la respuesta, le decimos que no entendimos la respuesta. // Punto bonus: SI, NO, Si, No, si, no. + +const tieneDocumento = prompt('trajiste tu DNI?', 'contestar por si o por no').toLowerCase(); + + +if (tieneDocumento === 'si') { + if (edadUsuario >= 18) { + console.log('podes entrar al bar, pasa'); + } else { + console.log('lo lamento, pero no podes ingresar al bar, volve cuando seas mayor de edad'); + } + +} else { + console.log('sin documento no puedo dejar que ingreses al bar, volve luego'); +} diff --git a/tareas/clase-4/index.html b/tareas/clase-4/index.html index 57e8ba0a..ebfa4e07 100644 --- a/tareas/clase-4/index.html +++ b/tareas/clase-4/index.html @@ -7,6 +7,8 @@ - + + + diff --git a/tareas/clase-4/tarea-clase-4-algoritmos.js b/tareas/clase-4/tarea-clase-4-algoritmos.js index 185ec86b..c3df86b2 100644 --- a/tareas/clase-4/tarea-clase-4-algoritmos.js +++ b/tareas/clase-4/tarea-clase-4-algoritmos.js @@ -5,151 +5,338 @@ Estos desafíos de coding están enfocados para los principiantes, por lo tanto usando elementos de programación simples y clásicos. */ -/* -Desafío de programación #1: Imprimí los números del 1 al 10 - Resultado: 10 9 8 7 6 5 4 3 2 1 +// Desafío de programación #1: Imprimí los números del 1 al 10 + +// Resultado: 10 9 8 7 6 5 4 3 2 1 + +// for (i = 1; i <= 10; i++) { +// console.log(i); +// } + +// Desafìo de programación #2: Imprimí los números impares del 1 al 100 + +// 1 3 5 ... 99 + +// for (i = 1; i <= 100; i++) { +// if ((i % 2) === 1) { +// console.log(i); +// } +// } + +// Desafío de programación #3: Imprimí la tabla de multiplicación del 7 + +// 7x0 = 0 +// 7x1 = 7 +// ... +// 7x9 = 63 + +// for (i = 0; i <= 10; i++) { +// console.log(i * 7); +// } + +// Desafío de programación #4: Imprimí todas las tablas de multiplicación del 1 al 9 + +// 1x0 = 0 +// ... +// 1x9 = 9 +// 2x0 = 0 +// ... +// 2x9 = 18 +// ... +// ... +// 9x9 = 81 + +// for (i = 1; i <= 10; i++) { +// for (j = 1; j <= 10; j++) { +// console.log(i * j); +// } + +// } + +// Desafío de programación #5: Calcula el resultado de la suma de los numeros del 1 al 10 en un array. +// [1,2,3,4,5,6,7,8,9,10] + +// 1 + 2 + 3 + ... + 10 = ? //hacerlo con un array y un bucle + +// const array = [1,2,3,4,5,6,7,8,9,10]; +// let suma = 0; +// for (i = 0; i < array.length; i++) { +// suma+= array[i]; +// console.log(suma); +// } + +// Desafío de programación #6: Calcula 10! (10 factorial) + +// 10 * 9 * 8 * ... * 1 + +// let resultado = 10; +// for (i = 9; i > 0; i--) { +// resultado *= i; +// console.log(resultado); +// } + +// Desafío de programación #7: Calcula la suma de todos los números impares mayores que 10 y menores que 30 + +// let resultado = 0; + +// for (i = 10; i <= 30; i++) { +// if ((i % 2) === 1) { +// resultado += i; +// } +// } + +// console.log(resultado); + +// Desafío de programación #8: Crea una función que convierta de Celsius a Fahrenheit + +// const TEMPERATURA_EN_CELCIUS = 70; + +// function convertirCelciusAFahrenheit(celcius) { +// const fahrenheit = (celcius * 1.8) + 32; +// return fahrenheit; +// } + +// console.log(convertirCelciusAFahrenheit(TEMPERATURA_EN_CELCIUS)); + +// Desafío de programación #9: Crea una función que convierta de Fahrenheit a Celsius + +// const TEMPERATURA_EN_FAHRENHEIT = 70; + +// function convertirFahrenheitACelcius(fahrenheit) { +// const celcius = (fahrenheit - 32) / 1.8; +// return celcius; +// } + +// console.log(convertirFahrenheitACelcius(TEMPERATURA_EN_FAHRENHEIT)); + +// Desafío de programación #10: Calcula la suma de todos los números en un array de números + +// const array = [1,5,7,9,9,5,4,3]; +// let resultado = 0; + +// for (i = 0; i < array.length; i++) { +// resultado += array[i]; +// console.log(resultado); +// } + + +// Desafío de programación #11: Calcula el promedio de todos los números en un array de números. (en una función) - Desafìo de programación #2: Imprimí los números impares del 1 al 100 +// function calcularPromedioArray(array) { +// let acumulador = 0; +// for (i = 0; i < array.length; i++) { +// acumulador += array[i]; + +// } - 1 3 5 ... 99 +// return acumulador / array.length; +// } -Desafío de programación #3: Imprimí la tabla de multiplicación del 7 +// const arrayPrueba = [3,5,6]; - 7x0 = 0 - 7x1 = 7 - ... - 7x9 = 63 +// console.log(calcularPromedioArray(arrayPrueba)); -Desafío de programación #4: Imprimí todas las tablas de multiplicación del 1 al 9 +// Desafío de programación #12: Crea una función que reciba un array de números y devuelva un array conteniendo solo los números positivos - 1x0 = 0 - ... - 1x9 = 9 - 2x0 = 0 - ... - 2x9 = 18 - ... - ... - 9x9 = 81 +// const arrayPrueba = [5, -5, -20, 6, 100, -100]; -Desafío de programación #5: Calcula el resultado de la suma de los numeros del 1 al 10 en un array. - [1,2,3,4,5,6,7,8,9,10] +// function devolverNumeroPositivoEnArray(array) { +// let arrayNumerosPositivos = []; +// for (i = 0; i < array.length; i++) { +// if (array[i] >= 0) { +// arrayNumerosPositivos.push(array[i]); +// } +// } - 1 + 2 + 3 + ... + 10 = ? //hacerlo con un array y un bucle +// return arrayNumerosPositivos; +// } -Desafío de programación #6: Calcula 10! (10 factorial) +// console.log(devolverNumeroPositivoEnArray(arrayPrueba)); - 10 * 9 * 8 * ... * 1 +// Desafío de programación #13: Find the maximum number in an array of numbers -Desafío de programación #7: Calcula la suma de todos los números impares mayores que 10 y menores que 30 +// const arrayPrueba = [5, 100, 6, -1, 454, 2, 500]; -Desafío de programación #8: Crea una función que convierta de Celsius a Fahrenheit +// function devolverMaxNumEnArray(array) { +// let contenedor = 0; -Desafío de programación #9: Crea una función que convierta de Fahrenheit a Celsius +// for (i = 0; i < array.length; i++) { +// if (array[i] > contenedor) { +// contenedor = array[i]; +// } +// } -Desafío de programación #10: Calcula la suma de todos los números en un array de números +// return contenedor; +// } -Desafío de programación #11: Calcula el promedio de todos los números en un array de números. (en una función) +// console.log(devolverMaxNumEnArray(arrayPrueba)); -Desafío de programación #12: Crea una función que reciba un array de números y devuelva un array conteniendo solo los números positivos +// Desafío de programación #14: Imprimir los primeros 10 dígitos de Fibonacci sin recursión -Desafío de programación #13: Find the maximum number in an array of numbers +// let num1 = 1; +// let num2 = 1; +// let arrayFibonacci = [1, 1]; -Desafío de programación #14: Imprimir los primeros 10 dígitos de Fibonacci sin recursión +// for (i = 0; i <= 10; i++) { +// const nuevoNum = num1 + num2; +// arrayFibonacci.push(nuevoNum); +// num1 = num2; +// num2 = nuevoNum; +// } -Fibonacci (lo buscan en google si no lo saben o no se acuerdan) -El resultado debería ser: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 +// console.log(arrayFibonacci); -Desafío de programación #15: Crear una función que encuentre el número n de Fibonacci usando recursión +// Fibonacci (lo buscan en google si no lo saben o no se acuerdan) +// El resultado debería ser: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 -Desafío de programación #16: Crear una función que dado un número retorne un Boolean (true/false) dependiendo si es primo o no. +// Desafío de programación #15: Crear una función que encuentre el número n de Fibonacci usando recursión -Desafío de programación #17: Calcular la suma de los dígitos positivos de un número entero positivo -Ejemplo: - 123 = 1 + 2 + 3 = 6 - 2 = 2 - 1234 = 1 + 2 + 3 + 4 = 10 +// Desafío de programación #16: Crear una función que dado un número retorne un Boolean (true/false) dependiendo si es primo o no. -Desafío de programación #18: Imprimir los primeros 100 números primos +function esPrimo(num) { + if ((num % num) === 0 && (num % 1 === 0 )) { + console.log('es primo'); + return 'es primo'; + } else { + return 'no es primo'; + } +} -Desafío de programación #19: Crear una función que retorne un array con los primeros números "n-primos" mayores que un número particular definido "alComienzo" -Ejemplo: - Quiero los primeros 4 números primos mayores que 5, el resultado debería ser: [7,11,13,17,19] +// esPrimo(10); -Desafío de programación #20: Rotar un array hacia la izquierda una posición -Ejemplo: - [9,1,2,3,4] debería quedar como [1,2,3,4,9] - [5] debería quedar como [5] - [4,3,2,1] debería quedar como [3,2,1,4] +// Desafío de programación #17: Calcular la suma de los dígitos positivos de un número entero positivo +// Ejemplo: +// 123 = 1 + 2 + 3 = 6 +// 2 = 2 +// 1234 = 1 + 2 + 3 + 4 = 10 -Desafío de programación #21: Rotar un array a la derecha una posición -Ejemplo: - [2,3,4,1] debería quedar como [1,2,3,4] - [2,3] debería quedar como [3,2] +// Desafío de programación #18: Imprimir los primeros 100 números primos -Desafío de programación #22: Invertir un array -Ejemplo: - [1,2,3,4] debería quedar como [4,3,2,1] - [6,5,4,3,2,1] debería quedar como [1,2,3,4,5,6] - [5,6,3] debería quedar como [3,6,5] +// Desafío de programación #19: Crear una función que retorne un array con los primeros números "n-primos" mayores que un número particular definido "alComienzo" +// Ejemplo: +// Quiero los primeros 4 números primos mayores que 5, el resultado debería ser: [7,11,13,17,19] -Desafío de programación #23: Invertir una cadena de caracteres -Ejemplo: - "dabale arroz a la zorra el abad" debería quedar como "daba le arroz al a zorra elabad" - "bienvenido" debería quedar como "odinevneib" +// Desafío de programación #20: Rotar un array hacia la izquierda una posición +// Ejemplo: +// [9,1,2,3,4] debería quedar como [1,2,3,4,9] +// [5] debería quedar como [5] +// [4,3,2,1] debería quedar como [3,2,1,4] -Desafío de programación #24: Crear una función que reciba dos dos arrays (arreglos) como argumentos y returne el resultado en un nuevo arreglo -Ejemplo: - [1,2,3] con ["a","b","c"] debería quedar como [1,2,3,"a","b","c"] +// Desafío de programación #21: Rotar un array a la derecha una posición +// Ejemplo: +// [2,3,4,1] debería quedar como [1,2,3,4] +// [2,3] debería quedar como [3,2] +let array = [1,2,3,4,5]; -Desafío de programación #25: Crear una función que reciba dos arrays (arreglos) de números como argumentos y retorne un array con números que estén en uno u otro array, pero NO en ambos. -Nota: Esto se llama "diferencia simétrica" entre conjuntos +console.log(array); -Desafío de programación #25: Crear una función que reciba dos arrays (arreglos) de números como argumentos y retorne un array con números que estén en uno u otro array, pero NO en ambos. -Ejemplo: - [1,2,3] y [3,7,11] debería devolver [1,2,7,11] - [5,10,3] y [10,1] debería quedar como [5,3,1] +for (i = 0; i < array.length; i++) { + // let indice = 0; + + let indice = array[0]; + console.log(indice); + + array.push(indice); + array.shift(); + + console.log(array); +} + +console.log(array); + +// Desafío de programación #22: Invertir un array +// Ejemplo: +// [1,2,3,4] debería quedar como [4,3,2,1] +// [6,5,4,3,2,1] debería quedar como [1,2,3,4,5,6] +// [5,6,3] debería quedar como [3,6,5] + +// Desafío de programación #23: Invertir una cadena de caracteres +// Ejemplo: +// "dabale arroz a la zorra el abad" debería quedar como "daba le arroz al a zorra elabad" +// "bienvenido" debería quedar como "odinevneib" + +// Desafío de programación #24: Crear una función que reciba dos dos arrays (arreglos) como argumentos y returne el resultado en un nuevo arreglo +// Ejemplo: +// [1,2,3] con ["a","b","c"] debería quedar como [1,2,3,"a","b","c"] + + +// ARREGLAR + +const arrayNumeros = [1,2,3]; +const arrayLetras = ['a', 'b', 'c', 'd']; +const nuevoArray = [] +let index = 0; + +if (arrayNumeros.length > arrayLetras.length) { + index = arrayNumeros.length; +} else { + index = arrayLetras.length; +} + + +for (i = 0; i < index; i++) { + + if (arrayNumeros.length > i) { + nuevoArray.push(arrayNumeros[i]) + } + + if (arrayLetras.length > i) { + nuevoArray.push(arrayLetras[i]); + } + +} + +console.log(nuevoArray); + + +// Desafío de programación #25: Crear una función que reciba dos arrays (arreglos) de números como argumentos y retorne un array con números que estén en uno u otro array, pero NO en ambos. +// Nota: Esto se llama "diferencia simétrica" entre conjuntos + +// Desafío de programación #25: Crear una función que reciba dos arrays (arreglos) de números como argumentos y retorne un array con números que estén en uno u otro array, pero NO en ambos. +// Ejemplo: +// [1,2,3] y [3,7,11] debería devolver [1,2,7,11] +// [5,10,3] y [10,1] debería quedar como [5,3,1] + +// Desafío de programación #26: Crear una función que reciba dos arrays de números y retorne un nuevo array con los elementos que se encuentren en el primer array, pero no en el segundo +// Nota; Esto se llama "resta" entre conjuntos +// Ejemplo: +// [5,1,2,3,4] y [3,4] debería devolver [5,1,2] + +// Desafío de programación #27: Crear una función que reciba un array de números como argumento y retorne un array con los elementos distintos +// Ejemplo: +// [1,2,3,4,5,4,3,2,1,0] debería retornar [1,2,3,4,5,0] + + +// ==== FALTAN TRADUCIR +// Desafío de programación #28: Calculate the sum of first 100 prime numbers +// Desafío de programación #29: Print the distance between the first 100 prime numbers +// Desafío de programación #30-a: Create a function that will add two positive numbers of indefinite size. The numbers are received as strings and the result should be also provided as string. +// Desafío de programación #30-b: Create a function that will add two positive numbers of indefinite size. The numbers are received as strings and the result should be also provided as string. +// Desafío de programación #31-a. Create a function that will return the number of words in a text +// Desafío de programación #31-b. Create a function that will return the number of words in a text +// Desafío de programación #32. Create a function that will capitalize the first letter of each word in a text +// Desafío de programación #33. Calculate the sum of numbers received in a comma delimited string +// Desafío de programación #34. Create a function that will return an array with words inside a text +// Desafío de programación #35. Create a function to convert a CSV text to a “bi-dimensional” array +// Desafío de programación #36. Create a function that converts a string to an array of characters +// Desafío de programación #37. Create a function that will convert a string in an array containing the ASCII codes of each character +// Desafío de programación #38. Create a function that will convert an array containing ASCII codes in a string +// Desafío de programación #39. Implement the Caesar cypher +// Desafío de programación #40. Implement the bubble sort algorithm for an array of numbers +// Desafío de programación #41. Create a function to calculate the distance between two points defined by their x, y coordinates +// Desafío de programación #42. Create a function that will return a Boolean value indicating if two circles defined by center coordinates and radius are intersecting +// Desafío de programación 43. Create a function that will receive a bi-dimensional array as argument and a number and will extract as a unidimensional array the column specified by the number +// Desafío de programación #44. Create a function that will convert a string containing a binary number into a number +// Desafío de programación #45. Create a function to calculate the sum of all the numbers in a jagged array (array contains numbers or other arrays of numbers on an unlimited number of levels) +// Desafío de programación #46-a. Find the maximum number in a jagged array of numbers or array of numbers +// Desafío de programación #46-b. Find the maximum number in a jagged array of numbers or array of numbers +// Desafío de programación #47. Deep copy a jagged array with numbers or other arrays in a new array +// Desafío de programación #48. Create a function to return the longest word(s) in a string +// Desafío de programación #49. Shuffle an array of strings +// Desafío de programación #50. Create a function that will receive n as argument and return an array of n unique random numbers from 1 to n. +// Desafío de programación #51. Find the frequency of characters inside a string. Return the result as an array of objects. Each object has 2 fields: character and number of occurrences. +// Desafío de programación #52. Calculate Fibonacci(500) with high precision (all decimals) +// Desafío de programación #53. Calculate 70! with high precision (all decimals) -Desafío de programación #26: Crear una función que reciba dos arrays de números y retorne un nuevo array con los elementos que se encuentren en el primer array, pero no en el segundo -Nota; Esto se llama "resta" entre conjuntos -Ejemplo: - [5,1,2,3,4] y [3,4] debería devolver [5,1,2] - -Desafío de programación #27: Crear una función que reciba un array de números como argumento y retorne un array con los elementos distintos -Ejemplo: - [1,2,3,4,5,4,3,2,1,0] debería retornar [1,2,3,4,5,0] - - -==== FALTAN TRADUCIR -Desafío de programación #28: Calculate the sum of first 100 prime numbers -Desafío de programación #29: Print the distance between the first 100 prime numbers -Desafío de programación #30-a: Create a function that will add two positive numbers of indefinite size. The numbers are received as strings and the result should be also provided as string. -Desafío de programación #30-b: Create a function that will add two positive numbers of indefinite size. The numbers are received as strings and the result should be also provided as string. -Desafío de programación #31-a. Create a function that will return the number of words in a text -Desafío de programación #31-b. Create a function that will return the number of words in a text -Desafío de programación #32. Create a function that will capitalize the first letter of each word in a text -Desafío de programación #33. Calculate the sum of numbers received in a comma delimited string -Desafío de programación #34. Create a function that will return an array with words inside a text -Desafío de programación #35. Create a function to convert a CSV text to a “bi-dimensional” array -Desafío de programación #36. Create a function that converts a string to an array of characters -Desafío de programación #37. Create a function that will convert a string in an array containing the ASCII codes of each character -Desafío de programación #38. Create a function that will convert an array containing ASCII codes in a string -Desafío de programación #39. Implement the Caesar cypher -Desafío de programación #40. Implement the bubble sort algorithm for an array of numbers -Desafío de programación #41. Create a function to calculate the distance between two points defined by their x, y coordinates -Desafío de programación #42. Create a function that will return a Boolean value indicating if two circles defined by center coordinates and radius are intersecting -Desafío de programación 43. Create a function that will receive a bi-dimensional array as argument and a number and will extract as a unidimensional array the column specified by the number -Desafío de programación #44. Create a function that will convert a string containing a binary number into a number -Desafío de programación #45. Create a function to calculate the sum of all the numbers in a jagged array (array contains numbers or other arrays of numbers on an unlimited number of levels) -Desafío de programación #46-a. Find the maximum number in a jagged array of numbers or array of numbers -Desafío de programación #46-b. Find the maximum number in a jagged array of numbers or array of numbers -Desafío de programación #47. Deep copy a jagged array with numbers or other arrays in a new array -Desafío de programación #48. Create a function to return the longest word(s) in a string -Desafío de programación #49. Shuffle an array of strings -Desafío de programación #50. Create a function that will receive n as argument and return an array of n unique random numbers from 1 to n. -Desafío de programación #51. Find the frequency of characters inside a string. Return the result as an array of objects. Each object has 2 fields: character and number of occurrences. -Desafío de programación #52. Calculate Fibonacci(500) with high precision (all decimals) -Desafío de programación #53. Calculate 70! with high precision (all decimals) - */ diff --git a/tareas/clase-4/tarea-clase-4.js b/tareas/clase-4/tarea-clase-4.js index 0cec85a7..daec66a0 100644 --- a/tareas/clase-4/tarea-clase-4.js +++ b/tareas/clase-4/tarea-clase-4.js @@ -1,9 +1,18 @@ // TAREA: Imprimí cada 3er número del 3 al 22 usando un 'bucle for'. +// for (i = 3; i <= 22; i+= 3) { +// console.log(i); +// } // TAREA: Usando un bucle 'while', decile a tu computadora que registre los números de // diez a uno. +// let contador = 10; + +// while (contador > 0) { +// console.log(contador); +// contador--; +// } // TAREA: Ha llegado el momento de un ejercicio clásico: 'FizzBuzz'. // Cuenta del 1 al 50 e imprime los números: @@ -17,5 +26,31 @@ // 16% 4 = 0 - en 16 tenemos 4 * 4 // 19% 4 = 3 - en 19 tenemos 4 * 4 + 3, etc. +// for (i = 1; i <= 50; i++) { + +// if (((i % 3) === 0) && (i % 5) === 0) { +// console.log('FizzBuzz'); +// } else if ((i % 5) === 0) { +// console.log('Buzz'); +// } else if ((i % 3) === 0) { + +// console.log('Fizz'); + +// } else { +// console.log(i); +// } +// } + // Calcular el promedio de todos los números en un array de números. (y ponerlo en una función) -// ej.: calcularPromedio([10,5,4,2,8]) \ No newline at end of file +// ej.: calcularPromedio([10,5,4,2,8]) + +// function calcularPromedio(array) { +// let suma = 0; +// for (i = 0; i < array.length; i++) { +// suma += array[i]; +// } + +// return suma / array.length; +// } + +// console.log(calcularPromedio([8, 5, 10])); \ No newline at end of file diff --git a/tareas/clase-6/index.html b/tareas/clase-6/index.html index e69de29b..b30cff6a 100644 --- a/tareas/clase-6/index.html +++ b/tareas/clase-6/index.html @@ -0,0 +1,41 @@ + + + + + + Page Title + + + + + + +

Tu familia!

+ +

Ingresa los datos de tu familia

+ + +
+ + + + +
+ +
+ +
+ +
+ +
+
+ + + + + + \ No newline at end of file diff --git a/tareas/clase-6/tarea-clase-6.js b/tareas/clase-6/tarea-clase-6.js index dc058824..46108e43 100644 --- a/tareas/clase-6/tarea-clase-6.js +++ b/tareas/clase-6/tarea-clase-6.js @@ -6,7 +6,111 @@ Al hacer click en "calcular", mostrar en un elemento pre-existente la mayor edad Punto bonus: Crear un botón para "empezar de nuevo" que empiece el proceso nuevamente, borrando los inputs ya creados (investigar cómo en MDN). */ +console.log('hola'); +const $botonInicial = document.querySelector('#boton-inicial'); +const $divFamilia = document.querySelector('div.familia'); +const $divCalculos = document.querySelector('#calculos'); + +$botonInicial.onclick = function () { + + reseteaCampos(); + const cantidadFamilia = Number(document.querySelector('#cantidad-familia').value); + crearLabelInput(cantidadFamilia); + + $divFamilia.appendChild(document.createElement('br')); // da espacio visual + + muestraDivCalculos(); + + document.querySelector('#boton-calculos').onclick = function () { + creaArrayEdades(); + + mostrarBotonSalario(); + + + } + return false; +} + + + +/////////////////////////////////////////////// funciones + + + +function creaArrayEdades() { + const $nodeEdades = document.querySelectorAll('.edades'); + const arrayEdades = []; + for (let i = 0; i < $nodeEdades.length; i++) { + arrayEdades.push(Number($nodeEdades[i].value)) + } + + muestraEdades(arrayEdades); +} + +function muestraEdades(arr) { + const $textoResultado = document.createTextNode(`La edad mas chica es ${numeroMinimo(arr)}, la edad mas grande es ${numeroMaximo(arr)} y la edad promedio es ${calcularPromedio(arr)}`) + + document.querySelector('div.resultado').appendChild($textoResultado); + +} + +function muestraDivCalculos() { + $divCalculos.style.display = ''; +} + +function reseteaCampos() { + $divFamilia.innerHTML = ''; +} + +function crearLabelInput(cantidadFamilia) { + + for (let i = 0; i < cantidadFamilia; i++) { + const $nuevoLabel = document.createElement('label'); + $nuevoLabel.innerHTML = `Edad integrante ${i + 1}`; + + const $nuevoInput = document.createElement('input'); + $nuevoInput.classList.add('edades'); + + $divFamilia.appendChild(document.createElement('br')); + + $divFamilia.appendChild($nuevoLabel); + $divFamilia.appendChild(document.createElement('br')); + $divFamilia.appendChild($nuevoInput); + $divFamilia.appendChild(document.createElement('br')); + + } + + +} + +function calcularPromedio(array) { + let contador = 0; + for (let i = 0; i < array.length; i++) { + contador += array[i]; + } + return contador / array.length; +} + +function numeroMaximo(array) { + let numMayor = array[0]; + for (let i = 0; i < array.length; i++) { + if (array[i] > numMayor) { + numMayor = array[i]; + } + } + return numMayor; +} + +function numeroMinimo(array) { + let numMenor = array[0]; + for (let i = 0; i < array.length; i++) { + if (array[i] < numMenor) { + numMenor = array[i]; + } + } + return numMenor; +} /* TAREA: Crear una interfaz que permita agregar ó quitar (botones agregar y quitar) inputs+labels para completar el salario anual de cada integrante de la familia que trabaje. @@ -14,3 +118,19 @@ Al hacer click en "calcular", mostrar en un elemento pre-existente el mayor sala Punto bonus: si hay inputs vacíos, ignorarlos en el cálculo (no contarlos como 0). */ + + +function mostrarBotonSalario() { + document.querySelector('#trabajar-salarios').style.display = ''; +} +function agregarInputSalario(nodeListFamilia) { + for (let i = 0; i < nodeListFamilia.length; i++) { + + const $nuevoLabelSalario = document.createElement('label'); + const $nuevoInputSalario = document.createElement('input'); + + nodeListFamilia[i].appendChild($nuevoLabelSalario); + nodeListFamilia[i].appendChild($nuevoInputSalario); + + } +} \ No newline at end of file