Calcular el Promedio del Estudiante
Parte de la sección Lógica y Flujo del Journey de PHP de Coddy. Lección 36 de 68.
Desafío
FácilRecibirás dos entradas: un objeto JSON que representa el libro de calificaciones existente y el nombre de un estudiante. El libro de calificaciones usa los nombres de los estudiantes como claves, y cada estudiante tiene un "id" y un arreglo "grades" que contiene sus puntuaciones en las pruebas.
Lee ambas entradas, convierte la cadena JSON en un arreglo del libro de calificaciones, localiza al estudiante especificado, calcula su calificación promedio e imprime el resultado redondeado a 2 decimales.
Para calcular el promedio: suma todas las calificaciones del arreglo de calificaciones del estudiante y divide el resultado por la cantidad de calificaciones.
Formato de entrada:
- Primera línea: Un objeto JSON que representa el libro de calificaciones existente (ejemplo:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - Segunda línea: El nombre del estudiante (ejemplo:
Alice)
Salida esperada: El promedio del estudiante redondeado con round($average, 2) e impreso tal cual, por lo que se eliminan los ceros finales (ejemplos: 85, 88.4, 76.25)
Pruébalo tú mismo
<?php
// Lee la cadena JSON del registro de calificaciones
$gradebookJson = fgets(STDIN);
// Lee el nombre del estudiante
$studentName = trim(fgets(STDIN));
// Convierte JSON en un arreglo
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: Escribe tu código a continuación
// Busca al estudiante, calcula su calificación promedio y redondéala a 2 decimales
// Muestra el resultado
echo $average;
?>Todas las lecciones de Lógica y Flujo
1Funciones avanzadas
Funciones anónimasClosures y 'use'Funciones de flechaFunciones callbackUso de 'call_user_func'Funciones variablesPaso por referenciaFunciones recursivasResumen: Miscelánea de funciones4Arreglos multidimensionales
Crear un arreglo 2DAcceder a elementos de un arreglo 2DModificar elementos de un arreglo 2DIterar con bucles anidadosArreglos asociativos 2DResumen: Ejercicio de cuadrícula simple2Manipulación avanzada de arrays
Agregar con 'array_push'Eliminar con 'array_pop'Agregar con 'array_unshift'Eliminar con 'array_shift'Fusionar arrays indexadosFusionar arrays asociativosExtraer con 'array_slice'Valores con 'in_array'Claves con 'array_search'Resumen: Ejercicio de Playlist5Registro de Calificaciones
Configuración del Proyecto: Estructura de DatosAgregar un Nuevo EstudianteAgregar una Calificación a un EstudianteCalcular el Promedio del EstudianteEncontrar al Mejor EstudianteGenerar un Reporte de Calificaciones3Ordenar Arrays
Ordenar arrays indexados de forma ascendenteOrdenar arrays indexados de forma descendenteOrdenar arrays asociativos por valorOrdenar arrays asociativos por claveOrdenación por orden naturalOrdenación personalizada con 'usort'Resumen: Ordenar tablas de clasificaciónPractica por tu cuenta: Compilador de PHP online