Vous êtes sur la page 1sur 36

L

.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

ESTRUCTURAS DE
CONTROL
Proposiciones
y Bloques
Exit()
Incondicionales
Etiquetas
goto
Condicionales
Simple
If if-else elseif
Multiple
switch
break
Repetitivas
for while do while
Estructuras de Control
de Flujo
Proposiciones y Bloques
If else
Else if
Ciclo for
Ciclo while y Do While
Break y Continue
Goto y Etiquetas
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

IDENTIFICAR LAS ESTRUCTURAS DE
CONTROL DE FLUJO EN LENGUAJE C.
Objetivo:
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Estructuras de Control
Son enunciados de cdigo que
determinan el flujo de la
informacin.
Pueden ser :
Condicionales
Repetitivos
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Los enunciados de un programa en
C, normalmente se ejecutan de
arriba hacia abajo, en el mismo
orden en que aparecen en el cdigo
fuente. Una estructura de control
condicional indica la ejecucin o no,
de ciertos enunciados.
Estructuras de Control
Condicionales
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Simples
if else
Estructuras de Control
Condicionales
Cuando se evala una
condicin, y se tienen
solamente dos alternativas.
Cuando se evala una
condicin, y se tienen varias
alternativas para elegir.
Pueder ser:
Mltiples
Switch
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

En su forma bsica, evala una
condicin y dirige la ejecucin del
programa dependiendo del
resultado de esa evaluacin.
if
if (condicin)
{
enunciado 1;
enunciado 2;
. . .
enunciado n;
}
Condicional
Simple
No se
pone ; Se pone
{ para
abrir el
bloque
Entre { y }
todos los
enunciados
a ejecutar
Finaliza con
}
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

if (condicin)
{
/*Se ejecutan
Si se cumple
la condicin*/
Enuciados
}
C
o
n
d
i
c
i
o
n
a
l
S
i
m
p
l
e
Si la expresin evala a
verdadero, se ejecuta
el bloque de cdigo.
Los enunciados solo se
ejecutan si se cumple
la condicin.
La ejecucin del programa continua
despus de la llave que cierra el bloque
perteneciente al enunciado if.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

if (expresin)
{
enunciado 1;
enunciado 2;
. . .
enunciado n;
}
if (calif >= 6)
{
printf (aprobado);
}
Ejemplo
Determinar s un alumno aprob una
materia. Calif. Aprob. Minima: 6
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

if (calif >= 6)
{
printf (aprobado);
}
Ejemplo
Determinar s un alumno aprob una
materia. Calif. Aprob. Minima: 6
Suponga que la
calificacin del
alumno sea 8
La
condicin
ser:
8 >= 6 (8 >= 6)
Como la condicin es verdadera se ejecuta
la instruccin y se imprime el mensaje.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

if (calif >= 6)
{
printf (aprobado);
}
Ejemplo
Determinar s un alumno aprob una
materia. Calif. Aprob. Minima: 6
Ahora suponga
que la calificacin
del alumno sea 5
La
condicin
ser:
5 >= 6 (5 >= 6)
Como la condicin es falsa no se ejecuta la
instruccin y continua la ejecuccin del
programa despus de la llave del if.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

if (calif >= 6)
{
printf (aprobado);
}
En algunos casos
como este conviene
realizar algo cuando
no se cumple la
condicin
(5 >= 6)
Para eso esta la clusula else, la cul
ejecuta un enunciado o bloque cuando
no se cumple la condicin.
En este ejemplo sera conveniente mostrar
un mensaje cuando el alumno este
reprobado.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

La forma del enunciado if con la
clusula else ofrece 2 opciones;
cuando se cumpla y cuando no se
cumpla la condicin.
if
if (condicin)
{ /* inicio de if */
enunciados;
} /* fin de if */
else
{ /* inicio de else */
enunciados;
} /* fin de else */
Esta es
la parte
bsica
del If
los
enunciado
se
ejecutan si
se cumple
la
condicin
e
l
s
e
La parte
del else,
se
ejecuta
cuando
no se
cumple
Igual se
usan las
llaves
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

#include <stdio.h>
#include <conio.h>
int usuario, clave;
void main()
{
clave=13406;
printf("Introduce tu clave: ");
scanf("%d",&usuario);
if(usuario==clave)
{
printf("Acceso permitido");
}
getch( );
}
Ejemplo if
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

