Saltar al contenido principal
Codigo Heroe
Tarea anterior
Arreglos26/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
Lista de tareas
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Comparar la mediana con el promedio

Muy bien: ya se nota que algo no cuadra. El promedio es de 1032 visitas al día, pero la mediana es de 896. Eso está por debajo de las mil visitas esperadas.

Hay un problema: Cupcake es un gato de la vieja escuela y le encantan los porcentajes. Para convencerlo de que han manipulado los datos, debemos demostrar que la mediana es más de un 10 % menor que el promedio.

En nuestro caso, resulta sospechoso que la mediana esté bastante por debajo del promedio. Veamos cómo calcularlo.

Dividimos la mediana entre el promedio. Por ejemplo, si la mediana es 80 y el promedio es 100:

// La mediana equivale al 80 % del promedio
80 / 100 = 0.8

Reformulemos la tarea de Cupcake: si la mediana es menor que 0.9 veces el promedio, sospecharemos que hay manipulación.

Solo falta agregar la condición y mostrar las recomendaciones en la consola.

  • script.js
JavaScript
let expectedUsers = 1000; let usersByDay = [817, 581, 1370, 752, 1247, 681, 1120, 915, 875, 1341, 757, 610, 812, 741, 1139, 812, 638, 877, 1242, 1159, 1372, 1170, 845, 1289, 515, 1247, 769, 1261, 2805, 1201]; // 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]; } // Calculamos el promedio de visitas let averageUsers = totalUsers / usersByDay.length; 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!'); } // Ordenamos el arreglo for (let i = 0; i <= usersByDay.length - 2; i++) { let minValue = usersByDay[i]; for (let j = i + 1; j <= usersByDay.length - 1; j++) { if (usersByDay[j] < minValue) { minValue = usersByDay[j]; let swap = usersByDay[i]; usersByDay[i] = minValue; usersByDay[j] = swap; } } } // Calculamos la mediana let median; if (usersByDay.length % 2 !== 0) { let medianIndex = (usersByDay.length - 1) / 2; median = usersByDay[medianIndex]; } else { let leftIndex = usersByDay.length / 2 - 1; let rightIndex = usersByDay.length / 2; median = (usersByDay[leftIndex] + usersByDay[rightIndex]) / 2; } console.log('Mediana de visitas: ' + median);
Consola

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

Resultado de la ejecución

ObjetivosRealizado
0
    1. Al final del programa, agrega una condición que compruebe si median / averageUsers < 0.9.
    2. Si se cumple la condición, muestra en la consola el mensaje '¡Hay sospechas de manipulación!'.
    3. En caso contrario, muestra en la consola el mensaje '¡No hay sospechas de manipulación!'.
    Codigo Heroe

    © 2023-2026, codigoheroe.com