Sunteți pe pagina 1din 27

Programacin I

Unidad 02
Semana 06
Estructuras de
control

Unidad 02
Estructuras de control
Objetivos

El alumno estar en la capacidad de crear


programas en el lenguaje C utilizando
estructuras de control.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Estructuras de control
repetitivas
Son aquellas que permiten repetir la
ejecucin de un conjunto de instrucciones
siempre y cuando una condicin se
cumpla, a la entrada o a la salida del LOOP
o LAZO
En el C podemos distinguir tres
estructuras de control repetitivas:
while
dowhile
for

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin while

Expresin
0
si
Bloque de
instrucciones

no

Mientras la expresin sea


diferente
de
cero
(verdadera) se ejecuta el
bloque de instrucciones

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin while
Sintaxis:
while (expresin)
bloque;
El bloque de instrucciones se ejecutar
mientras el valor de la expresin sea
verdadero. De lo contrario se continua con
la siguiente instruccin.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 1- Instruccin while

Escriba un programa que permita imprimir los cinco


primeros nmeros positivos.
Datos de entrada: Ninguno
Datos de salida: Impresin de los cinco primeros nmeros
positivos
Restricciones: Ninguna

void main()
{ int contador;
contador = 1;
while (contador <= 5)
{ cout<<"contador = " << contador << "\n";
contador = contador +1;
}
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 2 - Instruccin while (Solucin 1)

Dado un numero n=7 generar 7,6,5,4,3,2,1 .

Datos de entrada: n
Datos de salida: Impresin de la serie de nmeros
positivos
Restricciones: Ninguna

#include<iostream>
#include<conio.h>
using namespace std;
void main ()
{
int n, cont, serie;
cout<<"Cantidad de terminos: ";
cin>> n;
cont=1;
serie=n;
while(cont<=n)
{
cout<< serie << " ";
serie--; cont++;
}
getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 2 - Instruccin while (Solucin 2)

Dado un numero n=7 generar 7,6,5,4,3,2,1 .

Datos de entrada: n
Datos de salida: Impresin de la serie de nmeros
positivos
Restricciones: Ninguna

#include<iostream>
#include<conio.h>
using namespcae std;
void main ()
{
int n;
cout<< "Cantidad de terminos: ";
cin>> n;
while(n>0)
{
cout<< n << " ";
n--;
}
getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin dowhile

Bloque de
instrucciones
si
Expresin
0

no

Se ejecuta el bloque de
instrucciones mientras la
expresin sea diferente
de cero.
Siempre se ejecuta el
bloque de instrucciones
por lo menos una vez.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin do while
Sintaxis:
do
bloque de instrucciones;
while (expresin);
El bloque de instrucciones se ejecutar
mientras el valor de la expresin sea
verdadero. De lo contrario se continua con
la siguiente instruccin.
El bloque de instrucciones se ejecutar por
lo menos una vez.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin do while

Escriba un programa que permita imprimir los cinco


primeros nmeros positivos.
Datos de entrada: Ninguno
Datos de salida: Impresin de los cinco primeros nmeros
positivos
Restricciones: Ninguna

void main()
{ int contador;
contador = 1;
do
{ cout << "contador = " << contador << "\n";
contador = contador +1;
} while (contador <= 5);
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin while y do while


El bloque de instrucciones puede estar constituido
por una o ms instrucciones.
Si el bloque est compuesto
instrucciones se encierran entre { }.

por

varias

No olvide que:
En el bloque de instrucciones se debe incluir alguna
instruccin que permita modificar el valor de la
expresin en algn momento para poder salir del
lazo.
En la instruccin dowhile el bloque de
instrucciones se ejecuta por lo menos la primera
vez.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin for
expresin 1

expresin2
0

Se ejecuta la expresin 1

si
Bloque de
instrucciones

expresin 3

no

Mientras la expresin 2
sea diferente de cero
(verdadera) se ejecuta el
bloque de instrucciones
y la expresin 3

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin for
Sintaxis:

for (expresin 1; expresin 2;


expresin 3)
bloque;
Primero se ejecuta la expresin 1.
El bloque de instrucciones y la expresin 3
se ejecutarn mientras el valor de la
expresin 2 sea verdadero.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin for

Escriba un programa que permita imprimir los cinco


primeros nmeros positivos.
Datos de entrada: Ninguno
Datos de salida: Impresin de los cinco primeros nmeros
positivos
Restricciones: Ninguna

void main()
{
int contador;
for (contador=1;contador<6;contador++)
cout << "contador = " << contador << "\n";
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Instruccin for
Si se omite expresin 2 se asumir el valor
permanente de 1 y el bloque se ejecutar de
forma indefinida (bucle infinito).
Inicialmente se ejecuta expresin 1, esta se
realiza para inicializar algn parmetro que
controla la repeticin del bloque de instrucciones.
La expresin 2 es una condicin que debe ser
verdadera para que se ejecute el bloque.
La expresin 3 se utiliza para modificar el valor
del parmetro que controla el bucle.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 1 - For

Elaborar un programa que muestre los nmeros


pares comprendidos entre 10 y 20 inclusive.

Datos de entrada: Ninguno


Datos de salida: Impresin de los pares entre 10 y 20
Restricciones: Ninguna

void main()
{
int i;
cout<<"Los nmeros pares entre 10 y 20 inclusive son: \n";
for(i=10;i<=20;i=i+2)
cout << i << "\n";
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 2 - For

Elaborar un programa que muestre los nmeros pares


comprendidos entre 10 y 20 inclusive (Descendente) .

Datos de entrada: Ninguno


Datos de salida: Impresin de los pares entre 10 y 20
Restricciones: Ninguna

void main()
{
cout<< "Los nmeros pares entre 10 y 20 inclusive son: \n";
for(int i=20;i>=10;i=i-2)
cout << i << "\n";
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejemplo 3 - For

Mostrar la tabla de caracteres ASCII a partir del Cdigo 32 (el


espacio en blanco) hasta el Cdigo 164 (o sea la ) sin incluir las
minsculas (rango del 97 al 122).

Datos de entrada: Ninguno


Datos de salida: Impresin de algunos caracteres ASCII
Restricciones: Ninguna

void main()
{
cout << "Los Caracteres ASCII son: \n";
for(int i=32;i<=164;i++)
if(i<97 || i>122)
cout << char(i)<< " " << i << "\n";
_getch();
}

Sentencias
break , continue, exit.
Objetivos

El alumno estar en la capacidad de crear


programas donde utilice las sentencias
break , continue y exit segn crea
conveniente para un caso en especfico.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

break
La proposicin "break" permite una salida
forzada de las siguientes estructuras de
control:

dowhile
while
for
switch

Es utilizado para provocar el fin de la ejecucin


de una ECR o para salir de la sentencia switch

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Sentencia break

Realizar una aplicacin en C que imprima los 6 primeros


nmero pares que hay entre 1 y 20

void main()
{
int num,cont;
cont=0;
num=0;
while (num<=20)
{ num=num+1;
if (cont==6)
break;
if (num %2 ==0)
{ cont=cont+1;
cout << num << " ";
}
}
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

continue
La proposicin continue" provoca un salto
obligatorio a la siguiente iteracin dentro
del ciclo de las siguientes ECR:
dowhile
while
for

La sentencia dentro de un bucle forzar al


programa a finalizar la iteracin actual y a
comenzar la evaluacin de la siguiente.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Sentencia continue

Realizar una aplicacin en C que sume los nmero pares


comprendidos entre 1 y 10 inclusive

void main()
{
int i, suma;
suma=0;
for (i=1; i<=10;i++)
{
if (i%2!=0) // salta los impares
continue;
suma=suma+i; // aqu procesa los pares
}
cout << "La suma es : " << suma;
_getch();
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

exit
Sintaxis:
exit (cdigo)
Si el cdigo es 0, entonces la aplicacin terminar
bajo la denominacin de xito
Si el cdigo diferente a 0, entonces la aplicacin
terminar bajo la denominacin de fallo

Es una funcin que esta definida en la librera


<stdlib.h> y es utilizada para terminar la
ejecucin programa actual, desde el lugar donde
se le invoque.

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Sentencia exit

Realizar una aplicacin en C que pregunte al usuario si


desea salir del programa hasta que el usuario ingrese la
letra S.

void main()
{
char caracter;
while (1)
{ cout << "Pulse el caracter S para salir ";
cin>> caracter;
if (caracter==S || caracter==s)
exit(0);
}
}

Programacin I - 2016-02 - Unidad 2 - Estructuras de control repetitivas

Ejercicio

Realizar una aplicacin en C que permita ingresar un


conjunto de nmeros enteros y nos determine la cantidad de
enteros ingresados, si se sabe que se ingresarn nmeros
hasta que el usuario digite el valor de cero.
void main()
{
int contador, numero;
contador=0;
while (1)
{ cout<<Ingrese el numero 0 para salir ;
cin>>numero;
if (numero==0)
exit(0);
contador=contador +1
}
cout << La cantidad de numeros ingresados es: << contador;
_getch();
}

S-ar putea să vă placă și