Você está na página 1de 65

Lenguaje de Programacin C

Ciclos: For y Do While

La sesin pasada vimos...

El ciclo WHILE

DO - WHILE
Ejecuta una sentencia, simple o
compuesta, una o ms veces,
dependiendo del valor de una
expresin.

DO - WHILE
Al igual que la estructura while, el ciclo do-while
nos permite repetir la ejecucin de su cdigo
mientras que la condicin sea verdadera. La

diferencia entre estos dos ciclos radica en el


momento en que la condicin se evala.
En el ciclo while la condicin se evala al inicio de
la estructura del ciclo, antes de ejecutar el cdigo.

DO - WHILE
En el ciclo do-while, la
condicin se evala al final
de la estructura del ciclo,
despus de ejecutar el
cdigo. Esto ocasiona que
el cdigo del ciclo sea
ejecutado UNA o ms
veces.

DO - WHILE
En la estructura while es posible que el
cdigo del ciclo nunca se ejecute (si la
condicin resulta ser falsa en un inicio),
en cambio en la estructura do-while el
cdigo del ciclo se ejecuta al menos en

UNA ocasin

Estructura del do - while


do
instruccin;
while (expresin);

do{
instruccin_1;
instruccin_2;
....

instruccin_N;
} while (expresin);

DO - WHILE
La ejecucin de la sentencia do-while sucede as:
1. Se ejecutan la(s) instrucciones de la sentencia do.

2. Se evala la expresin.
3. Si el resultado de la expresin es cero (falso), se
pasa a ejecutar la siguiente instruccin en el
programa.
4. Si el resultado de la expresin es distinto de cero
(verdadero), el proceso se repite comenzando en
el punto 1.

Actividad Grupal
Analizar la ejecucin de la siguiente simulacin
(se recomienda ver las diapositivas en modo de
presentacin para una mejor visualizacin)

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche(); // scanf(%c, &b);
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

b=S

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a=
b=

5
S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

b=S

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 10
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

b=S

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 15
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

b=N

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= S

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= N

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= N

a = a + 5;
printf(Desea continuar);

b=getche();

int a;
char b;
a = 0;
do
{
a=a+5;
printf(Desea continuar);
b=getche();
} while (b == S);

b==S
Verdadero
Falso

a= 20
b= N

Actividad Grupal

Definir un programa que muestre al usuario un

men con las siguientes opciones:


1) Imprimir Mensaje
2) Salir

Y que permanezca activo


el programa, hasta que el

usuario seleccione salir

Actividad Individual
int main()
{ int opcion;
do
{
printf("\n MENU");
printf("\n 1) Imprime Mensaje");
printf("\n 2) Salir");
printf("\n Dame una opcion: ");
scanf("%i",&opcion);
switch(opcion)
{
case 1: printf("\n HOLA A TODOS"); break;
case 2: _exit(0); break;
default: printf("\n OPCION INVALIDA");
}
printf("\n\n ");
system("PAUSE"); // Frena la ejecucin del programa
system("cls"); // Limpia la pantalla
}while(opcion!=2);
}

FOR
Cuando se ejecuta una sentencia

simple o compuesta, repetidamente


un nmero de veces conocido, la
construccin adecuada es mediante
el ciclo for

FOR
La estructura for, es una estructura de
ciclo en donde el control de la repeticin
est definido precisamente sobre una
variable contador.
El ciclo for nos permite encapsular en
una sola instruccin todo el cdigo de la
variable contador.

Estructura del for


for (inicializacin; condicin; incremento/decremento)
instruccin;

for (inicializacin; condicin; incremento/decremento)


{

instruccin_1;
instruccin_2;
....

instruccin_N;
}

FOR
La ejecucin de la sentencia for sucede as:
1. Se inicializan las variables inicializacin.
2. Se evala la condicin.
2.1 Si el resultado de la condicin es verdadero,
se ejecutan la(s) instruccin(es), se ejecuta el
incremento/decremento y se vuelve al punto
2.1 Si el resultado de la condicin es falso, la
ejecucin del for se da por finalizada y se
contina con la siguiente instruccin del
programa.

Actividad Grupal
Definir un procedimiento que muestre
en pantalla los numero sucesivos
del 1 al 100

Actividad Individual
void del_1_100 ( )
{
int i;
for ( i=1; i<=100; i++)
printf(%i, i);
}

Actividad en Equipo
(2 minutos)
Escribir un procedimiento que despliegue
en pantalla los nmeros del 0 al 10 con
incrementos de 0.5

Actividad en Equipo
(2 minutos)
Escribir un procedimiento que
despliegue en pantalla los nmeros
del 9 al 0

Actividad en Equipo
Escribe el procedimiento dibujaLinea que recibe
un nmero enteros x y despliega en la pantalla
una lnea formada por asteriscos (*).
Ejemplo:

dibujaLinea(5);
en la pantalla se desplegara:
*****

Actividad en Equipo
Escribe el procedimiento dibujaRectangulo que
recibe dos nmeros enteros x y y, y despliega en la
pantalla la figura de un rectngulo formada por
asteriscos (*) de ancho x y de altura y.
Ejemplo:
dibujaRectangulo(5,3);

en la pantalla se desplegara:
*****
*****

*****

Qu aprend en esta sesin?

Você também pode gostar