#include <stdio.h>
#include <conio.h>
int usuario, clave;
void main()
{
clave=13406;
printf("Introduce tu clave: ");
scanf("%d",&usuario);
if(usuario==clave)
{
printf("Acceso permitido");
}
else
{
printf(Clave incorrecta);
}
getch( );
}
Ejemplo if -else
Dentro del if y
del else se
pueden escribir
cualquier
enunciado del
lenguaje C,
como: solicitar
variables, hacer
operaciones,
incluso otras
estructuras.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Ejercicios
1. Determinar si un nmero es par o impar.
2. Cuanto va a ganar un empleado a la
semana si le pagan $30 por hora y cada
hora extra se la pagan al doble. el
nmero de horas normales a la semana
son 40.
3. calcular si un nmero del 1 al 20 es
mltiplo de 2,3 o de otro nmero.
4. Solicitar 3 nmeros y determinar la
posicin del menor.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

#include <stdio.h>
#include <conio.h>
int num1, num2;
main()
{
clrscr();
printf("Teclea un valor entero: ");
scanf("%i",&num1);
printf("Teclea otro nmero entero: ");
scanf("%i",&num2);
if (num1==num2)
printf("%i es igual a %i",num1,num2);
if (num1>num2)
printf("%i es mayor que %i",num1,num2);
if (num1<num2)
printf("%i es menor que %i",num1,num2);
getch();
}
Ejemplo if
Cuando se trata
de un solo
enunciado
dentro del if o
else no es
necesario poner
las llaves.
Como sucede
en este ejemplo.
Solicita 2
nmeros
Compara si
son iguales
Se cumpla o
no la
condicin
compara si el
1 es mayor
que el 2o
Lo mismo
sucede al
comparar si
el 1 es
menor que el
2o
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

#include <stdio.h>
#include <conio.h>
int num1, num2;
main()
{
clrscr();
printf("Teclea un valor entero: ");
scanf("%i",&num1);
printf("Teclea otro nmero entero: ");
scanf("%i",&num2);
if (num1==num2)
printf("%i es igual a %i",num1,num2);
if (num1>num2)
printf("%i es mayor que %i",num1,num2);
if (num1<num2)
printf("%i es menor que %i",num1,num2);
getch();
}
Ejemplo if
Observe que si
se cumple la 1.
condicin no es
necesario
evaluar la 2. y
si se cumple la
segunda, pues
no tiene caso
evaluar la 3. El
programa es
ineficiente.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Estructuras de Control
anidadas
Anidar una estructura de control
significa poner una o ms
estructuras dentro de otra para
mejorar la funcionalidad de los
programas.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

#include <stdio.h>
#include <conio.h>
int num1, num2;
main()
{
clrscr();
printf("Teclea un valor entero: ");
scanf("%i",&num1);
printf("Teclea otro nmero entero: ");
scanf("%i",&num2);
if (num1==num2)
printf("%i es igual a %i",num1,num2);
else
if (num1>num2)
printf("%i es mayor que %i",num1,num2);
else
printf("%i es menor que %i",num1,num2);
getch();
}
Ejemplo if - anidado
Con este
concepto se
puede
mejorar el
programa de
mayor o
menor;
utilizando un
if anidado
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Etiquetas
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Una etiqueta es un enunciado que
sirve como marca, para que el
programa llegue ah en un momento
determinado de la ejecucin.
Para el uso de las etiquetas en C es
necesario conocer el enunciado
goto.
Es uno de los enunciados de salto
incondicional o ramificacin.
Cuando el programa llega a un
enunciado goto, la ejecucin salta
inmediata y automticamente a la
posicin especificada(a una
etiqueta).
Enunciado goto
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

goto destino;
Sintaxis goto
Destino es una
etiqueta que
identifica la
posicin del
programa a la
que debe de
dirigirse la
ejecucin..
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

destino:
Repetir:
Una etiqueta consiste de un
identificador seguido de dos
puntos, como ejemplo vea estas
dos etiquetas;
Los enunciados de un programa en
C, normalmente se ejecutan de
arriba hacia abajo, en el mismo
orden en que aparecen en el cdigo
fuente. Una estructura de control
condicional indica la ejecucin o no,
de ciertos enunciados.
Estructuras de Control
Repetitivas
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

