SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Libre Configuración: PHP Francisco Martínez Ruiz
7
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 (Condición)
{
Instrucción a1;
Instrucción a2;
}
else
{
Instrucción b1;
Instrucción b2;
}
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 a1 y
a2, de lo contrario, se ejecutarán las instrucciones b1 y b2.
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:
if (Condicion 1)
{
Instrucción a1;
Instrucción a2;
}
else
{
if (Condicion 2)
{
Instrucción b1;
Instrucción b2;
}
else
{
Instrucción c1;
Instrucción c2;
}
}
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:
I.E.S. Jándula (Andújar)
Libre Configuración: PHP Francisco Martínez Ruiz
if (Condicion 1)
{
Instrucción a1;
Instrucción a2;
}
elseif (Condicion 2)
{
Instrucción b1;
Instrucción b2;
}
else
{
Instrucción c1;
Instrucción c2;
}
Para las condiciones tener en cuenta que disponemos de los siguientes operadores:
== para ver si una variable es igual a otra.
!= distinto.
>= mayor o igual.
> mayor.
<<= menor o igual
< menor
La mejor forma de entender esta estructura condicional es por medio de ejemplos. El primero que
nos plantearemos es generar un valor aleatorio (es decir lo elige la máquina al azar, como extraer
una bolilla de un bolillero de lotería) comprendido entre 1 y 10. Luego mostraremos un mensaje si
es menor o igual a 5 o si es mayor a 5.
El programa completo es:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=rand(1,10);
echo "El valor sorteado es $valor<br>";
if ($valor<=5)
{
echo "Es menor o igual a 5";
}
else
{
echo "Es mayor a 5";
}
?>
</body>
</html>
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
I.E.S. Jándula (Andújar)
Libre Configuración: PHP Francisco Martínez Ruiz
entre llaves que se encuentra después del else.
El valor aleatorio lo generamos llamando a la función rand 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<br>";
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.
La página con el programa respectivo es:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=rand(1,100);
echo "El valor sorteado es $valor<br>";
if ($valor<=9)
{
echo "Tiene un dígito";
}
else
{
if ($valor<100)
{
echo "Tiene 2 dígitos";
}
else
{
echo "Tiene 3 dígitos";
}
}
?>
</body>
</html>
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 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
I.E.S. Jándula (Andújar)
Libre Configuración: PHP Francisco Martínez Ruiz
condición del primer if se verifica falsa se ejecuta el bloque del else del primer if, la misma contiene
una estructura if con sus bloques del verdadero y falso.
A modo ilustrativo el mismo ejemplo resuelto con la estructura if/elseif será:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=rand(1,100);
echo "El valor sorteado es $valor<br>";
if ($valor<=9)
{
echo "Tiene un dígito";
}
elseif ($valor<100)
{
echo "Tiene 2 dígitos";
}
else
{
echo "Tiene 3 dígitos";
}
?>
</body>
</html>
Si uno tiene mucha práctica con otros lenguajes de programación esta estructura de if anidados le
será mas adecuada, en caso que haya empezado a programar hace poco será conveniente que elija y
practique la primera forma.
Problema resuelto.
Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:wampwww
con un nombre con extensión php (si hay varios cuadros de texto grabar cada uno en un archivo
distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear:
http://localhost/pagina1.php (o el nombre del archivo que le dió)
pagina1.php
I.E.S. Jándula (Andújar)
Libre Configuración: PHP Francisco Martínez Ruiz
Problema propuesto.
Generar un valor aleatorio entre 1 y 3. Luego imprimir en castellano el número (Ej. si se genera el 3
luego mostrar en la página el string "tres").
Para ver si una variable es igual a cierto valor debemos plantear una condición similar a:
if ($valor==3)
{
//algoritmo
}
I.E.S. Jándula (Andújar)
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
//Generar un valor aleatorio entre 1 y 100. Luego mostrar
//si tiene 1,2 o 3 dígitos.
$valor=rand(1,100);
echo "El valor sorteado es $valor<br>";
if ($valor<=9)
{
echo "Tiene un dígito";
}
else
{
if ($valor<100)
{
echo "Tiene 2 dígitos";
}
else
{
echo "Tiene 3 dígitos";
}
}
?>
</body>
</html>

Más contenido relacionado

La actualidad más candente

Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de ControlDesireé mart?ez
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionaleslaryenso
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlSilvia Boscan
 
Guia 2nd o & 3er
Guia 2nd o & 3erGuia 2nd o & 3er
Guia 2nd o & 3ermartell024
 
Power point progrmacion 2[1]
Power point progrmacion 2[1]Power point progrmacion 2[1]
Power point progrmacion 2[1]bonito-56
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En Cpainni
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura SecuencialRegina Flores
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassizEncriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassizChristian Chauca Bravo
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y whilechristianlopezth
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióNRegina Flores
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 

La actualidad más candente (20)

Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de Control
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
If
IfIf
If
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Guia 2nd o & 3er
Guia 2nd o & 3erGuia 2nd o & 3er
Guia 2nd o & 3er
 
Power point progrmacion 2[1]
Power point progrmacion 2[1]Power point progrmacion 2[1]
Power point progrmacion 2[1]
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En C
 
Estructura Secuencial
Estructura SecuencialEstructura Secuencial
Estructura Secuencial
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Manual.es
Manual.esManual.es
Manual.es
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Manual
ManualManual
Manual
 
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassizEncriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 

Similar a 7. estructura condicional if (20)

Php
PhpPhp
Php
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Python02
Python02Python02
Python02
 
Curso php-my sql-clase-3
Curso php-my sql-clase-3Curso php-my sql-clase-3
Curso php-my sql-clase-3
 
Mini manual php
Mini manual phpMini manual php
Mini manual php
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Codigo
CodigoCodigo
Codigo
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Script
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Php04 estructuras control
Php04 estructuras controlPhp04 estructuras control
Php04 estructuras control
 
Java script
Java script Java script
Java script
 
Mini manual php
Mini manual phpMini manual php
Mini manual php
 
Estructuras de control en php
Estructuras de control en phpEstructuras de control en php
Estructuras de control en php
 
Php informacion
Php informacion Php informacion
Php informacion
 
Mod2ud2 1
Mod2ud2 1Mod2ud2 1
Mod2ud2 1
 
Manual de php basico
Manual de php basicoManual de php basico
Manual de php basico
 
Php
PhpPhp
Php
 
Módulo de PHP
Módulo de PHPMódulo de PHP
Módulo de PHP
 
Phpablo
PhpabloPhpablo
Phpablo
 

Último

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Último (20)

Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

7. estructura condicional if

  • 1. Libre Configuración: PHP Francisco Martínez Ruiz 7 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 (Condición) { Instrucción a1; Instrucción a2; } else { Instrucción b1; Instrucción b2; } 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 a1 y a2, de lo contrario, se ejecutarán las instrucciones b1 y b2. 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: if (Condicion 1) { Instrucción a1; Instrucción a2; } else { if (Condicion 2) { Instrucción b1; Instrucción b2; } else { Instrucción c1; Instrucción c2; } } 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: I.E.S. Jándula (Andújar)
  • 2. Libre Configuración: PHP Francisco Martínez Ruiz if (Condicion 1) { Instrucción a1; Instrucción a2; } elseif (Condicion 2) { Instrucción b1; Instrucción b2; } else { Instrucción c1; Instrucción c2; } Para las condiciones tener en cuenta que disponemos de los siguientes operadores: == para ver si una variable es igual a otra. != distinto. >= mayor o igual. > mayor. <<= menor o igual < menor La mejor forma de entender esta estructura condicional es por medio de ejemplos. El primero que nos plantearemos es generar un valor aleatorio (es decir lo elige la máquina al azar, como extraer una bolilla de un bolillero de lotería) comprendido entre 1 y 10. Luego mostraremos un mensaje si es menor o igual a 5 o si es mayor a 5. El programa completo es: <html> <head> <title>Problema</title> </head> <body> <?php $valor=rand(1,10); echo "El valor sorteado es $valor<br>"; if ($valor<=5) { echo "Es menor o igual a 5"; } else { echo "Es mayor a 5"; } ?> </body> </html> 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 I.E.S. Jándula (Andújar)
  • 3. Libre Configuración: PHP Francisco Martínez Ruiz entre llaves que se encuentra después del else. El valor aleatorio lo generamos llamando a la función rand 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<br>"; 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. La página con el programa respectivo es: <html> <head> <title>Problema</title> </head> <body> <?php $valor=rand(1,100); echo "El valor sorteado es $valor<br>"; if ($valor<=9) { echo "Tiene un dígito"; } else { if ($valor<100) { echo "Tiene 2 dígitos"; } else { echo "Tiene 3 dígitos"; } } ?> </body> </html> 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 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 I.E.S. Jándula (Andújar)
  • 4. Libre Configuración: PHP Francisco Martínez Ruiz condición del primer if se verifica falsa se ejecuta el bloque del else del primer if, la misma contiene una estructura if con sus bloques del verdadero y falso. A modo ilustrativo el mismo ejemplo resuelto con la estructura if/elseif será: <html> <head> <title>Problema</title> </head> <body> <?php $valor=rand(1,100); echo "El valor sorteado es $valor<br>"; if ($valor<=9) { echo "Tiene un dígito"; } elseif ($valor<100) { echo "Tiene 2 dígitos"; } else { echo "Tiene 3 dígitos"; } ?> </body> </html> Si uno tiene mucha práctica con otros lenguajes de programación esta estructura de if anidados le será mas adecuada, en caso que haya empezado a programar hace poco será conveniente que elija y practique la primera forma. Problema resuelto. Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:wampwww con un nombre con extensión php (si hay varios cuadros de texto grabar cada uno en un archivo distinto). luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear: http://localhost/pagina1.php (o el nombre del archivo que le dió) pagina1.php I.E.S. Jándula (Andújar)
  • 5. Libre Configuración: PHP Francisco Martínez Ruiz Problema propuesto. Generar un valor aleatorio entre 1 y 3. Luego imprimir en castellano el número (Ej. si se genera el 3 luego mostrar en la página el string "tres"). Para ver si una variable es igual a cierto valor debemos plantear una condición similar a: if ($valor==3) { //algoritmo } I.E.S. Jándula (Andújar) <html> <head> <title>Problema</title> </head> <body> <?php //Generar un valor aleatorio entre 1 y 100. Luego mostrar //si tiene 1,2 o 3 dígitos. $valor=rand(1,100); echo "El valor sorteado es $valor<br>"; if ($valor<=9) { echo "Tiene un dígito"; } else { if ($valor<100) { echo "Tiene 2 dígitos"; } else { echo "Tiene 3 dígitos"; } } ?> </body> </html>