48
Estructuras Condicionales algoritmos

Estructuras Condicionales

Embed Size (px)

Citation preview

Page 1: Estructuras Condicionales

Estructuras Condicionales

algoritmos

Page 2: Estructuras Condicionales

Estructuras Condicionales

Las estructuras condicionales en C utilizan el concepto expresiones booleanas. A continuación se muestra un sencillo ejemplo en lenguaje C del uso de estructuras condicionales

#include <stdio.h>

int main(){    int valor;    printf("Digite un valor entero:");    scanf("%d", &valor);    if (valor < 0)        printf("\nEl valor es negativo\n");    return 0;}

Este programa lee un número entero digitado por el usuario. Luego el programa prueba el valor usando una estructura  condicional simple para verificar si el número es negativo. Sí lo es, el programa imprime el mensaje: "El valor es negativo". En otro caso, el programa no hace nada. El (b < 0)es la parte de la estructura condicional que se denomina Expresión Booleana. C evalua (determina si es cierta o falsa) para decidir cuando imprimir o no imprimir el mensaje. Si la espresión booleana se evalúa a verdadero (True), entonces C ejecuta el bloque de instrucciones (dentro de llaves {}) o la instrucción que sigue a la estructura condicional. Sí la expresión booleana es falsa (False), entonces C  salta el bloque de instruciones o la instrucción que sigue a la estructura condicional. 

  A continuación se muestra un ejemplo un poco más complejo:#include <stdio.h>

int main(){    int valor;    printf("Enter a value:");    scanf("%d", &valor);    if (valor < 0)        printf("\nEl valor es negativo\n");    else           if (valor == 0)            printf("\nEl valor es cero\n");        else            printf("\nEl valor es positivo\n");    return 0;}

En este ejemplo, la estructura condicional despues de la primera aparición de else:  if(valor == 0) evalua por un valor de cero y si es cierto C imprimirá el mensaje "El valor es cero", el segundo elsecorresponde a la ocurrencia de un valor positivo, en este caso no se evaluan

Page 3: Estructuras Condicionales

más condiciones debido a que luego de haber evaluado las dos expresiones booleanas, solo queda la opción de que el valor sea positivo y por lo tanto no es necesario evaluar algo como if (valor>0).

Operadores Booleanos en lenguaje C:

Los operadores booleanos son los que debemos utilizar en lenguaje C para construir expresiones booleanas, que determinarán la ejecución de algunas partes del programa. A continuación se listan los principales operadores booleanos utilizados en el lenguaje C:

Igualdad:               ==Mayor que:            >Menor que:            <Mayor o igual que: >=Menor o igual que: <=Diferente:              !=Y lógico (AND):     &&O lógico (OR):       ||Negación (NOT):    !

Ejercicios Resueltos (Instruciones secuenciales y estructuras condicionales)

Ejercicio 1:- En un estacionamiento cobran $/. 1.500 por hora o fracción. Diseñe un algoritmo que determine cuanto debe pagar un cliente por el estacionamiento de su vehículo, conociendo el tiempo de estacionamiento en horas y minutos.

Algoritmo 1

 

Page 4: Estructuras Condicionales

INICIO    // Declaración de variables       ENTERO horas, minutos    REAL pago         // Entrada de datos    LEER horas, minutos    // Si hay alguna fracción de hora, incrementa las horas a pagar en una unidad    SI( minutos > 0 )        horas = horas + 1    // Determina el importe a pagar    pago = horas * 1.500    // Salida de resultados    IMPRIMIR pagoFIN    

Ejercicio 2:- Diseñe un algoritmo que determine si ún número es o no es, par positivo.

Algoritmo

 

 

 

 

 

   

Page 5: Estructuras Condicionales

INICIO    // Declaración de variables       REAL numero    CADENA tipoNumero     // Entrada de datos     LEER numero    // Determina si el número es o no es, par positivo       SI( (numero%2==0) && (numero>0) )        tipoNumero = "El número es par positivo"    SINO        tipoNumero = "El número no es par positivo"   // Salida de resultados   IMPRIMIR tipoNumeroFIN

Ejercicio 3:- Un supermercado ha puesto en oferta la venta al por mayor de cierto producto, ofreciendo un descuento del 15% por la compra de más de 3 docenas y 10% en caso contrario. Además por la compra de más de 3 docenas se obsequia una unidad del producto por cada docena en exceso sobre 3. Diseñe un algoritmo que determine el monto de la compra, el monto del descuento, el monto a pagar y el número de unidades de obsequio por la compra de cierta cantidad de docenas del producto. 