while
Estructuras de Control
Repetitivas
Este ciclo es utilizado cuando se
conoce el nmero de
repeticiones que se requieren.
Es til cuando se desconoce
el nmero de iteraciones
requeridas.
for
do while
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Es similar al ciclo while, pero a
diferencia, se verifica la
condicin al final del ciclo en
vez de hacerlo al principio.
inicio, fin e incremento son
expresiones de C, separadas por
;que actan sobre una variable
llamada Variable de Control.
f
o
r
for(inicio;fin;incremento )
{
Enunciados que se van a
repetir.
}
Ciclo
No se
pone ;
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

donde
empieza el
ciclo. Ej. x=1
donde termina
el ciclo. Ej.
X<=100
Indica el
avance del
ciclo. Ej. X++
for(entero=1; entero<=20; entero++)
printf("%i\n",entero);
getch();
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Cmo funciona el Ciclo For?.
1.- La expresin inicio es evaluada. Inicio
por lo general es una expresin de
asignacin que pone la variable de control
a un valor determinado. En el ejemplo,
entero es la variable de control, se inicia
con el valor de 1.
for(entero=1; entero<=20; entero++)
printf("%i\n",entero);
getch();
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Cmo funciona el Ciclo For?.
2.- La expresin de condicin es evaluada.
La condicin es tpicamente una expresin
relacional que indica el nmero de vueltas
que dar el ciclo. En el ejemplo el ciclo se
repetir mientras que la variable de control
sea menor o igual a 20.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Cmo funciona el Ciclo For?.
3.- Cuando la condicin es falsa el ciclo
termina. En el ejemplo ser falsa cuando
entero sea 21.
4.- Si la condicin si cumple se ejecutan los
enunciados que se encuentran dentro del
ciclo. En el ejemplo se imprime el valor que
tenga la variable entero.
for(entero=1; entero<=20; entero++)
printf("%i\n",entero);
getch();
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Cmo funciona el Ciclo For?.
5.- La expresin de incremento es
evaluada y aumentada, luego pasa el
control al paso 2. En el ejemplo se utiliza
un operador unario de incremento que
aumenta en uno la variable de control, es
equivalente a escribir: entero = entero +1
for(entero=1; entero<=20; entero++)
printf("%i\n",entero);
getch();
#include <stdio.h>
#include <conio.h>
int entero;
void main()
{
clrscr();
for(entero=1; entero<=20; entero++)
printf("%i\n",entero);
getch();
}
Ejemplo for
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Imprimir los primeros 20 nmeros
enteros positivos
Inicio
En 1
Fin
En 20
Incremento
De 1 en 1
Cuando es
una lnea no
requiere { }
Esta fuera
del ciclo
#include <stdio.h>
#include <conio.h>
int x;
float cal, prom,suma;
void main()
{
clrscr();
for(x=1;x<=8;x++)
{
printf("Teclea la calificicacin %i: ",x);
scanf("%f",&cal);
suma=suma+cal;
}
prom=suma/8;
printf("\n%.2f",prom);
getch();
}
Ejemplo for
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Ejecuta un bloque de enunciados
en tanto una condicin especfica
sea cierta, es decir, mientras se
cumpla la condicin.
W
h
il
e
Ciclo
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Es til cuando se desconoce el
nmero de iteraciones requeridas,
Se puede terminar el ciclo
cuestionando al usuario o
generando algn valor desde
dentro del ciclo.
W
h
il
e
valor inicial;
while (condicin)
{
bloque o cuerpo del ciclo
(todo lo que se va a repetir)
evento salida;
}
Ciclo
El valor inicial
permite que el
ciclo se realice
al menos la
primera vez.
Es un valor
que hace que
se cumpla la
condicin.
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

Se evala la
condicin.
Para saber
cuando
termina
Es necesario
generar un
evento de salida
o solicitarlo al
usuario
W
h
il
e
Ciclo
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

1. Se evala la condicin
2. Si la condicin no se cumple,
el enunciado while termina y
la ejecucin pasa al siguiente
enunciado despus de la llave
que indica el fin del ciclo.
3. Si la condicin es verdadera
(se cumple) se ejecutan los
enunciados del ciclo, los que
estn dentro de las llaves.
W
h
il
e
Ciclo
L
.
I
.

J
u
a
n

M
o
i
s
e
s

Y
a
m

C
h
a
n

4. La ejecucin regresa al paso
1. Y se repite hasta que en
algn momento ya no se
cumple la condicin.
cont=1;
while(cont<=10)
{
printf("%i \n",cont);
cont++;
}
getch();

Vous aimerez peut-être aussi