Saltar al contenido principal
Codigo Heroe
Tarea anterior
Arreglos11/26
A la lista de tareas
  1. 1. Visualizar datos en una gráfica
  2. 2. Calcular el promedio
  3. 3. Comparar el promedio con el valor esperado
  4. 4. Agregar nuevos datos
  5. 5. Crear un arreglo
  6. 6. Leer elementos de un arreglo
  7. 7. Usar una variable como índice
  8. 8. La longitud de un arreglo
  9. 9. Recorrer un arreglo con for
  10. 10. Sumar los elementos de un arreglo
  11. 11. Calcular el promedio de un arreglo
  12. 12. Filtrar valores con una condición
  13. 13. Escribir valores en un arreglo
  14. 14. Ajustar el umbral del filtro
  15. 15. Actualizar los datos del arreglo
  16. 16. Intercambiar elementos
  17. 17. Recorrer una parte del arreglo
  18. 18. Encontrar el valor mínimo
  19. 19. Colocar el mínimo en su posición
  20. 20. Repetir el ordenamiento
  21. 21. Ordenar con ciclos anidados
  22. 22. Probar el ordenamiento
  23. 23. Calcular la mediana: cantidad impar
  24. 24. Calcular la mediana: cantidad par
  25. 25. Combinar ordenamiento y mediana
  26. 26. Comparar la mediana con el promedio
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Calcular el promedio de un arreglo

En el primer paso de la refactorización eliminamos las variables individuales y desactivamos a propósito el cálculo del promedio: asignamos cero a averageUsers. Es hora de recuperar ese cálculo, ahora con un arreglo.

Recuerda: el promedio es la suma de todos los valores dividida entre la cantidad de valores. Ya calculamos la suma con un ciclo y podemos obtener la cantidad de elementos con [].length.

¡Terminamos la refactorización! Y aquí viene lo mejor: el programa es mucho más flexible. Ahora puedes analizar fácilmente los datos de una semana, un mes o incluso un año. Solo tienes que cambiar los valores del arreglo usersByDay.

Por fin podemos completar el encargo de Cupcake: analizar las visitas del último mes. Copia estos datos dentro del arreglo:

817, 1370, 752, 1247, 681, 1120, 915, 1281, 875, 1341, 757, 610, 812, 1170, 769, 1261, 845, 1289, 515, 1247, 845, 1311, 741, 1239, 812, 638, 877, 1242, 1159, 1372

El programa ya funciona con arreglos de cualquier longitud, pero hay un detalle. Si lo ejecutas con un arreglo vacío, el promedio será NaN, abreviatura de not a number, es decir, «no es un número». Tiene sentido: tanto la suma como la cantidad de elementos son cero, y 0 / 0 da NaN. No podemos calcular el promedio de valores que no existen, así que este resultado es coherente con nuestro algoritmo.

  • script.js
JavaScript
let expectedUsers = 1000; let usersByDay = [812, 1360, 657, 1247]; // Dibujamos la gráfica de visitas keks.plot(usersByDay, expectedUsers); // Sumamos las visitas let totalUsers = 0; for (let i = 0; i <= usersByDay.length - 1; i++) { totalUsers += usersByDay[i]; } console.log(totalUsers); // Calculamos el promedio de visitas let averageUsers = 0; console.log('Promedio de visitas: ' + averageUsers); if (averageUsers > expectedUsers) { console.log('Las visitas van de maravilla. ¡Sigue así!'); } else { console.log('Las visitas van más o menos. ¡Hay que esforzarse más!'); }
Consola

El código ha cambiado, haga clic en "Ejecutar" o active la ejecución automática.

Resultado de la ejecución

ObjetivosRealizado
0

    Terminemos de refactorizar el programa.

    1. Elimina la instrucción que muestra totalUsers en la consola.
    2. Asigna totalUsers / usersByDay.length a averageUsers en lugar de cero.
    3. Reemplaza los datos de usersByDay por los que envió Cupcake. Cópialos de la teoría y pégalos entre los corchetes.
    Codigo Heroe

    © 2023-2026, codigoheroe.com