Diferencia entre revisiones de «Plantilla:PHP/EstructurasControl»

De WikiEducator
Saltar a: navegación, buscar
(Iteracción do-while)
(Seleccion switch)
Línea 112: Línea 112:
 
*Esta estructura estáindicada cuanto tengamos más de dos casos ante una variable o situación que evaluemos excluyentes entre sí.
 
*Esta estructura estáindicada cuanto tengamos más de dos casos ante una variable o situación que evaluemos excluyentes entre sí.
 
</div>
 
</div>
 +
*La sintaxis de esta  estructura  de control es
 +
<source lang=php>
 +
switch ($valor){
 +
case: "valor1":
 +
    acciones
 +
    break;
 +
 +
</source>
  
 
<div class="slide">
 
<div class="slide">
Línea 117: Línea 125:
 
{{MRM_Ejemplo|Title=uso de switch|
 
{{MRM_Ejemplo|Title=uso de switch|
 
*Hacer un programa que nos muestre si un nombre es María, Pedro, o no es ninguno de ellos
 
*Hacer un programa que nos muestre si un nombre es María, Pedro, o no es ninguno de ellos
<!--
+
 
 
{{Plegable|hide|Posible solución|
 
{{Plegable|hide|Posible solución|
 
<source lang=php>
 
<source lang=php>
Línea 134: Línea 142:
 
</source>
 
</source>
 
}}
 
}}
-->
+
 
 
{{MRM_Actividad|Title=Generar mes y mostrar número de días|
 
{{MRM_Actividad|Title=Generar mes y mostrar número de días|
 
*Hacer un programa que muestre el número de días que tiene un més
 
*Hacer un programa que muestre el número de días que tiene un més
Línea 140: Línea 148:
 
*El programa me mostrará el número de días y si el mes no es correcto me informará de ello
 
*El programa me mostrará el número de días y si el mes no es correcto me informará de ello
  
<!--
+
 
 
{{Plegable|hide|Posible solución|
 
{{Plegable|hide|Posible solución|
  
Línea 176: Línea 184:
 
?>
 
?>
 
}}
 
}}
-->
+
 
 
}}
 
}}
  

Revisión de 19:08 5 oct 2020

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 dé si un número aleatorio es par o impar!




Seleccion switch

  • Este es un selector múltiple.
  • La sentencia case en php puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
  • Esta estructura estáindicada cuanto tengamos más de dos casos ante una variable o situación que evaluemos excluyentes entre sí.
  • La sintaxis de esta estructura de control es
switch ($valor){
case: "valor1":
     acciones
     break;
Switch

{{MRM_Ejemplo|Title=uso de switch|

  • Hacer un programa que nos muestre si un nombre es María, Pedro, o no es ninguno de ellos



Icon activity.jpg
Generar mes y mostrar número de días
  • Hacer un programa que muestre el número de días que tiene un més
  • El número de mes se obtendrá en un valor aleatorio entre 1 y 15
  • El programa me mostrará el número de días y si el mes no es correcto me informará de ello


-->




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.


Icon activity.jpg
Usando do-while
  • Modifica el ejercicio anterior usando un do-wile
 




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>";
}
?>