Diferencia entre revisiones de «Plantilla:PHP/EstructurasControl»

De WikiEducator
Saltar a: navegación, buscar
Línea 3: Línea 3:
 
{{MRM_Objetivos|
 
{{MRM_Objetivos|
 
;Determinan el flujo de ejecución de un programa
 
;Determinan el flujo de ejecución de un programa
*Temenos tres estructuras de control
+
*Tenemos tres estructuras de control
 
*Veremos cómo se implementan en PHP
 
*Veremos cómo se implementan en PHP
 
}}
 
}}
Línea 13: Línea 13:
 
Son de tres tipos
 
Son de tres tipos
 
#Selección
 
#Selección
#Iteración
+
#Iteracción
 
#Secuenciales
 
#Secuenciales
 
*Para construirlas necesitamos operadores
 
*Para construirlas necesitamos operadores
Línea 20: Línea 20:
 
<div class="slide">
 
<div class="slide">
 
===Selección if===
 
===Selección if===
*Sentencia que evlúa una expresión booleana y ejectua o no en función de que dicha expresión sea true o false
+
*Sentencia que evlúa una expresión booleana y ejecuta o no en función de que dicha expresión sea true o false
 
<source lang=php>
 
<source lang=php>
 
  if (condicion)
 
  if (condicion)
Línea 41: Línea 41:
 
       Sentencia_2;
 
       Sentencia_2;
 
</source>
 
</source>
*También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejectuten las sentencias que a continuación acompañan.
+
*También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejecuten las sentencias que a continuación acompañan.
 
</div>
 
</div>
  
Línea 79: Línea 79:
 
<?php else: ?>
 
<?php else: ?>
 
     <h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
 
     <h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
     <!--escribirmos código html -->
+
     <!--escribimos código html -->
 
<?php endif ?>
 
<?php endif ?>
 
</source>
 
</source>
Línea 95: Línea 95:
 
*Este es un selector múltiple
 
*Este es un selector múltiple
 
*La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
 
*La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
*Estructura indicada cuanto tengamos más de dos casos ante una variable o sitiación que evaluemos excluyentes entre sí
+
*Estructura indicada cuanto tengamos más de dos casos ante una variable o situación que evaluemos excluyentes entre sí
 
</div>
 
</div>
  
Línea 120: Línea 120:
 
*Como en todos los bucles debemos siempre tener encuenta
 
*Como en todos los bucles debemos siempre tener encuenta
 
#inicializar la variable de control
 
#inicializar la variable de control
#acutalizarla correctamente dentro del bucle
+
#actualizarla correctamente dentro del bucle
#realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ...
+
#realizar de forma correcta la evaluación de condición (< o <=), (> o >=), ...
 
<source lang=php>
 
<source lang=php>
 
<?php
 
<?php
 
$i = 1;
 
$i = 1;
 
while ($i <= 10) {
 
while ($i <= 10) {
     echo "iteración número ."$i++;
+
     echo "iteracción número ."$i++;
 
}
 
}
 
?>
 
?>
Línea 138: Línea 138:
 
while ($i <= 10):
 
while ($i <= 10):
 
     $i++;
 
     $i++;
     echo "iteración número ."$i;
+
     echo "iteracción número ."$i;
 
endwhile;
 
endwhile;
 
?>
 
?>
Línea 145: Línea 145:
  
 
<div class="slide">
 
<div class="slide">
===Iteración do-while===
+
===Iteracción do-while===
*Este tipo de bucle donde seguro que al menos se ejectua un iteración
+
*Este tipo de bucle donde seguro que al menos se ejecuta un iteracción
 
*Respecto al anterior nos ahorra una comparación.
 
*Respecto al anterior nos ahorra una comparación.
 
<source lang=php>
 
<source lang=php>
Línea 175: Línea 175:
 
*tiene tres partes
 
*tiene tres partes
 
;expresion_inicial:
 
;expresion_inicial:
:Se ejecuta una sóla vez al comienzo del bucle. se usa para inicializar variables
+
:Se ejecuta una sola vez al comienzo del bucle. se usa para inicializar variables
;condicion
+
;condición
:Es una expresión booleana que se evalúa en cada interación
+
:Es una expresión booleana que se evalúa en cada interacción
:Si da un valor false, ya no se ejectua ninguna vez
+
:Si da un valor false, ya no se ejecuta ninguna vez
 
:Si no hay expresión se toma como true
 
:Si no hay expresión se toma como true
 
:En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
 