Algoritmo

Page 6: Estructuras Condicionales

INICIO    // Declaración de variables    REAL montopag, montocom, montodes, precio     ENTERO docenas, obsequio         // Entrada de datos     LEER docenas, precio    // Determina el monto de la compra    montocom = docenas*precio        // Determina el monto del descuento y el obsequio     SI( docenas > 3 ){        montodes = 0.15*montocom        obsequio = docenas-3    }    SINO{        montodes = 0.10*montocom        obsequio = 0    }    // Determina el monto a pagar    montopag = montocom - montodes    // Salida de resultados     IMPRIMIR montocom, montodes, montopag, obsequio FIN

Ejercicio 4:- Diseñe un algoritmo que lea un número de tres cifras y determine si es igual al revés del número.

Observación

Como el número tiene tres cifras, para que sea igual al revés, basta con que la cifra de las unidades sea igual a la cifra de las centenas. Por ejemplo: 353, 878, etc.

Algoritmo

Page 7: Estructuras Condicionales

INICIO    // Salida de resultados     ENTERO numero, unidades, centenas    CADENA tipoNumero     // Entrada de datos     LEER numero    // Si el número tiene tres cifras...     SI(numero >99 && numero < 1000 ){         // Determina la cifra de las unidades y la cifra de las centenas         unidades = numero%10        centenas = int(numero/100)        // Determina si el número es igual al inverso        SI( unidades == centenas )            tipoNumero = "El número es igual al inverso"        SINO            tipoNumero = "El número no es igual al inverso"        // Muestra el tipo de número         IMPRIMIR tipoNumero    }    SINO        IMPRIMIR "Debe ingresar un número de tres cifras"FIN

Ejercicio 5:- Una compañía dedicada al alquiler de automoviles cobra un monto fijo de $300000 para los primeros 300 km de recorrido. Para más de 300 km y hasta 1000 km, cobra un monto adicional de $ 15.000 por cada kilómetro en exceso sobre 300. Para más de 1000 km cobra un monto adicional de $ 10.000 por cada kilómetro en exceso sobre 1000. Los precios ya incluyen el

Page 8: Estructuras Condicionales

20% del impuesto general a las ventas, IVA. Diseñe un algoritmo que determine el monto a pagar por el alquiler de un vehículo y el monto incluído del impuesto.

Algoritmo

INICIO    // Declaración de variables    REAL kilomrec, montopag, montoiva, montofijo = 300000, iva = 0.20      // Entrada de datos    LEER kilomrec    // Determina el monto a pagar     SI( kilomrec <= 300 )            montopag = montofijo    SINO SI( kilomrec <= 1000 )        montopag = montofijo + 15000*(kilomrec-300)    SINO        montopag = montofijo + 15000*700 + 10000*(kilomrec-1000)    // Determina el monto del impuesto     montoiva = iva*montopag     // Salida de resultados    IMPRIMIR montopag, montoivaFIN

Page 9: Estructuras Condicionales

Ejercicio 6:- Diseñe un algoritmo que determine quienes son contemporáneos entre Juan, Mario y Pedro.

Algoritmo

INICIO    // Declaración de variables    ENTERO EdadJuan, EdadMario, EdadPedro    CADENA contemporaneos     // Entrada de datos    LEER EdadJuan, EdadMario, EdadPedro    // Determina quienes son contemporáneos     SI(EdadJuan == EdadMario && EdadMario == EdadPedro)        contemporaneos = "Los tres son contemporáneos"    SINO         SI(EdadJuan == EdadMario)            contemporaneos = "Juan y Mario son contemporáneos"        SINO             SI(EdadJuan == EdadPedro)                contemporaneos = "Juan y Pedro son contemporáneos"            SINO                 SI(EdadMario == EdadPedro)                    contemporaneos = "Mario y Pedro son contemporáneos"                SINO                    contemporaneos = "No hay contemporáneos"

Page 10: Estructuras Condicionales

    // Salida de resultados    IMPRIMIR contemporaneos FIN

Ejercicio 7:- El promedio de prácticas de un curso se calcula en base a cuatro prácticas calificadas de las cuales se elimina la nota menor y se promedian las tres notas más altas. Diseñe un algoritmo que determine la nota eliminada y el promedio de prácticas de un estudiante.

Algoritmo

Page 11: Estructuras Condicionales

INICIO    // Declaración de variables    REAL pc1, pc2, pc3, pc4, pcmenor, promedio    // Entrada de datos    LEER pc1, pc2, pc3, pc4    // Determina la nota menor    pcmenor = pc1    SI( pc2 < pcmenor )        pcmenor = pc2    SI( pc3 < pcmenor )        pcmenor = pc3    SI( pc4 < pcmenor )

