Diferència entre revisions de la pàgina «Estructures de control»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «Tornar: Tornar a l'inici =Decisió (IF THEN ELSE)= Tornar: Tornar a l'inici».)
 
 
(Hi ha 20 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
Tornar: [[M9_-_Implantació_d’aplicacions_web | Tornar a l'inici]]
 
Tornar: [[M9_-_Implantació_d’aplicacions_web | Tornar a l'inici]]
  
=Decisió (IF THEN ELSE)=
+
=Decisió=
 +
==IF ELSE==
 +
Aquesta estructura de control en permet realitzar una/unes acció/accions si es compleix la condició i unes altres accions si no es compleix la condició. Es pot ometre la segona part si no volem que es realitze cap acció quan no es compleix la condició.
 +
La sintaxi és la que es mostra a continuació:
 +
 
 +
    if (condicio)
 +
    {
 +
        // accions a realitzar si es compleix la condició
 +
    }
 +
    else
 +
    {
 +
        // accions que es realitzaran si NO es compleix la condició
 +
    }
 +
 
 +
Així per exemple:
 +
 
 +
    if ($nota>=5)
 +
        echo "La prova escrita ha estat superada.";
 +
    else
 +
        echo "Ho sento, hauràs de tornar a realitzar la prova."
 +
 
 +
Noteu que quan les accions a realitzar no són superiors a una línia, podem ometre les claus { }.
 +
 
 +
Quan es tracta de condicions booleanes (tenen valor verdader o fals), podem tractar la condició de forma directa o negada (afegint "!" davant de la condició). Estudieu les següents condicions:
 +
 
 +
    // Forma directa
 +
    if($conexion_ok)
 +
        echo "S'ha realitzat la connexió";
 +
    else
 +
        echo "Connexió fallida";
 +
 
 +
 
 +
    // forma negada o indirecta
 +
    if(!$connexion_ok)
 +
        echo "Ha fallat la connexió";
 +
    else
 +
        echo "La connexió s'ha efectuat amb èxit";
 +
 
 +
 
 +
 
 +
==Switch()==
 +
Es tracta d'un altre mètode de decisió en el que les accions a realitzar s'estructuren en funció d'una condició amb diferents possibilitats, fins i tot podem especificar una acció per omissió en el cas de que no es compleixi cap de les condicions.
 +
Un exemple el tenim a continuació:
 +
 
 +
    switch($color) {
 +
        case "negre":
 +
            echo "El color escollit és força fosc";
 +
            break;
 +
        case "blanc":
 +
            echo "El color escollit és força clar";
 +
            break;
 +
        default:
 +
            echo "Aquest color és troba entre el blanc i el negre";
 +
            break;
 +
    }
 +
 
 +
Podeu trobar més informació en: http://www.php.net/manual/es/control-structures.switch.php
 +
 
 +
=Bucles=
 +
PHP aplica una sintaxi pareguda, si més no, al C en els bucles.
 +
==for()==
 +
Els bucles amb FOR, parteixen d'un valor inicial que s'incrementa o decrementa fins que es compleix la condició de finalització.
 +
 
 +
    for ($contador=1; $contador<=$cont_max; $contador++)
 +
    {
 +
        echo "Contador val:$contador &lt;br/&gt;";
 +
    }
 +
 
 +
Com podem veure, en l'exemple anterior es mostra per pantalla el valor d'un comptador que comença en "1" fins el valor assignat a la variable $cont_max.
 +
 
 +
També podem niar els bucles for, com es mostra a continuació:
 +
 
 +
    for($i=0; $i<4; $i++)
 +
    {
 +
        for($j=0; $j<4; $j++)
 +
            echo "Fila:$i-Columna:$j Valor:$vector[$i][$j]";
 +
            echo "&lt;br/&gt;";
 +
        }
 +
    }
 +
 
 +
En aquest exemple, mostra les dades d'un vector 4x4.
 +
==While()==
 +
En aquest tipus de bucle, es repeteix la iteració fins que es deixa de complir la condició. Si a l'inici del bucle ja no es compleix aquesta condició, el flux del programa no entra a l'interior del bucle While ().
 +
    $a=0;
 +
    while ($a<15)
 +
    {
 +
        echo "$a &lt;br/&gt;";
 +
        $a++;
 +
    }
 +
 
 +
Imprimirà els valors del 0 al 14.
 +
==do While()==
 +
Al contrari de while(), en el cas dels bucles do while(), es produeix l'entrada al bucle com a mínim una vegada, ja que primer entra, realitza el contingut que hi ha dins del bucle i posteriorment comprova si es compleix la condició del while:
 +
 
 +
    $a=15;
 +
    do {
 +
        echo "$a &lt;br/&gt;";
 +
        $a++;
 +
    }
 +
    while($a<15)
 +
 
 +
En aquest cas, imprimirà el valor 15 i després sortirà del bucle ja que el valor de $a a l'entrada ja no compleix la condició del while i a més, a l'interior del bucle s'incrementa en 1.
 +
 
 +
=Operador ternari=
 +
L'operador ternari permet avaluar una condició i prendre les accions tot en una única línia. La sintaxis és '''(condició)? acció_si : acció_sino;'''
 +
 
 +
    <?php
 +
        // retorna el major ...
 +
        $resultat=($a>=$b)? $a : $b;
 +
        echo $resultat;
 +
    ?>
 +
 
 +
En el cas de l'exemple anterior, si $a és major o igual que $b, mostra $a i en el cas de que $b sigui major que $a, mostra $b.
 +
 
 +
 
 +
Informació ampliada sobre els bucles en http://www.php.net/manual/es/language.control-structures.php
  
 
Tornar: [[M9_-_Implantació_d’aplicacions_web | Tornar a l'inici]]
 
Tornar: [[M9_-_Implantació_d’aplicacions_web | Tornar a l'inici]]

Revisió de 04:40, 21 gen 2012

Tornar: Tornar a l'inici

Decisió

IF ELSE

Aquesta estructura de control en permet realitzar una/unes acció/accions si es compleix la condició i unes altres accions si no es compleix la condició. Es pot ometre la segona part si no volem que es realitze cap acció quan no es compleix la condició. La sintaxi és la que es mostra a continuació:

   if (condicio)
   {
       // accions a realitzar si es compleix la condició
   }
   else
   {
       // accions que es realitzaran si NO es compleix la condició
   }

Així per exemple:

   if ($nota>=5)
       echo "La prova escrita ha estat superada.";
   else
       echo "Ho sento, hauràs de tornar a realitzar la prova."

Noteu que quan les accions a realitzar no són superiors a una línia, podem ometre les claus { }.

Quan es tracta de condicions booleanes (tenen valor verdader o fals), podem tractar la condició de forma directa o negada (afegint "!" davant de la condició). Estudieu les següents condicions:

   // Forma directa
   if($conexion_ok)
       echo "S'ha realitzat la connexió";
   else
       echo "Connexió fallida";


   // forma negada o indirecta
   if(!$connexion_ok)
       echo "Ha fallat la connexió";
   else
       echo "La connexió s'ha efectuat amb èxit";


Switch()

Es tracta d'un altre mètode de decisió en el que les accions a realitzar s'estructuren en funció d'una condició amb diferents possibilitats, fins i tot podem especificar una acció per omissió en el cas de que no es compleixi cap de les condicions. Un exemple el tenim a continuació:

   switch($color) {
       case "negre":
           echo "El color escollit és força fosc";
           break;
       case "blanc":
           echo "El color escollit és força clar";
           break;
       default:
           echo "Aquest color és troba entre el blanc i el negre";
           break;
   }

Podeu trobar més informació en: http://www.php.net/manual/es/control-structures.switch.php

Bucles

PHP aplica una sintaxi pareguda, si més no, al C en els bucles.

for()

Els bucles amb FOR, parteixen d'un valor inicial que s'incrementa o decrementa fins que es compleix la condició de finalització.

   for ($contador=1; $contador<=$cont_max; $contador++)
   {
       echo "Contador val:$contador <br/>";
   }

Com podem veure, en l'exemple anterior es mostra per pantalla el valor d'un comptador que comença en "1" fins el valor assignat a la variable $cont_max.

També podem niar els bucles for, com es mostra a continuació:

   for($i=0; $i<4; $i++)
   {
       for($j=0; $j<4; $j++)
           echo "Fila:$i-Columna:$j Valor:$vector[$i][$j]";
           echo "<br/>";
       }
   }

En aquest exemple, mostra les dades d'un vector 4x4.

While()

En aquest tipus de bucle, es repeteix la iteració fins que es deixa de complir la condició. Si a l'inici del bucle ja no es compleix aquesta condició, el flux del programa no entra a l'interior del bucle While ().

   $a=0; 
   while ($a<15)
   {
       echo "$a <br/>";
       $a++;
   }

Imprimirà els valors del 0 al 14.

do While()

Al contrari de while(), en el cas dels bucles do while(), es produeix l'entrada al bucle com a mínim una vegada, ja que primer entra, realitza el contingut que hi ha dins del bucle i posteriorment comprova si es compleix la condició del while:

   $a=15;
   do {
       echo "$a <br/>";
       $a++;
   }
   while($a<15)

En aquest cas, imprimirà el valor 15 i després sortirà del bucle ja que el valor de $a a l'entrada ja no compleix la condició del while i a més, a l'interior del bucle s'incrementa en 1.

Operador ternari

L'operador ternari permet avaluar una condició i prendre les accions tot en una única línia. La sintaxis és (condició)? acció_si : acció_sino;

   <?php
       // retorna el major ...
       $resultat=($a>=$b)? $a : $b;
       echo $resultat;
   ?>

En el cas de l'exemple anterior, si $a és major o igual que $b, mostra $a i en el cas de que $b sigui major que $a, mostra $b.


Informació ampliada sobre els bucles en http://www.php.net/manual/es/language.control-structures.php

Tornar: Tornar a l'inici