:En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
Línea 184: Línea 184:
  
 
<div class="slide">
 
<div class="slide">
;Estrucutura for: condición
+
;Estructura for: condición
 
<source lang=php>
 
<source lang=php>
 
<?php
 
<?php
Línea 199: Línea 199:
 
;Estructura for: expresion_actualizar
 
;Estructura for: expresion_actualizar
 
:Esta expresión actualiza el valor de alguna/as variables
 
:Esta expresión actualiza el valor de alguna/as variables
:Se ejecuta en cada interacion
+
:Se ejecuta en cada interactivo
 
*El ejemplo anterior  
 
*El ejemplo anterior  
 
<source lang=php>
 
<source lang=php>

Revisión de 11:02 3 nov 2016

Estructuras de control

Icon objectives.jpg
Objetivo
Determinan el flujo de ejecución de un programa
  • Tenemos tres estructuras de control
  • Veremos cómo se implementan en PHP

Estructuras de control 1

A continuación veremos las estructuras de control Son de tres tipos

  1. Selección
  2. Iteracción
  3. Secuenciales
  • Para construirlas necesitamos operadores

Selección if

  • Sentencia que evlúa una expresión booleana y ejecuta o no en función de que dicha expresión sea true o false
 if (condicion)
     Sentencia 1;

 if  (condicion){
     Sentencia_1;
     Sentencia_2;
 }
Sentencias de control

if (expresion)

    Sentencia_1;

else

     Sentencia_2;

</source>

  • También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejecuten las sentencias que a continuación acompañan.
Estructura de control
if (expresion){
   sentencias;
}
elseif (expresion){
   sentencias;
}
else{
   sentencias;
}
  • Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php.
  • También se puede usar la sintaxis vista anteriormente, pero parece que esta quede más compacta.
if (condicion): 
   Sentencia 1;
 endif;
Ahora lo vemos con código html
<?php if (true): ?>
 
    <h1>Esta frase seguro que aparece ahor</h1>
    <!--escribirmos código html -->
<?php else: ?>
    <h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
    <!--escribimos código html -->
<?php endif ?>

Operadores ternario

  • Es una forma más compacta de un if else con una única instrucción.
Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion


Icon activity.jpg
Actividad
Programa que me de si un número aleatorio es par o impar


Seleccion switch

  • Este es un selector múltiple
  • La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
  • Estructura indicada cuanto tengamos más de dos casos ante una variable o situación que evaluemos excluyentes entre sí
Switch
<?php
switch ($nombre){
    case "Maria":
        echo "eres una chica";
        break;
    case "Pedro";
        echo "eres una chico";
        break;
    default:
        echo "no se qué nombre tienes";
}
?>

Iteración while

  • Como en todos los bucles debemos siempre tener encuenta
  1. inicializar la variable de control
  2. actualizarla correctamente dentro del bucle
  3. realizar de forma correcta la evaluación de condición (< o <=), (> o >=), ...
<?php
$i = 1;
while ($i <= 10) {
    echo "iteracción número ."$i++;
}
?>
  • Alternativamente podemos usar la siguiente sintaxis
$i = 1;
while ($i <= 10):
    $i++;
    echo "iteracción número ."$i;
endwhile;
?>

Iteracción do-while

  • Este tipo de bucle donde seguro que al menos se ejecuta un iteracción
  • Respecto al anterior nos ahorra una comparación.
<?php
$num=10;
$resultado=1;
*Esta es la única sintaxis posible con este tipo de sentencia 
do {
   $resultado:=$resultado*$num;
   $num--;
} while ($num>0);
?>

Iteración for

  • Es un bucle de tipo contador
 for (expresion_inicial; condicion;expresion_actualizar){
       sentencias;
 }
Estructura for
  • tiene tres partes
expresion_inicial
Se ejecuta una sola vez al comienzo del bucle. se usa para inicializar variables
condición
Es una expresión booleana que se evalúa en cada interacción
Si da un valor false, ya no se ejecuta ninguna vez
Si no hay expresión se toma como true
En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
Estructura for
condición
<?php
for ($a=0; ;$a++){
    echo "$a*$a=".$a*$a."<br>";
    if ($a==10)
        break;
}
?>
Estructura for
expresion_actualizar
Esta expresión actualiza el valor de alguna/as variables
Se ejecuta en cada interactivo
  • El ejemplo anterior
<?php
for ($a=0;$a<10 ;$a++){
    echo "$a*$a=".$a*$a."<br>";
}
?>