1.- Dado un arreglo de usuarios, determine:
- Arreglo con emails de los usuarios que contengan la palabra “gmail”
- Arreglo con nombres de los usuarios que hayan nacido un día impar. (Formato fecha “DD/MM/YYYY”).
2.- Dado un arreglo de alumnos, donde cada alumno tiene un nombre y un arreglo de notas, determine lo siguiente:
- Crear un método que muestre a cada alumno con su respectivo promedio.
- Muestre los nombres de los alumnos que tengan promedio sobre 4.
- Muestre los nombres de los alumnos que tengan promedio sobre 5.
- Muestre los nombres de los alumnos que tengan promedio sobre 6.
3.- Definir la función palíndromo tal que (palíndromo xs) se verifica si xs es un palíndromo; es decir, es lo mismo leer xs de izquierda a derecha que de derecha a izquierda.
Por ejemplo,
palíndromo [3,2,5,2,3] == True palindromo [3,2,5,6,2,3] == False
4.- Invierta el string “Laboratoria Rocks”
Debe presentar su solución en la forma clásica y su solución utilizando programación funcional.
5.- Tenemos un número de conejos y cada uno, tiene 2 orejas. Queremos calcular el numero total de orejas dado el número de conejos (no se puede usar multiplicación).
bunnyEars(0) → 0 bunnyEars(1) → 2 bunnyEars(2) → 4
1.- Programar un algoritmo recursivo que calcule el factorial de un número.
2.- Programar un algoritmo recursivo que calcule un número de la serie fibonacci.
3.- Programar un algoritmo recursivo que permita hacer la división por restas sucesivas.
4.- Programar un algoritmo recursivo que permita invertir un número. Ejemplo: Entrada:123 Salida:321
5.- Programar un algoritmo recursivo que permita sumar los dígitos de un número.Ejemplo: Entrada:123 -> Resultado:6
6.- Programar un algoritmo recursivo que permita hacer una multiplicación, utilizando el método Ruso. Para mas información: aquí.
7.- Programar un algoritmo recursivo que permita sumar los elementos de un arreglo.
Dado el siguiente codigo:
function asyncSqrt(value, callback) {
console.log('START execution with value =', value);
setTimeout(function() {
callback(value, value * value);
}, 0 | Math.random() * 100);
}
let max = 10;
let cnt = 0;
for (let l = 0; l < max; l++) {
asyncSqrt(l, function(value, result) {
console.log('END execution with value =', value, 'and result =', result);
if (++cnt === max) {
console.log('COMPLETED');
}
});
}
Transforme este código de tal forma el for loop devuelva los resultados de forma sincrona.