Page 12: Estructuras Condicionales

        pcmenor = pc4    // Determina el promedio    promedio = (pc1 + pc2 + pc3 + pc4 - pcmenor )/3    // Salida de resultados    IMPRIMIR promedio, pcmenorFIN

Ejercicio 8:- Diseñe un algoritmo que lea tres longitudes y determine si forman o no un triángulo. Si es un triángulo determine de que tipo de triángulo se trata entre: equilátero (si tiene tres lados iguales), isósceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales). Considere que para formar un triángulo se requiere que: "el lado mayor sea menor que la suma de los otros dos lados".

Algoritmo

Page 13: Estructuras Condicionales

INICIO    // Declaración de variables    REAL L1, L2, L3, suma    CADENA tipoTriangulo

Page 14: Estructuras Condicionales

    // Entrada de datos    LEER L1, L2, L3<        // Determina el lado mayor    mayor = L1    SI( L2 > mayor )        mayor = L2    SI( L3 > mayor )        mayor = L3    // Determina la suma de los lados a excepción del lado mayor    suma = L1 + L2 + L3 - mayor     // Determina de que tipo de triángulo se trata    SI( mayor < suma ){        SI( ( L1 == L2 ) && ( L2 == L3 ) )           tipoTriangulo= "Triángulo equilátero"        SINO SI( ( L1 == L2 ) || ( L1 == L3 ) || ( L2 == L3 ) )           tipoTriangulo= "Triángulo isósceles"        SINO           tipoTriangulo= "Triángulo escaleno"    }    SINO       tipoTriangulo= "No es un triángulo"

    // Salida de resultados    IMPRIMIR tipoTrianguloFIN

Page 15: Estructuras Condicionales

Ejercicio 9:- Diseñe un algoritmo que lea un número entero de 3 cifras, y forme el mayor número posible con las cifras del número ingresado. El número formado debe tener el mismo signo que el número ingresado.

Algoritmo

Page 16: Estructuras Condicionales

INICIO    // Declaración de variables 

Page 17: Estructuras Condicionales

    ENTERO num1, num2, numaux, uni, dec, cen, menor, mayor,medio

    // Entrada de datos     LEER num1

    // Si el número tiene tres cifras...     SI( ( num1 >= 100 && num1 <= 999 ) || ( num1 >= -999 && num1 <= -100 ) ){

        // Guarda el número en una variable auxiliar para preservar el signo        numaux = num1

        // Cambia el signo de num1 en caso de ser negativo        SI( num1 < 0 )            num1 = -num1

        // Determina las cifras del número        cen = num1/100        dec = (num1%100)/10        uni = (num1%100)%10

        // Determina la cifra menor        menor = cen        SI( dec < menor )            menor = dec        SI( uni < menor )            menor = uni

        // Determina la cifra mayor        mayor = cen        SI( dec > mayor )            mayor = dec        SI( uni > mayor )            mayor = uni        // Determina la cifra del medio        medio = cen+dec+uni-mayor-menor        // Forma el nuevo número        SI( numaux > 0 )            num2 = mayor*100 + medio*10 + menor        SINO            num2 = -1*(menor*100 + medio*10 + mayor)        // Imprime el nuevo número        IMPRIMIR num2    }    SINO        IMPRIMIR "El número no tiene tres cifras"FIN

Page 18: Estructuras Condicionales

ALGORITMOS

Page 19: Estructuras Condicionales

 

 Ejercicios Algoritmos condicionales N°1

Para cada punto realizar un algoritmo que permita: 1.Ingresar dos números entero y luego determinar y mostrar:

a.Si el primero es divisible por el segundob.Si el segundo es divisible por el primeroc.Cuál de los dos es mayor; en caso que sean iguales, mostrar mensaje adecuadod.Si ambos son impares

1.Un trabajador necesita calcular su salario semanal, el cual se obtiene de la sig. manera:

-Si trabaja 40 horas o menos se le paga $3100 por hora-Si trabaja más de 40 horas se le paga $3100 por cada una de las primeras 40 horas y $5100 por cada horaextra.

2.Leer un valor entero. Suponer que el número es un día de la semana y que 1 corresponde a lunes, 2 a martes, 3 amiércoles y así sucesivamente. Mostrar el nombre del día. Si el número es menor a cero o superior a 7, mostrarmensaje de error

