Está en la página 1de 47

Estructuras

Condicionales
algoritmos

Estructuras Condicionales
Las estructuras condicionales en C utilizan el concepto expresiones booleanas. A continuacin
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 nmero entero digitado por el usuario. Luego el programa prueba el
valor usando una estructura condicional simple para verificar si el nmero 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 Expresin Booleana.
C evalua (determina si es cierta o falsa) para decidir cuando imprimir o no imprimir el mensaje.
Si la espresin booleana se evala a verdadero (True), entonces C ejecuta el bloque de
instrucciones (dentro de llaves {}) o la instruccin que sigue a la estructura condicional. S la
expresin booleana es falsa (False), entonces C salta el bloque de instruciones o la
instruccin que sigue a la estructura condicional.
A continuacin se muestra un ejemplo un poco ms 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 aparicin 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

ms condiciones debido a que luego de haber evaluado las dos expresiones booleanas, solo
queda la opcin 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 determinarn la ejecucin de algunas partes del programa. A
continuacin 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 lgico (AND): &&
O lgico (OR):
||
Negacin (NOT): !

Ejercicios Resueltos (Instruciones secuenciales y estructuras condicionales)


Ejercicio 1:- En un estacionamiento cobran $/. 1.500 por hora o fraccin. Disee un algoritmo que
determine cuanto debe pagar un cliente por el estacionamiento de su vehculo, conociendo el
tiempo de estacionamiento en horas y minutos.
Algoritmo 1

INICIO
// Declaracin de variables
ENTERO horas, minutos
REAL pago
// Entrada de datos
LEER horas, minutos
// Si hay alguna fraccin 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 pago
FIN

Ejercicio 2:- Disee un algoritmo que determine si n nmero es o no es, par positivo.

Algoritmo

INICIO
// Declaracin de variables
REAL numero
CADENA tipoNumero
// Entrada de datos
LEER numero
// Determina si el nmero es o no es, par positivo
SI( (numero%2==0) && (numero>0) )
tipoNumero = "El nmero es par positivo"
SINO
tipoNumero = "El nmero no es par positivo"
// Salida de resultados
IMPRIMIR tipoNumero
FIN

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 ms de 3 docenas y 10% en caso contrario.
Adems por la compra de ms de 3 docenas se obsequia una unidad del producto por cada
docena en exceso sobre 3. Disee un algoritmo que determine el monto de la compra, el monto del
descuento, el monto a pagar y el nmero de unidades de obsequio por la compra de cierta cantidad
de docenas del producto.
Algoritmo

INICIO
// Declaracin 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:- Disee un algoritmo que lea un nmero de tres cifras y determine si es igual al revs
del nmero.
Observacin

Como el nmero tiene tres cifras, para que sea igual al revs, basta con que la
cifra de las unidades sea igual a la cifra de las centenas. Por ejemplo: 353, 878,
etc.
Algoritmo

INICIO
// Salida de resultados
ENTERO numero, unidades, centenas
CADENA tipoNumero
// Entrada de datos
LEER numero
// Si el nmero 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 nmero es igual al inverso
SI( unidades == centenas )
tipoNumero = "El nmero es igual al inverso"
SINO
tipoNumero = "El nmero no es igual al inverso"
// Muestra el tipo de nmero
IMPRIMIR tipoNumero
}
SINO

IMPRIMIR "Debe ingresar un nmero de tres cifras"


FIN
Ejercicio 5:- Una compaa dedicada al alquiler de automoviles cobra un monto fijo de $300000
para los primeros 300 km de recorrido. Para ms de 300 km y hasta 1000 km, cobra un monto
adicional de $ 15.000 por cada kilmetro en exceso sobre 300. Para ms de 1000 km cobra un
monto adicional de $ 10.000 por cada kilmetro en exceso sobre 1000. Los precios ya incluyen el
20% del impuesto general a las ventas, IVA. Disee un algoritmo que determine el monto a pagar
por el alquiler de un vehculo y el monto includo del impuesto.
Algoritmo

INICIO
// Declaracin 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)

FIN

// Determina el monto del impuesto


montoiva = iva*montopag
// Salida de resultados
IMPRIMIR montopag, montoiva

Ejercicio 6:- Disee un algoritmo que determine quienes son contemporneos entre Juan, Mario y
Pedro.
Algoritmo

