Valid XHTML     Valid CSS2    

Listing du fichier pilev2.php avec syntaxhighlighter


        <?php
        
        error_reporting(E_ALL | E_NOTICE | E_STRICT ) ;
        
        session_start() ;
        
        include "std.php" ;
        
        debutPage("Exemple de pile","strict") ;
        debutSection() ;
        
        if (!isset($_SESSION["laPile"])) {
          $_SESSION["laPile"] =  creerPile() ;
        } ; # fin si
        
        # -------------------------------------------------------------------------------------
        
        h1("Implémentation d'une \"pile\" via un tableau") ;
        
        blockquote() ;
        
        form("pilev2.php") ;
        div("bgcolor_slate_encadre") ;
        blockquote() ;
          pvide() ;
          p() ;
            input_submit("Afficher la pile","afficher") ;
          finp() ;
        
          p() ;
            input_submit("Dépiler","depiler") ;
          finp() ;
        
          p() ;
            input_submit("Empiler la valeur ","empiler") ;
            input_text("valeur","") ;
            echo " (de préférence numérique) " ;
            input_submit("Exécution !","empiler2","vert_pastel") ;
          finp() ;
        
          p() ;
            input_submit("Réinitialiser la pile","reinitialiser") ;
          finp() ;
        
          p() ;
            if (isset($_GET["dbg"])) {
              input_checkbox("dbg"," Activer le mode debug ","","chk") ;
            } else {
              input_checkbox("dbg"," Activer le mode debug ") ;
            } ; # fin si
          finp() ;
          pvide() ;
        finblockquote() ;
        findiv() ;
        finform() ;
        
        form("pilev2.php") ;
          p() ;
            input_submit("Réinitialiser le formulaire") ;
          finp() ;
        finform() ;
        
        # -------------------------------------------------------------------------------------
        
        if (isset($_GET["reinitialiser"])) {
           h3("La pile a été réinitialisée.") ;
           $_SESSION["laPile"] = creerPile() ;
        } ; # fin si
        
        if (isset($_GET["afficher"])) {
           if (pileVide($_SESSION["laPile"])) {
             h3("La pile est vide, il n'y a rien à afficher.") ;
           } else {
             h3("Vous avez demandé d'afficher la pile, la voici&nbsp;: ") ;
             montrerPile($_SESSION["laPile"]) ;
           } ; # fin si
        } ; # fin si
        
        if (isset($_GET["depiler"])) {
          list($enleve,$_SESSION["laPile"]) = depiler($_SESSION["laPile"]) ;
          if ($enleve=="") {
            h3("La pile est vide, il n'y a rien à dépiler.") ;
          } else {
            h3("On a oté $enleve de la pile.") ;
          } ; # finsi
        } ; # fin si
        
        if (isset($_GET["empiler"]) or (isset($_GET["empiler2"]))) {
          if ((!isset($_GET["valeur"])) or (isset($_GET["valeur"]) and ($_GET["valeur"]=="")) ){
            h3("Vous n'avez fourni aucune valeur à empiler.") ;
          } else {
            $_SESSION["laPile"] = empiler($_GET["valeur"],$_SESSION["laPile"]) ;
            h3("On a empilé la valeur ".$_GET["valeur"]) ;
          } ; # fin si
        } ; # fin si
        
        if (isset($_GET["dbg"])) {
          h2("Mode debug actif","grouge") ;
          blockquote() ;
          h3("Voici le contenu du tableau qui implémente la pile :") ;
          pre("plusgrand cadre") ;
            print_r($_SESSION["laPile"]) ;
          finpre() ;
          finblockquote() ;
        } ; # fin si
        
        finblockquote() ;
        
        # -------------------------------------------------------------------------------------
        
        finSection() ;
        finPage() ;
        
        # ----------------------------------
        
        function creerPile() {
        
          return( array() ) ;
        
        } # fin de fonction creerPile
        
        # ----------------------------------
        
        function pileVide($p) {
        
          return( count($p)==0 ) ;
        
        } # fin de fonction pileVide
        
        # ----------------------------------
        
        function empiler($valeur,$pile) {
        
          $pile[ count($pile) ] = $valeur ;
        
          return( $pile ) ;
        
        } # fin de fonction empiler
        
        # ----------------------------------
        
        function depiler($pile) {
        
          $idd = count($pile) - 1 ; # idd : indice du dernier
        
          if ($idd>=0) {
             $dep = $pile[ $idd ] ;
             unset( $pile[ $idd ]  ) ;
          } else {
             $dep = "" ;
          } # finsi
        
          return( array($dep,$pile) ) ;
        
        } # fin de fonction depiler
        
        # ----------------------------------
        
        function montrerPile($pile) {
        
          pre("plusgrand") ;
          $nbe = count($pile) ;
          if (pileVide($pile)) {
             echo "la pile est vide.\n" ;
          } else {
            echo "Contenu de la pile :\n" ;
            for ($ide=$nbe-1;$ide>=0;$ide--) {
              echo "  valeur numéro ".sprintf("%2d",$ide)." : ".sprintf("%4d",$pile[$ide]) ;
              if ($ide==$nbe-1) { echo " (haut de la pile)" ; } ;
              if ($ide==0)      { echo " (bas  de la pile)" ; } ;
              echo "\n" ;
            } ; # fin pour ide
          } ; # finsi
          finpre() ;
        
        } # fin de fonction montrerPile
        
        # ----------------------------------
        
        ?>
        

La coloration syntaxique est réalisée par : SyntaxHighlighter.

Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.

 

 

retour gH    Retour à la page principale de   (gH)