3.En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $100000 ¿Cuál será lacantidad que pagara una persona por su compra?

4.Ingresar año como entero. Mostrar si el año es bisiesto. Un año es bisiesto si el año es divisible por 4 y no esdivisible por 100 o es divisible por 400

5.Ingresar tres números y diga si uno de ellos es la suma de los otros dos

Page 20: Estructuras Condicionales

6.Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aeróbico; laformula que se aplica cuando el sexo es femenino es: num. pulsaciones = (220 - edad)/10y si el sexo es masculino: num. pulsaciones = (210 - edad)/10

7.Ingresar un número y mostrar si es un numero entero o real

8.Ingresar el mes y el año con números enteros y luego mostrar el mes en palabras y la cantidad de días de ese mes.Ejemplo si se ingresa para el mes 3 y para el año 2011, mostrará: marzo tiene 31 días

9.Calcular el costo de envío de un paquete, según el siguiente cuadro:

Tipo de paquete Prioridad A Prioridad b Prioridad Ccarta 120 pesos/gramos 101

pesos/gramos85 pesos/gramos

caja 4575 pesos/kilo 3550 pesos/kilo 1775 pesos/kilo

10.Un estacionamiento público cobra una tarifa mínima de $1500 pesos por estacionarse por dos horas o menos. Luego cobra $350 pesos adicionales por cada ½ hora o fracción a partir de dos horas. La tarifa máxima por período de 24 horas es de $36000 pesos. Suponga que ningún automóvil se queda más de 24 horas seguidas. Escriba un algoritmo que calcule el valor a pagar por estacionamiento de tres clientes que dejaron sus vehículos y el total recaudado Ejemplo: Si el vehículo 1 estuvo dos horas, el vehículo 2 estuvo 3.7 horas y el último estuvo 5.5 horas.Mostrará:Vehículo Horas Valor a pagar 1 2.0 15002 3.7 29003 5.5 3950

Total recaudado $8350

Page 21: Estructuras Condicionales

Algoritmos ejercicios

Page 22: Estructuras Condicionales

Universidad Autónoma de Baja CaliforniaFacultad de Ingeniería

Estructuras Selectivas

Elaborar los siguientes ejercicios utilizando switch case

1.- Elaborar un programa que permita introducir dos números por el teclado y mediante un menú que calcule su suma, su producto, su resta, su división y módulo.

2.- Introducir por el teclado V o H e imprimir Varón o Hembra.

3.- Elaborar el ejercicio #12 de if utilizando switch case.

4.- Elaborar un programa que realice la opcion seleccionada de acuerdo a lo siguiente:

a.- Area de triángulo

b.- Area de Cuadrado

c.- Area de Circulo

d.- Area de Rectángulo

5.- Elaborar un programa que lea una letra y determine si es vocal, semivocal o consonante.

6.- Elaborar un programa que lea una letra mayuscula e imprima la letra y si ésta es recta (A,E,F,H,I,K,L,M,N,T,V,W,X,Y,Z), es curva (C,O,S,U,Q) o curva y recta (B,D,G,J,P,R).

7.- En el juego para dos personas llamado "ROCA, PAPEL Y TIJERAS" cada jugador escoge ser "T", "R" o "P" respectivamente. El jugador se determina así: roca rompe tijeras, las tijeras cortan el papel, el papel cubre la roca, el juego es un empate si ambos jugadores eligen la misma opcion. Elaborar un programa para que determine cual jugador gana, la salida debe mostrarse de la siguiente forma: "T-R Roca rompe tijeras gana el jugador 2".

Page 23: Estructuras Condicionales

8.-Una empresa desea calcular la productividad de un mes dado, esta se calcula como sigue:

Enero, Febrero y Marzo tienen factor 15

Abril, Mayo y Junio tienen factor 17

Septiembre, Octubre y Noviembre tienen factor 20

Diciembre tiene factor 21

Se pide elaborar un programa que permita solicitar al usuario un mes cualquiera y se calcule la productividad si se sabe que ésta es igual al número de artículos producidos en el mes multiplicado por el factor del mes que corresponda al mes proporcionado. Se conoce la cantidad de artículos producidos y el mes.

9.- Se conocen las calificaciones (A,B,C,D,E) y el número de creditos que corresponde a cada una de los 2 cursos que toma el alumno Juan Pérez. Elaborar un programa que calcule el promedio de las calificaciones de este alumno donde A vale 4 ppuntos, B = 3, C = 2, D = 1 y E = 0. Así la contribucion de una A en un curso de 3 créditos es 4*3 =12, mientras que la contribución de una C en un curso de 4 créditos es 2*4=8.