INICIO
// Declaracin de variables
ENTERO EdadJuan, EdadMario, EdadPedro
CADENA contemporaneos
// Entrada de datos
LEER EdadJuan, EdadMario, EdadPedro
// Determina quienes son contemporneos
SI(EdadJuan == EdadMario && EdadMario == EdadPedro)
contemporaneos = "Los tres son contemporneos"
SINO
SI(EdadJuan == EdadMario)
contemporaneos = "Juan y Mario son contemporneos"
SINO
SI(EdadJuan == EdadPedro)

contemporaneos = "Juan y Pedro son contemporneos"


SINO

FIN

SI(EdadMario == EdadPedro)
contemporaneos = "Mario y Pedro son contemporneos"
SINO
contemporaneos = "No hay contemporneos"
// Salida de resultados
IMPRIMIR contemporaneos

Ejercicio 7:- El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas
de las cuales se elimina la nota menor y se promedian las tres notas ms altas. Disee un
algoritmo que determine la nota eliminada y el promedio de prcticas de un estudiante.
Algoritmo

INICIO
// Declaracin 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 )

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

Ejercicio 8:- Disee un algoritmo que lea tres longitudes y determine si forman o no un tringulo.
Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados
iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales).
Considere que para formar un tringulo se requiere que: "el lado mayor sea menor que la suma de
los otros dos lados".
Algoritmo

INICIO
// Declaracin de variables
REAL L1, L2, L3, suma
CADENA tipoTriangulo

// 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 excepcin del lado mayor
suma = L1 + L2 + L3 - mayor
// Determina de que tipo de tringulo se trata
SI( mayor < suma ){
SI( ( L1 == L2 ) && ( L2 == L3 ) )
tipoTriangulo= "Tringulo equiltero"
SINO SI( ( L1 == L2 ) || ( L1 == L3 ) || ( L2 == L3 ) )
tipoTriangulo= "Tringulo issceles"
SINO
tipoTriangulo= "Tringulo escaleno"
}
SINO
tipoTriangulo= "No es un tringulo"
// Salida de resultados
IMPRIMIR tipoTriangulo
FIN

Ejercicio 9:- Disee un algoritmo que lea un nmero entero de 3 cifras, y forme el mayor nmero
posible con las cifras del nmero ingresado. El nmero formado debe tener el mismo signo que el
nmero ingresado.
Algoritmo

INICIO
// Declaracin de variables

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


// Entrada de datos
LEER num1
// Si el nmero tiene tres cifras...
SI( ( num1 >= 100 && num1 <= 999 ) || ( num1 >= -999 && num1 <=
-100 ) ){
// Guarda el nmero 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 nmero
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 nmero
SI( numaux > 0 )
num2 = mayor*100 + medio*10 + menor
SINO
num2 = -1*(menor*100 + medio*10 + mayor)
// Imprime el nuevo nmero
IMPRIMIR num2

}
SINO

IMPRIMIR "El nmero no tiene tres cifras"

FIN

ALGORITMO
S

Ejercicios Algoritmos condicionales N1


Para cada punto realizar un algoritmo que permita:
1.Ingresar dos nmeros entero y luego determinar y mostrar:
a.Si el primero es divisible por el segundo
b.Si el segundo es divisible por el primero
c.Cul de los dos es mayor; en caso que sean iguales, mostrar mensaje adecuado
d.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 ms 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 nmero es un da de la semana y que 1
corresponde a lunes, 2 a martes, 3 amircoles y as sucesivamente. Mostrar el
nombre del da. Si el nmero es menor a cero o superior a 7, mostrarmensaje de
error
3.En un almacn se hace un 20% de descuento a los clientes cuya compra supere
los $100000 Cul ser lacantidad que pagara una persona por su compra?
4.Ingresar ao como entero. Mostrar si el ao es bisiesto. Un ao es bisiesto si el
ao es divisible por 4 y no esdivisible por 100 o es divisible por 400
5.Ingresar tres nmeros y diga si uno de ellos es la suma de los otros dos

6.Calcular el nmero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aerbico; 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 nmero y mostrar si es un numero entero o real
8.Ingresar el mes y el ao con nmeros enteros y luego mostrar el mes en
palabras y la cantidad de das de ese mes.Ejemplo si se ingresa para el mes 3 y
para el ao 2011, mostrar: marzo tiene 31 das
9.Calcular el costo de envo de un paquete, segn el siguiente cuadro:
Tipo de paquete
carta

Prioridad A
120 pesos/gramos

