En este post vamos a resolver otro ejercicio propuesto en PHP. Se trata de solicitar las notas de un estudiante, ordenarlas y después calcular el promedio e imprimirlo.
Vamos a usar el ciclo for, foreach, manejar arreglos, ordenamiento de arreglos y cálculo del promedio.
El ejercicio dice así: capture 5 notas de un estudiante universitario y almacénelos en un array unidimensional que que se llame notas.
Luego presente las notas de manera ascendente utilizando ciclos de repetición. Finalmente debe presentar en pantalla el promedio de las notas del estudiante.
Por lo tanto vamos a solicitar los datos y luego implementar el método de ordenación. Como no se indica cuál, he optado por el método de la burbuja porque el algoritmo es fácil de entender para el programador principiante.
El código completo queda así:
<?php
# https://parzibyte.me/blog
$notas = [];
$cantidadNotas = 5;
for ($i = 0; $i < $cantidadNotas; $i++) {
echo "Ingrese la nota #" . ($i + 1) . ": ";
fscanf(STDIN, "%f", $nota);
// Agregar al arreglo
$notas[] = $nota;
}
// Ordenamos el arreglo
for ($i = 0; $i < $cantidadNotas; $i++) {
for ($j = 0; $j < $cantidadNotas - 1; $j++) {
if ($notas[$j] > $notas[$j + 1]) {
$temporal = $notas[$j];
$notas[$j] = $notas[$j + 1];
$notas[$j + 1] = $temporal;
}
}
}
// Lo imprimimos y a la vez vamos calculando el promedio
$sumatoria = 0;
echo "Notas de manera ascendente: \n";
foreach ($notas as $nota) {
$sumatoria += $nota;
echo $nota . "\n";
}
$promedio = $sumatoria / $cantidadNotas;
echo "Promedio: " . $promedio;
Al ejecutarlo desde la terminal, los resultados son correctos:
Recuerda que tú puedes ejecutarlo usando un servidor web a través de un formulario o como tú lo prefieras. Yo solo te muestro este ejercicio resuelto con PHP.
Si quieres puedes probarlo en línea. Si este lenguaje te gusta, te invito a leer más sobre PHP en mi blog.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.