10.- Una empresa clasifica a sus empleados en dos grupos de empleados, los del grupo 1 son aquellos que laboran dentro de la misma y desea darles un aumento de sueldo siguiendo el siguiente criterio: si el empleado trabajó mas de 40 horas, su sueldo será incrementado en $50.00, si el empleado es mujer o es mayor de 25 años y tiene en la empresa mas de 30 años su sueldo se incrementará en $800.00 y si no cumple con estas condiciones solo se incrementa en $100.00 (esto ultimo es independiente de las horas trabajadas), Para los empleados del grupo 2 (los que aspiran a ingresar a la empresa)si es mayor de 18 años y tiene mas de 85 puntos en una prueba presentada entonces será contratado. Elaborar un programa para determinar el sueldo en el caso de los empleados del grupo 1 y si será o no contratado en el caso de los del grupo 2.

Page 24: Estructuras Condicionales

For- while-for while  Las estructuras repetitivas son similares al lenguaje C.Estructura for:for([Inicialización de la variable];[Condición];[Incremento o decremento de la variable]){[Instrucciones];}

El primer ejemplo que haremos es mostrar en la página los números del 1 al 100:

html><head><title>Problema</title></head><body><?phpfor($f=1;$f<=100;$f++){ echo $f; echo "<br>";}?></body></html>

Quien no ha visto la estructura for en otro lenguaje pasamos a explicarla:for($f=1;$f<=100;$f++){ echo $f; echo "<br>";}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 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 falsa.

La segunda estructura repetitiva es:while (condición){[Instrucciones];}

Page 25: Estructuras Condicionales

Esta estructura está en casi todos los lenguajes. El bloque se repite mientras la condición del while sea verdadera.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 un ejemplo: Generar un valor aleatorio entre 1 y 100, luego imprimir en la página desde 1 hasta el valor generado (de uno en uno):

<html><head><title>Problema</title></head><body><?php$valor=rand(1,100);$inicio=1;while($inicio<=$valor){ echo $inicio; echo "<br>"; $inicio++;}?></body></html>

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 $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.

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.do {[Instrucciones];} while (condición);

Queda como tarea intentar hacer una página empleando esta estructura. Tener en cuenta que al final de la línea del do/while SI LLEVA punto y coma.

 

Page 26: Estructuras Condicionales

Sentencias

Sentencias de control   

Page 27: Estructuras Condicionales

 

Las sentencias de control permiten ejecutar bloque de códigos dependiendo de

unas condiciones. Para PHP el 0 es equivalente a Falso y cualquier otro número

es Verdadero.

 

    if...else 

La sentencia if...else permite ejecutar un bloque de instrucciones si la condición

es Verdadera y otro bloque de instrucciones si ésta es Falsa.

 

Es importante tener en cuenta que la condición que evaluemos ha de estar

encerrada entre paréntesis (esto es aplicable a todas la sentencias de control).

 

if (condición) {

    Este bloque se ejecuta si la condición es VERDADERA

} else {

    Este boque se ejecuta si la condición es FALSA

}

 

Existe una forma sencilla de usar la sentencia IF cuando no tenemos que usar el

else y solo tenemos que ejecutar una línea de código.

if ($a > 4) echo "$a es mayor que 4";

 

Ahora realizaremos un ejemplo con mas con IF el cual consistirá en un pequeño

juego de adivinanzas el cual necesitará de dos archivos adivina.htm y adivina.php,

en este ejemplo se utilizará un formulario, lo cual aun no hemos visto, se usa solo

para muestra, por el momento no es muy importante conocer esa teoría sino un

poco mas adelante.

 

adivina.htm

<HTML>

<BODY>

<FORM METHOD=GET ACTION="adivina.php">

En que numero del 1 al 10 estoy pensando?

<INPUT NAME="adivina" TYPE="Text">

<BR>

Page 28: Estructuras Condicionales

<BR>

<INPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

 

adivina.php

<HTML>

<HEAD></HEAD>

<BODY>

<?php

srand((double)microtime()*1000000);

$Numero = rand(1,10);

if ($adivina > $Numero) {

echo "Fue muy grande"; echo "<BR>Yo pensé el número $Numero. Lo siento no

";

}

if ($adivina < $Numero) {

echo "Fue muy pequeño"; echo "<BR>Yo pensé el número $Numero. Lo siento

no ";

}

?>

GANASTE

</BODY>

</HTML>

 

    if...elseif...else 

La sentencia IF...ELSEIF...ELSE permite ejecutar varias condiciones en cascada.