caja

4575 pesos/kilo

Prioridad b
101
pesos/gramos
3550 pesos/kilo

Prioridad C
85 pesos/gramos
1775 pesos/kilo

10.Un estacionamiento pblico cobra una tarifa mnima de $1500 pesos por
estacionarse por dos horas o menos. Luego cobra $350 pesos adicionales por
cada hora o fraccin a partir de dos horas. La tarifa mxima por perodo de 24
horas es de $36000 pesos.
Suponga que ningn automvil se queda ms de 24 horas seguidas.
Escriba un algoritmo que calcule el valor a pagar por estacionamiento de tres
clientes que dejaron sus vehculos y el total recaudado
Ejemplo: Si el vehculo 1 estuvo dos horas, el vehculo 2 estuvo 3.7 horas y
el ltimo estuvo 5.5 horas.
Mostrar:
Vehculo
Horas
Valor a pagar
1
2.0
1500
2
3.7
2900
3
5.5
3950
Total recaudado $8350

Algoritmos ejercicios

Universidad Autnoma de Baja California


Facultad de Ingeniera
Estructuras Selectivas
Elaborar los siguientes ejercicios utilizando switch case
1.- Elaborar un programa que permita introducir dos nmeros por el teclado y
mediante un men que calcule su suma, su producto, su resta, su divisin y
mdulo.
2.- Introducir por el teclado V o H e imprimir Varn 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 tringulo
b.- Area de Cuadrado
c.- Area de Circulo
d.- Area de Rectngulo
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".

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 nmero de artculos
producidos en el mes multiplicado por el factor del mes que corresponda al mes
proporcionado. Se conoce la cantidad de artculos producidos y el mes.
9.- Se conocen las calificaciones (A,B,C,D,E) y el nmero de creditos que
corresponde a cada una de los 2 cursos que toma el alumno Juan Prez. 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 crditos es 4*3 =12, mientras que la contribucin de una C en un
curso de 4 crditos 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 aos y tiene en la empresa mas de 30 aos 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 aos 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.

For- while-for while


Las estructuras repetitivas son similares al lenguaje C.
Estructura for:
for([Inicializacin de la variable];[Condicin];[Incremento o decremento de la variable])
{
[Instrucciones];
}
El primer ejemplo que haremos es mostrar en la pgina los nmeros del 1 al 100:
html>
<head>
<title>Problema</title>
</head>
<body>
<?php
for($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 inicializacin 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 condicin. 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 (tambin podemos
poner en lugar de $f++ la asignacin $f=$f+1).
Luego del incremento de la variable se ejecuta nuevamente la condicin del for (segundo
argumento), de validarse nuevamente verdadero pasa a ejecutar el bloque repetitivo.
Este ciclo se repite hasta que la condicin del for se verifica falsa.
La segunda estructura repetitiva es:
while (condicin)
{
[Instrucciones];
}

Esta estructura est en casi todos los lenguajes. El bloque se repite mientras la condicin del
while sea verdadera.
La condicin 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 pgina 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 instruccin inmediatamente siguiente a
la llave de cerrado.
Es importante notar que luego de la condicin del while NO disponemos PUNTO y COMA.
Por ltimo tenemos en el lenguaje una estructura repetitiva similar al while llamada do/while,
donde la condicin se verifica luego de ejecutarse el bloque repetitivo.
do
{
[Instrucciones];
} while (condicin);
Queda como tarea intentar hacer una pgina empleando esta estructura. Tener en cuenta que al
final de la lnea del do/while SI LLEVA punto y coma.

Sentencias

Sentencias de control

Las sentencias de control permiten ejecutar bloque de cdigos dependiendo de


unas condiciones. Para PHP el 0 es equivalente a Falso y cualquier otro nmero
es Verdadero.

if...else

La sentencia if...else permite ejecutar un bloque de instrucciones si la condicin


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

Es importante tener en cuenta que la condicin que evaluemos ha de estar


encerrada entre parntesis (esto es aplicable a todas la sentencias de control).

if (condicin) {
Este bloque se ejecuta si la condicin es VERDADERA
} else {
Este boque se ejecuta si la condicin es FALSA
}

Existe una forma sencilla de usar la sentencia IF cuando no tenemos que usar el
else y solo tenemos que ejecutar una lnea de cdigo.
if ($a > 4) echo "$a es mayor que 4";

Ahora realizaremos un ejemplo con mas con IF el cual consistir en un pequeo


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 teora 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>
<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 nmero $Numero. Lo siento no
";
}
if ($adivina < $Numero) {
echo "Fue muy pequeo"; echo "<BR>Yo pens el nmero $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
lgicos.

<?php
if ($nombre == ""){
echo "T no tienes nombre";
} elseif (($nombre=="eva") OR ($nombre=="Eva")) {
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 cul evala y compara


cada expresin de la sentencia case con la expresin que evaluamos, si llegamos
al final de la lista de case y encuentra una condicin Verdadera , ejecuta el cdigo
de bloque que haya en default. Si encontramos una condicin 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 "Sbado":
echo "Hoy es Sbado";
break;
case "Domingo":
echo "Hoy es Domingo";

break;
default:
echo "Esa cadena no corresponde a ningn da de la semana";
}
?>

while

La sentencia while ejecuta un bloque de cdigo mientras se cumpla una


determinada condicin.

<?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

Esta sentencia es similar a while, salvo que con esta sentencia primero
ejecutamos el bloque de cdigo y despus se evala la condicin, por lo que el
bloque de cdigo 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
fcilmente por otro while. Sin embargo, el ciclo for resulta muy til cuando
debemos ejecutar un bloque de cdigo a condicin de que una variable se
encuentre entre un valor mnimo y otro mximo. El ciclo for tambin 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 continuacin muestro las 4 formas en que se puede usar el ciclo for.

/* ejemplo 1 */
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 nmeros del 1 al 100

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

Imprima los nmeros pares del 1 al 100

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

Un programa que le des un nmero y obtenga su tabla de multiplicar (tablas.php)

tablas.php
<?php
$numero=4;
for ($i=1; $i<=10; $i++)
{
echo $i." x ".$numero." = ".$i*$numero."<br>";
}
?>

Conceptos php
9. 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;
}
<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
$nm=$_POST['n'];

