Php sentencias - ESTRUCTURA CONDICIONAL (IF,else if, else) PDF

Title Php sentencias - ESTRUCTURA CONDICIONAL (IF,else if, else)
Author Reynaldo De Sedas
Course Programación I
Institution Universidad de Panamá
Pages 18
File Size 355.5 KB
File Type PDF
Total Downloads 107
Total Views 134

Summary

ESTRUCTURA CONDICIONAL (IF,else if, else)
...


Description

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

ESTRUCTURA CONDICIONAL (IF) Cuando se pretende que el programa, una vez llegado a un cierto punto, tome un camino concreto en determinados casos y otro diferente si las condiciones de ejecución difieren, se utiliza el conjunto de instrucciones: if, else y elseif. La estructura base de este tipo de instrucciones es la siguiente: IF SIMPLE if (Condición) { Instrucción 1; Instrucción 2; }

IF COMPUESTO if (Condición) { Instrucción 1; Instrucción 2; } else { Instrucción A; Instrucción B; }

Cuando la ejecución llega al punto donde se encuentra la instrucción if, el programa verificará el cumplimiento o no de la condición. Si la condición es verdadera se ejecutarán las instrucciones 1 y 2, de lo contrario, se ejecutarán las instrucciones A y B.

22

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

En los casos en que las condiciones sean varias, se pueden utilizar los if de un modo denominado anidado o anillado, como se indica de la manera siguiente:

Ejemplo de la estructura general de un If anidado: if (Condicion 1) { Instrucción 1; Instrucción 2; } else { if (Condicion 2) { Instrucción A; Instrucción B; } else { Instrucción X; Instrucción Z; } } De este modo se pueden introducir tantas condiciones como se quiera dentro de la condición principal. Una variante de este sistema es utilizando la sentencia elseif, que permite en una sola línea introducir una condición adicional: ANIDADO if (Condicion 1) { Instrucción 1; Instrucción 2; } elseif (Condicion 2) { Instrucción A; Instrucción B; 23

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

} else { Instrucción X; Instrucción Z; }

Para las condiciones tener en cuenta que disponemos de los siguientes operadores: == != >= >

24

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO



Es importante recordar que siempre la condición del if debe ir entre paréntesis. Si la condición del if se verifica verdadera (es decir el número sorteado es menor o igual a 5) ejecuta el primer bloque que se encuentra entre llaves. En caso de verificarse falsa la condición del if se ejecuta el bloque entre llaves que se encuentra después del else. El valor aleatorio lo generamos llamando a la función random pasándole el valor mínimo y máximo: $valor=rand(1,10); Imprimimos el valor generado a los efectos de controlar el resultado:

echo "El valor sorteado es $valor";

En el primer problema tenemos solo dos caminos posibles, el valor es menor o igual a cinco o es mayor. En un segundo ejemplo mostraremos como disponer una estructura condicional if anidada.

El problema es el siguiente: Generar un valor aleatorio entre 1 y 100. Luego mostrar si tiene 1,2 o 3 dígitos. Como podemos observar estamos en presencia de un problema que tiene tres caminos posibles. El valor puede tener 1 dígito, 2 dígitos o 3 dígitos. Si pensamos un poco podremos identificar que para que tenga un dígito debe generarse un valor entre 1 y 9, para que tenga dos dígitos deberá estar comprendido entre 10 y 99, y finalmente para tener 3 dígitos deberá ser el valor 100.

Ejemplo para determinar si el número entre 1 y 100 tiene 1,2 o 3 digitos: 25

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Problema



Es importante notar como la segunda estructura if se encuentra contenida entre las llaves del else del primer if. Es decir que si el valor aleatorio es menor o igual a 26

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

9 se ejecuta el bloque del verdadero del primer if y no se ejecuta por lo tanto el if anidado en el else. Por el contrario si la condición del primer if se verifica false se ejecuta el bloque del else del primer if, la misma contiene una estructura if con sus bloques del verdadero y false.