Para este caso veremos un ejemplo, en el que utilizaremos los operadores

lógicos. 

 

<?php

if ($nombre == ""){

    echo "Tú no tienes nombre";

} elseif (($nombre=="eva") OR ($nombre=="Eva")) {

Page 29: Estructuras Condicionales

     echo "Tu nombre es EVA";

} else {

    echo "Tu nombre es " . $nombre;

}

 

    switch...case...default 

Una alternativa a if...elseif...else, es  la sentencia switch, la cuál evalúa y compara

cada expresión de la sentencia case con la expresión que evaluamos, si llegamos

al final de la lista de case y encuentra una condición Verdadera , ejecuta el código

de bloque que haya en default. Si encontramos una condición verdadera debemos

ejecutar un break para que la sentencia switch no siga buscando en la lista de

case. Veamos un ejemplo.

<?php

switch ($dia) {

case "Lunes":

echo "Hoy es Lunes";

break;

case "Martes":

echo "Hoy es Martes";

break;

case "Miercoles":

echo "Hoy es Miercoles";

break;

case "Jueves":

echo "Hoy es Jueves";

break;

case "Viernes":

echo "Hoy es Viernes";

break;

case "Sábado":

echo "Hoy es Sábado";

break;

case "Domingo":

echo "Hoy es Domingo";

break;

Page 30: Estructuras Condicionales

default:

echo "Esa cadena no corresponde a ningún día de la semana";

}

?>

 

    while 

La sentencia while ejecuta un bloque de código mientras se cumpla una

determinada condición.

 

<?php

$num = 1;

while ($num < 5) {

echo $num;

$num++

}

?>

 

Podemos romper un ciclo while utilizando la sentencia break.

 

<?php

$num = 1;

while ($num < 5) {

echo $num;

if ($num == 3){

echo "Aquí nos salimos \n";

break

}

$num++

}

?>

 

    do...while 

Page 31: Estructuras Condicionales

Esta sentencia es similar a while, salvo que con esta sentencia primero

ejecutamos el bloque de código y después se evalúa la condición, por lo que el

bloque de código se ejecuta siempre al menos una vez.

<?php

$num = 1;

do {

echo $num;

if ($num == 3){

echo "Aquí nos salimos \n";

break

}

$num++

} while ($num < 5);

?>

 

    for 

El ciclo for no es estrictamente necesario, cualquier ciclo for puede ser sustituido

fácilmente por otro while. Sin embargo, el ciclo for resulta muy útil cuando

debemos ejecutar un bloque de código a condición de que una variable se

encuentre entre un valor mínimo y otro máximo. El ciclo for también se puede

romper mediante la sentenciabreak.

 

<?php

for ($num = 1; Snum <=5; $num++){

echo $num;

if ($num == 3){

echo "Aquí nos salimos \n";

break

}

}

?>

 

A continuación muestro las 4 formas en que se puede usar el ciclo for.

 

/* ejemplo 1 */

Page 32: Estructuras Condicionales

 for ($i = 1; $i <= 10; $i++) {

     print $i;

 }

 /* ejemplo 2 */

 for ($i = 1;;$i++) {

     if ($i > 10) {

         break;

     }

}

     print $i;

 }

/* ejemplo 3 */

 $i = 1;

 for (;;) {

     if ($i > 10) {

         break;

     }

     print $i;

     $i++;

 }

 /* ejemplo 4 */

 for ($i = 1; $i <= 10; print $i, $i++) ;

 Hay que realizar los siguientes programas con  ciclos.

 

· Imprima los números del 1 al 100

 

 for ($i = 1; $i <= 100; print $i."<br>", $i++) ;

 

· Imprima los números pares del 1 al 100

 

for ($i = 2; $i <= 100; print $i."<br>", $i=$i+2) ;

 

· Un programa que le des un número y obtenga su tabla de multiplicar (tablas.php)

 

Page 33: Estructuras Condicionales

tablas.php

<?php

   $numero=4;

   for ($i=1; $i<=10; $i++)

   {

       echo $i." x ".$numero." = ".$i*$numero."<br>";

   }

?>

Page 34: Estructuras Condicionales

Conceptos php9. Ejemplos ciclos for y ciclo while

EJEMPLO CICLO WHILE 1

<html>

<body>

<?

$nm=$_POST['n'];

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

$nm=$_POST['n'];    recibe el número de  ocasiones que se quiere ver la frase.

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

