9. Execucions repetides
Índex
L'estructura for()
L'estructura for() comporta la repetició d'una instrucció o d'un conjunt d'instruccions d'acord amb uns paràmetres fixos que fan de comptador. La seva sintaxi és
- for(inici;final;increment){
- instruccions_que_cal_repetir
- }
En les instruccions repetides mitjançant un for() és habitual fer servir el propi comptador per a alguna finalitat altra que la de comptar, però això no és pas obligatori.
- Document inicial, sense codi PHP, dotat d'un formulari.
- <?php
- $num=$_POST['num']; // Recollim el valor del límit
- echo "<h3 style='text-align: center'>Quadrats dels primers nombres enters</h3>";
- echo "<p>";
- for($i=0;$i<=$num;$i++){ // Límits i increment de 'for'
- $quadr=$i*$i; // Elevem al quadrat
- echo "$i<sup>2</sup> = $quadr<br />"; // Presentem els resultats
- }
- echo "</p>";
- ?>
Vegeu-ne el resultat
L'estructura while()
A diferència de for(), l'estructura while() avalua constantment una expressió en què hi ha d'haver almenys una variable que es modifica amb la pròpia execució:
- while(condició){
- instruccions;
- instruccions que fan variar almenys un dels paràmetres;
- }
- Document inicial, sense codi PHP, dotat d'un formulari.
- <?php
- $num=$_POST['n']; // Recollim la dada inicial
- $pot=$num; // La primera potència d'un nombre és el mateix nombre
- $e=1; // El primer exponent és 1
- echo "<h3 style='text-align: center'>Les primeres potències del nombre $num</h3>";
- echo "<br />";
- echo "<table style='width=60%; margin-left: 20%; border: solid thin #008000; border-collapse: collapse'>";
- while ($pot<100000000){ // Inici del bucle
- echo "<tr>";
- echo "<td style='border: solid thin #0000ff; padding: 3px; text-align: right'>$e</td>"; // Escrivim el valor actual de l'exponent
- echo "<td style='border: solid thin #0000ff; padding: 3px; text-align: right'>$pot</td>"; // Escrivim el valor actual de la potència
- echo "</tr>";
- $e++; // Incrementem en 1 l'exponent
- $pot = $pot * $num; // Calculem la nova potència
- }
- echo "</table>";
- ?>
Vegeu-ne el resultat
L'estructura do ... while
En l'estructura while() la condició s'avalua abans de l'execució de les operacions condicionades, de manera que poden no arribar-se a executar mai si ja d'entrada no es compleix la condició. (Què passaria en l'exemple anterior si indiquessim el nombre 102380567?). En l'estructura do ... while() l'avaluació es fa després, i per tant , les operacions condicionades s'executen almenys una vegada.
L'estructura és la següent:
- do{
- instruccions;
- } while (condició);
- Document inicial, sense codi PHP, dotat d'un formulari.
- <?php
- $num=$_POST['num']; // Importem el nombre
- $d=1; // Valor inicial del divisor
- if (($num<1) || ($num>10000)){ // Comprovem que compleix el requisit
- echo "Aquest nombre no compleix el requisit";
- }else{
- echo "<h3 style='text-align: center'>Quocients successius de $num pels quadrats dels nombres enters</h3>";
- echo "<table style='width=60%; margin-left: 20%; border: solid thin #008000; border-collapse: collapse'>";
- do{ // Comença l'execució reiterada
- $dd=$d*$d;
- $q=$num/$dd;
- echo "<tr>"; // Comencem la presentació dels resultats
- echo "<td style='border: solid thin #008000'>$num";
- echo "/";
- echo "$dd</td>";
- echo "<td style='border: solid thin #008000'>$q</td>";
- echo "</tr>";
- $d++; // Incrementem el valor de $d
- } while ($q>1); Mentre el quocient sigui superior a 1 es repetirà el procés
- echo "</table>";// Acabada la presentació, tanquem la taula
- }
- ?>
Vegeu-ne el resultat