Ahora veremos el mismo ejemplo resuelto con la estructura if/elseif será:

Problema



COMERCIO ELECTRÓNICO

Es importante entender cómo la sentencia switch es ejecutada con el fin de evitar errores. La sentencia switch ejecuta línea por línea (en realidad, sentencia por sentencia). Al principio, ningún código es ejecutado. Sólo cuando una sentencia case es encontrada con un valor que coincide con el valor de la sentencia switch, PHP comienza a ejecutar la sentencias. PHP continúa ejecutando las sentencias hasta el final del bloque switch, o hasta la primera vez que vea una sentencia break. Si no se escribe una sentencia break al final de la lista de sentencias de un caso, PHP seguirá ejecutando las sentencias del caso siguiente. Por ejemplo:

Aquí, si $i es igual a 0, PHP ejecutaría todas las sentencias echo! Si $i es igual a 1, PHP ejecutaría las últimas dos sentencias echo. Se obtendría el comportamiento esperado (se mostraría 'i es igual a 2') sólo si $i es igual a 2. Por lo tanto, es importante no olvidar las sentencias break (aunque es posible que se desee evitar proporcionarlas a propósito bajo determinadas circunstancias). En una sentencia switch, la condición es evaluada sólo una vez y el resultado es comparado con cada una de las sentencias case. En una sentencia elseif, la condición es evaluada otra vez. Si la condición es más complicada que una simple comparación y/o está en un bucle estrecho, un switch puede ser más rápido. La lista de sentencias para un caso también puede estar vacía, lo cual simplemente pasa el control a la lista de sentencias para el siguiente caso.

Un caso especial es el default. Este caso coincide con cualquier cosa que no se haya correspondido por los otros casos. Por ejemplo:

La expresión case puede ser cualquier expresión que se evalúa como un tipo simple, es decir, entero o números de punto flotante y strings. Los arrays u objetos no se pueden utilizar aquí a menos que sean desreferenciados a un tipo simple.

30

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

Es posible utilizar un punto y coma en lugar de dos puntos después de un caso como:

31

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

CICLOS DE REPETICION Las estructuras repetitivas (bucles) son aquellas que reiteran una o un grupo de instrucciones "n" veces y dependen de una variable de control del ciclo. Es decir, ejecutan una o varias instrucciones un número de veces definido. Las estructuras repetitivas son similares al lenguaje C.

LA INSTRUCCIÓN FOR La estructura repetitiva for (en castellano se traduciría como “desde…”) se utiliza generalmente cuando tenemos bien determinada la cantidad de repeticiones a realizar. Se diferencia de otras como while en que se debe incluir en la propia instrucción una variable de control, la cual se incrementa o decrementa de forma automática. La estructura de estas instrucciones viene a ser muy similar al while. Estructura general de una instrucción for for([Inicialización de la variable];[Condición];[Incremento o decremento de la variable]) { [Instrucciones]; }

En PHP

32

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

En este fragmento de código estaríamos indicando que mientras se cumpla la condición se realizan las sentencias, y en este caso si no se cumpliese la condición se seguiría ejecutando el programa justo después del cierre de la instrucción for (}). Todo esto es igual a la instrucción while, salvo que en la propia declaración de la estructura se encuentra la variable de control, que en cada repetición se incrementa automáticamente. Esta instrucción consta, por tanto, de tres parámetros: for ($variable=valor_inicial; condición; incremento) •

Inicialización de la variable que se utilizará en la condición.



Condición que se debe cumplir para permanecer en el ciclo.



Modificación de la variable utilizada en la condición.

Ejemplo 1:

Este ejemplo muestra la siguiente salida

Como podemos observar, el valor inicial y el incremento de la variable $var1, van en la propia instrucción. Ejemplo 2 Desarrollar un programa con un bucle for que cuente desde 0 hasta 50 de cinco en cinco y que imprima los valores.