En el ejemplo, primero definimos la variable $m la cual representa el numero de ocasiones que se va  a ejecutar el ciclo  luego en el ciclo definimos a   $i asignándole el valor de $m, luego iniciamos el ciclo diciendo que mientras $i contenga un valor menor o igual a $m que ejecute lo que está entre llaves {}, ósea desplegar un mensaje que diga VIVA LA VIDA.

EJEMPLO CICLO WHILE 2

<html><body><?$nm=$_POST['n'];echo("los numeros de 1 hasta 50 son: ");echo("<br>");   

Page 35: Estructuras Condicionales

  $i = 1; while($i <= 50) {  echo 'Número ' . $i . '<br>';  ++$i;}?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En  este ejemplo se muestran los números de 1 a 50   para ello se definió la variable $I con el valor de 1,  luego definimos el ciclo diciendo que mientras $i contenga un valor menor o igual a 50 que ejecute lo que está entre llaves {}, ósea desplegar los números de 1 a 50.

EJEMPLO CICLO FOR 1

<html><body><?$nm=$_POST['n'];echo("los numeros pares hasta 100 son: ");echo("<br>"); for($i=2;$i<=100;$i+= 2)      {  echo("$i ");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En este ejemplo el for le asigna un valor de 2 a $i (primera instrucción) y condiciona que, luego de incrementar en dos el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a 100 (segunda instrucción). 

EJEMPLO CICLO FOR 2

<html><body><?$nmr=$_POST['n1'];$in=$_POST['e'];

Page 36: Estructuras Condicionales

$s=$_POST['out'];    for ($i= $in; $i <= $s; $i++)      {  $r=$nmr+$i;echo(" $nmr + $i = $r");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

El valor de laS variable $nmr, $in y $s se obtienen desde el formulario.

En este ejemplo el for le asigna un valor de $in a $i (primera instrucción) y condiciona que, luego de incrementar en uno el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a $s (segunda instrucción).   Entonces la variable  $nmr  se suma  con la variable $i para obtener el valor de la variable $r .

EJEMPLO CICLO WHILE 1

<html>

<body>

<?

$nm=$_POST['n'];

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

$nm=$_POST['n'];    recibe el número de  ocasiones que se quiere ver la frase.

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

Page 37: Estructuras Condicionales

En el ejemplo, primero definimos la variable $m la cual representa el numero de ocasiones que se va  a ejecutar el ciclo  luego en el ciclo definimos a   $i asignándole el valor de $m, luego iniciamos el ciclo diciendo que mientras $i contenga un valor menor o igual a $m que ejecute lo que está entre llaves {}, ósea desplegar un mensaje que diga VIVA LA VIDA.

EJEMPLO CICLO WHILE 2

<html><body><?$nm=$_POST['n'];echo("los numeros de 1 hasta 50 son: ");echo("<br>");     $i = 1; while($i <= 50) {  echo 'Número ' . $i . '<br>';  ++$i;}?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En  este ejemplo se muestran los números de 1 a 50   para ello se definió la variable $I con el valor de 1,  luego definimos el ciclo diciendo que mientras $i contenga un valor menor o igual a 50 que ejecute lo que está entre llaves {}, ósea desplegar los números de 1 a 50.

EJEMPLO CICLO FOR 1

<html><body><?$nm=$_POST['n'];echo("los numeros pares hasta 100 son: ");echo("<br>"); for($i=2;$i<=100;$i+= 2)      {  echo("$i ");echo("<br>");}   ?></body></html>

Page 38: Estructuras Condicionales

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En este ejemplo el for le asigna un valor de 2 a $i (primera instrucción) y condiciona que, luego de incrementar en dos el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a 100 (segunda instrucción). 

EJEMPLO CICLO FOR 2

<html><body><?$nmr=$_POST['n1'];$in=$_POST['e'];$s=$_POST['out'];    for ($i= $in; $i <= $s; $i++)      {  $r=$nmr+$i;echo(" $nmr + $i = $r");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

El valor de laS variable $nmr, $in y $s se obtienen desde el formulario.

En este ejemplo el for le asigna un valor de $in a $i (primera instrucción) y condiciona que, luego de incrementar en uno el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a $s (segunda instrucción).   Entonces la variable  $nmr  se suma  con la variable $i para obtener el valor de la variable $r .

EJEMPLO CICLO WHILE 1

<html>

<body>

<?

$nm=$_POST['n'];

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

Page 39: Estructuras Condicionales

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

$nm=$_POST['n'];    recibe el número de  ocasiones que se quiere ver la frase.

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

En el ejemplo, primero definimos la variable $m la cual representa el numero de ocasiones que se va  a ejecutar el ciclo  luego en el ciclo definimos a   $i asignándole el valor de $m, luego iniciamos el ciclo diciendo que mientras $i contenga un valor menor o igual a $m que ejecute lo que está entre llaves {}, ósea desplegar un mensaje que diga VIVA LA VIDA.

EJEMPLO CICLO WHILE 2

<html><body><?$nm=$_POST['n'];echo("los numeros de 1 hasta 50 son: ");echo("<br>");     $i = 1; while($i <= 50) {  echo 'Número ' . $i . '<br>';  ++$i;}?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En  este ejemplo se muestran los números de 1 a 50   para ello se definió la variable $I con el valor de 1,  luego definimos el ciclo diciendo que mientras $i contenga un valor menor o igual a 50 que ejecute lo que está entre llaves {}, ósea desplegar los números de 1 a 50.

EJEMPLO CICLO FOR 1

<html><body><?$nm=$_POST['n'];echo("los numeros pares hasta 100 son: ");

Page 40: Estructuras Condicionales

echo("<br>"); for($i=2;$i<=100;$i+= 2)      {  echo("$i ");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En este ejemplo el for le asigna un valor de 2 a $i (primera instrucción) y condiciona que, luego de incrementar en dos el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a 100 (segunda instrucción). 

EJEMPLO CICLO FOR 2

<html><body><?$nmr=$_POST['n1'];$in=$_POST['e'];$s=$_POST['out'];    for ($i= $in; $i <= $s; $i++)      {  $r=$nmr+$i;echo(" $nmr + $i = $r");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

El valor de laS variable $nmr, $in y $s se obtienen desde el formulario.

En este ejemplo el for le asigna un valor de $in a $i (primera instrucción) y condiciona que, luego de incrementar en uno el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a $s (segunda instrucción).   Entonces la variable  $nmr  se suma  con la variable $i para obtener el valor de la variable $r .

EJEMPLO CICLO WHILE 1

<html>

<body>

Page 41: Estructuras Condicionales

<?

$nm=$_POST['n'];

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

$nm=$_POST['n'];    recibe el número de  ocasiones que se quiere ver la frase.

while($i <=$m) {

  echo(" VIVA LA VIDA");

  echo("<br>");

  ++$i;

}

En el ejemplo, primero definimos la variable $m la cual representa el numero de ocasiones que se va  a ejecutar el ciclo  luego en el ciclo definimos a   $i asignándole el valor de $m, luego iniciamos el ciclo diciendo que mientras $i contenga un valor menor o igual a $m que ejecute lo que está entre llaves {}, ósea desplegar un mensaje que diga VIVA LA VIDA.

EJEMPLO CICLO WHILE 2

<html><body><?$nm=$_POST['n'];echo("los numeros de 1 hasta 50 son: ");echo("<br>");     $i = 1; while($i <= 50) {  echo 'Número ' . $i . '<br>';  ++$i;}?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

Page 42: Estructuras Condicionales

En  este ejemplo se muestran los números de 1 a 50   para ello se definió la variable $I con el valor de 1,  luego definimos el ciclo diciendo que mientras $i contenga un valor menor o igual a 50 que ejecute lo que está entre llaves {}, ósea desplegar los números de 1 a 50.

EJEMPLO CICLO FOR 1

<html><body><?$nm=$_POST['n'];echo("los numeros pares hasta 100 son: ");echo("<br>"); for($i=2;$i<=100;$i+= 2)      {  echo("$i ");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

En este ejemplo el for le asigna un valor de 2 a $i (primera instrucción) y condiciona que, luego de incrementar en dos el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a 100 (segunda instrucción). 

EJEMPLO CICLO FOR 2

<html><body><?$nmr=$_POST['n1'];$in=$_POST['e'];$s=$_POST['out'];    for ($i= $in; $i <= $s; $i++)      {  $r=$nmr+$i;echo(" $nmr + $i = $r");echo("<br>");}   ?></body></html>

<??>Señala que es un formato php. Algunas ocasiones  se  debe cambiar por  <script language = php></script>

Page 43: Estructuras Condicionales

El valor de laS variable $nmr, $in y $s se obtienen desde el formulario.

En este ejemplo el for le asigna un valor de $in a $i (primera instrucción) y condiciona que, luego de incrementar en uno el valor de $i (tercera instrucción), se inicie un nuevo ciclo sí y sólo sí $i tiene un valor menor o igual a $s (segunda instrucción).   Entonces la variable  $nmr  se suma  con la variable $i para obtener el valor de la variable $r .