Documente Academic
Documente Profesional
Documente Cultură
Unidad 02
Semana 06
Estructuras de
control
Unidad 02
Estructuras de control
Objetivos
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
Instruccin while
Expresin
0
si
Bloque de
instrucciones
no
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.
void main()
{ int contador;
contador = 1;
while (contador <= 5)
{ cout<<"contador = " << contador << "\n";
contador = contador +1;
}
_getch();
}
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();
}
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();
}
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.
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.
Instruccin do while
void main()
{ int contador;
contador = 1;
do
{ cout << "contador = " << contador << "\n";
contador = contador +1;
} while (contador <= 5);
_getch();
}
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.
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
Instruccin for
Sintaxis:
Instruccin for
void main()
{
int contador;
for (contador=1;contador<6;contador++)
cout << "contador = " << contador << "\n";
_getch();
}
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.
Ejemplo 1 - For
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();
}
Ejemplo 2 - For
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();
}
Ejemplo 3 - For
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
break
La proposicin "break" permite una salida
forzada de las siguientes estructuras de
control:
dowhile
while
for
switch
Sentencia break
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();
}
continue
La proposicin continue" provoca un salto
obligatorio a la siguiente iteracin dentro
del ciclo de las siguientes ECR:
dowhile
while
for
Sentencia continue
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();
}
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
Sentencia exit
void main()
{
char caracter;
while (1)
{ cout << "Pulse el caracter S para salir ";
cin>> caracter;
if (caracter==S || caracter==s)
exit(0);
}
}
Ejercicio