Fíjate que en este caso a la variable contador la hemos denominado i. Es habitual usar nombres como i, j, k para las variables contadoras en bucles. Otra cosa interesante es que usando la instrucción += conseguimos que la variable contadora no vaya de uno en uno, sino que el paso (step) de la variable sea el número que nosotros deseemos. En este caso, hemos utilizado un incremento de 5 unidades en cada repetición del bucle. También podemos lograr el mismo efecto pero con decrementos usando – =.

Ejemplo 3. Programa php que muestra los números del 1 al 100: html>

Problema



El primer argumento del for es la inicialización de una variable, en este caso se inicializa la variable $f con el valor 1. Este primer argumento del for se ejecuta solo 34

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

una vez. Luego se ejecuta el segundo argumento que es la condición. Si la misma se verifica como verdadera se ejecuta todo el bloque comprendido entre las llaves de apertura y cerrado. Luego de haberse ejecutado el bloque repetitivo se ejecuta el tercer argumento del for que es el incremento de la variable, en este caso $f++ incrementa el contenido de la variable $f en 1 (también podemos poner en lugar de $f++ la asignación $f=$f+1).

Luego del incremento de la variable se ejecuta nuevamente la condición del for (segundo argumento), de validarse nuevamente verdadero pasa a ejecutar el bloque repetitivo.

Este ciclo se repite hasta que la condición del for se verifica

false.

ESTRUCTURA REPETITIVA

WHILE

La instrucción while (que en castellano se traduciría como “mientras…”) ejecuta una porción de programa mientras se cumpla una cierta condición. Mientras la condición sea verdadera, se ejecutan las instrucciones contenidas en el while. Cuando deja de cumplirse la condición, se sale del ciclo y se continúa ejecutando el resto del programa. Si la condición no se cumple ni la primera vez que se comprueba, las líneas en el interior del while no se ejecutarán ni una vez. Estructura general de una instrucción while

La condición del while se verifica antes de ingresar al bloque a repetir. Si la misma se verifica falsa la primera vez no se ejecutará el bloque.

Veamos unos ejemplos:  Generar un valor aleatorio entre 1 y 100, luego imprimir en la página desde 1

hasta el valor generado (de uno en uno):

Problema



La variable $inicio tiene el valor 1 antes de ingresar al while. Cada vez que se ejecuta una vez el bloque del while se incrementa la variable $inicio en uno. Cuando $inicio supere la variable aleatoria $valor finalizará la estructura repetitiva y pasará a ejecutarse la instrucción inmediatamente siguiente a la llave de cerrado. Es importante notar que luego de la condición del while NO disponemos PUNTO y COMA.



Escribe ahora un programa, usando while, que imprima los números de 0 a 36

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

9.

Esta es la salida

En este ejemplo, las instrucciones dentro del while se ejecutarían 10 veces, mostrando los números de 0 a 9 separados por coma. Hay que tener especial cuidado en no crear estructuras repetitivas que se ejecuten infinitamente (bucles infinitos). En el ejemplo anterior, si no incrementamos el valor de la variable $num, la condición del while se cumpliría siempre y tendríamos un problema porque habríamos creado un bucle infinito, quedando el programa ‘atascado’ en dicho while. Por último tenemos en el lenguaje una estructura repetitiva similar al while llamada do/while, donde la condición se verifica luego de ejecutarse el bloque repetitivo.

ESTRUCTURA REPETITIVA

DO WHILE.

La estructura repetitiva do-while (en castellano equivaldría a hacer… mientras ) es muy similar a la estructura while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar de al principio. La diferencia principal con los bucles while es que está garantizado que se ejecuten las instrucciones que contienen, al menos una vez (la verificación de si se tiene que repetir el proceso se realiza al final de la repetición de la estructura. Estructura general de una instrucción do … while

La salida es:

38

PROGRAMACIÓN PARA WEB IV

COMERCIO ELECTRÓNICO

39...


Similar Free PDFs