Programmation et Bases de données

fonctions PHP et tableaux

<?php
//fonctions utiles pour les tableaux en PHP
//cours LPA3 P. TRAU 

function dire_bonjour() //aucun argument
   {
    echo "<P>bonjour</P>";
   }
function dire_trois_fois_bonjour()
   {
    for($i=0;$i<3;$i++)
     {
      echo "<P>bonjour</P>";
     }
   }
function dire_n_fois_bonjour($nb) //$nb est le nom local de l'argument
   {
    for($i=0;$i<$nb;$i++)
     {
      echo "<P>bonjour</P>";
     }
   }

function afficher_tableau($tab,$nb) //2 arguments
 {
   echo "<TABLE border=1> <CAPTION><TH>indice</TH>";
   echo "<TH>note</TH></CAPTION>\n";
   for($i=0;$i<$nb;$i++)
    {
      echo "<TR><TD align="center">$i</TD><TD align="center">$tab[$i]</TD></TR>\n";
    }
   echo "</TABLE>";
 }
function moyenne($tab,$nb) //2 arguments et retourne la moyenne
 {
   $som=$tab[0];
   for($i=1;$i<$nb;$i++)
    {
     $som=$som+$tab[$i];
    }
   $m=$som/$nb;
   return $m;
 }

function cree_tableau($nb) //remplit le tableau de valeurs aleatoires
 {
   for($i=0;$i<$nb;$i++)
    {
      $n[$i]=mt_rand(1,2000)/100;
    }
 return $n;
 }

//cherche le plus petit, mais uniquement a partir de l'indice apd
function plus_petit($tab,$nb,$apd=0) 
   {
    $pp=$apd;
    for($i=$apd+1;$i<$nb;$i++)
      {
        if($tab[$i]<$tab[$pp])$pp=$i;
      }
    return $pp; //on rend l'indice du plus petit
   }

//echange deux valeurs du tableau (on connait leur indice)
function echange(&$tab,$pos1,$pos2)

   {
    $tmp=$tab[$pos1];$tab[$pos1]=$tab[$pos2];$tab[$pos2]=$tmp;
   }

//trier un tableau : nb fois chercher le plus petit et le deplacer
function trie_tableau(&$tab,$nb)
   {
    for($i=0;$i<$nb-1;$i++)
     {
      $pp=plus_petit($tab,$nb,$i);
      //echo "<P>pp et i $pp $i</P>";
      if($pp!=$i)echange($tab,$i,$pp);
     }
   }

?>

=======================================================================================
                     fichier de test utilisant ces fonctions 
=======================================================================================
<?php
 include "fonctions.inc";
?>

<html>
  <head>
    <title>test des fonctions php</title>
  </head>
<body bgcolor="#ffffa0">
<H1 align="center">test PHP</H1>
 <?php
   $n=1;
   dire_n_fois_bonjour($n);
 ?>

<P>ah la la que vais-je marquer l&agrave;</P>

 <?php
   $nb=$_GET["nb"];
   $notes=cree_tableau($nb); 
   afficher_tableau($notes,$nb); 
   $moy=moyenne($notes,$nb);
   echo "<P> la moyenne est $moy</P>\n";
   trier($notes,$nb);
   afficher_tableau($notes,$nb); 
 ?>
</body>
</html>


P. TRAU, ULP-IPST, 2006