recibe el nmero 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 asignndole 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 'Nmero ' . $i . '<br>';
++$i;
}
?>
</body>
</html>

<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
En este ejemplo se muestran los nmeros 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 nmeros 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>

<??>Seala 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 instruccin) y condiciona que, luego de
incrementar en dos el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i tiene
un valor menor o igual a 100 (segunda instruccin).

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>

<??>Seala 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 instruccin) y condiciona que, luego
de incrementar en uno el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i
tiene un valor menor o igual a $s (segunda instruccin). 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;
}
<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>

$nm=$_POST['n'];

recibe el nmero 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 asignndole 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 'Nmero ' . $i . '<br>';
++$i;
}
?>
</body>
</html>

<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
En este ejemplo se muestran los nmeros 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 nmeros 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>

<??>Seala 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 instruccin) y condiciona que, luego de
incrementar en dos el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i tiene
un valor menor o igual a 100 (segunda instruccin).

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>

<??>Seala 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 instruccin) y condiciona que, luego
de incrementar en uno el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i
tiene un valor menor o igual a $s (segunda instruccin). 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;
}
<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
$nm=$_POST['n'];

recibe el nmero 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 asignndole 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 'Nmero ' . $i . '<br>';
++$i;
}
?>
</body>
</html>

<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
En este ejemplo se muestran los nmeros 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 nmeros 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>

<??>Seala 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 instruccin) y condiciona que, luego de
incrementar en dos el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i tiene
un valor menor o igual a 100 (segunda instruccin).

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>

<??>Seala 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 instruccin) y condiciona que, luego
de incrementar en uno el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i

tiene un valor menor o igual a $s (segunda instruccin). 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;
}
<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
$nm=$_POST['n'];

recibe el nmero 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 asignndole 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 'Nmero ' . $i . '<br>';
++$i;

}
?>
</body>
</html>

<??>Seala que es un formato php. Algunas ocasiones se debe cambiar por <script
language = php></script>
En este ejemplo se muestran los nmeros 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 nmeros 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>

<??>Seala 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 instruccin) y condiciona que, luego de
incrementar en dos el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i tiene
un valor menor o igual a 100 (segunda instruccin).

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>

<??>Seala 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 instruccin) y condiciona que, luego
de incrementar en uno el valor de $i (tercera instruccin), se inicie un nuevo ciclo s y slo s $i
tiene un valor menor o igual a $s (segunda instruccin). Entonces la variable $nmr se suma con
la variable $i para obtener el valor de la variable $r .

También podría gustarte