variables predefinidas PHP

Ejercicio Básico 21 PHP: Array de temperaturas

En este ejercicio vamos a escoger un mes de 30 o 31 días para tener un rango amplio de temperaturas que manejar.
Crearemos un array de 30 temperaturas (por ejemplo), y buscaremos la media de todas estas temperaturas, las cinco temperaturas más altas y las cinco temperaturas más bajas. Para terminar imprimiendo el resultado en el navegador.

Nota: El valor ASCII para el símbolo del grado es °

Array de temperaturas en PHP

<?php
//creamos el array temperatura, con 30 valores posibles
  $temperatura = array(23, 25,27, 23, 27,26, 26, 28,27, 22, 26, 21,
                       23,24,21,48,18,19,26,28,27,27,26,18,23,26,24,27,29,30);
  //ordenamos el array temperatura
  sort($temperatura);
  //contamos cuantos valores tiene el array $temperatura
  $n = count($temperatura);
  //iniciamos en 0 la media, aun que esto no es necesario en php
  $media = 0;
  //recorremos el array para imprimir las temperaturas y sumarlas para realizar la media
  $x=1;
  for($i = 0; $i < $n; $i++){



    //sumamos cada una de las temperaturas dentro de la variable $media
    $media += $temperatura[$i];
    echo ($i+1)." día = ".$temperatura[$i]."&deg;&nbsp;&nbsp;&nbsp;&nbsp; ";

   //cada vez que x alcance el valor de 5 realizamos un salto de línea y así solo imprimir 5 valores de $temperatura en cada línea
    if(5==$x)
    {
        echo"<br>";
        $x = 0;
    }
   
    $x++;
 }
 
  //dividimos el total de la media por el número de temperaturas que hay en el array
  $media = $media/$n;

  echo "<br>Las cinco temperaturas mínimas = $temperatura[0]&deg;, $temperatura[1]&deg, $temperatura[2]&deg, $temperatura[3]&deg, $temperatura[4]&deg<br />";

   //a la temperatura media le damos formato para que solo muestre dos decimales
  echo "Temperatura media  = ".number_format($media,2)."&deg;<br />";  
 
  //ordenamos al revés el array $temperatura
  rsort($temperatura);
  echo "Las cinco temperaturas máxima = $temperatura[0]&deg;, $temperatura[1]&deg, $temperatura[2]&deg, $temperatura[3]&deg, $temperatura[4]&deg<br />";
?>

Esta no es la mejor manera de realizar este ejercicio, ya que lo ideal sería generar las temperaturas aleatoriamente, pero para conseguir eso solo habría que rellenar el array $temperaturas con un bucle for y la función rand o alguna otra más actual, que seguro que si se busca se encuentra.

Evidentemente para que el programa fuese más efectivo se le podrían hacer muchas más modificaciones, pero para entender un poco más como trabajar con arrays, a mi me ha valido. Próximamente más y posiblemente algo más complicado.

Deja un comentario