Sei sulla pagina 1di 14

UNIVERSIDAD NACIONAL AUTONOMA DE

CHOTA

FACULTAD DE
INGENIERIA CIVIL
TEMA

: ESTRUCTURAS DE CONTROL: SENTENCIA


DEL BUCLE
whILE, DO WHILE Y LA
SENTENCIA DEL BUCLE FOR

CURSO : programacion de ingeniera .


DOCENTE : FERNANDEZ TAPIA ZULEMA ROSA.
ESTUDIANTes : IRIGON EDQUN DILMER EL
RAMOS PREZ IVAN HENRY
RUFASTO VSQUEZ MEYER JOS

CICLO

: iv

Chota - 2015

DEDICA
TORIA
Este trabajo va dedicado en primer
lugar a Dios por brindarnos salud y la
tranquilidad necesaria para seguir da a
da y poder lograr nuestros objetivos,
adems de su infinita bondad y amor.
A nuestros padres por habernos
apoyado en todo momento y por seguir
hacindolo, por sus consejos, sus valores
y por ese amor incondicional e infinito;
por los ejemplos de perseverancia y
constancia que los caracterizan, por
transmitirnos el verdadero sentido de la
responsabilidad para afrontar cada uno
de nuestros roles como hijos y
estudiantes.

AGRADECIMIENTO

A nuestra docente Zulema


Rosa Fernndez Tapia
por
compartir sus conocimientos sobre
el curso de programacin , por
despertar en nosotros el inters
por la investigacin y por esa
constante e incondicional gua
acadmica que nos brinda da a
da.

ESTRUCTURAS DE CONTROL: SENTENCIA DEL BUCLE WHILE, DO WHILE Y LA


SENTENCIA DEL BUCLE FOR

INTRODUCCION
Los algoritmos vistos hasta el momento han consistido en simples secuencias de
instrucciones; sin embargo, existen tareas ms complejas que no pueden ser resueltas
empleando un esquema tan sencillo, en ocasiones es necesario repetir una misma
accin un nmero determinado de veces o evaluar una expresin y realizar acciones
diferentes en base al resultado de dicha evaluacin.
Para resolver estas situaciones existen las denominadas estructuras de control que
poseen las siguientes caractersticas:
Una estructura de control tiene un nico punto de entrada y un nico punto de salida.
Una estructura de control se compone de sentencias o de otras estructuras de
control.
Tales caractersticas permiten desarrollar de forma muy flexible todo tipo de algoritmos
aun cuando slo existen tres tipos fundamentales de estructuras de control:
Secuencial.
Alternativa.
Repetitiva.
A lo largo de esta leccin se presentarn las estructuras de control: sentencia del bucle
WHILE, DO WHILE y la sentencia del bucle FOR.

OBJETIVOS:
GENERAL: Desarrollar el tema estructuras de control: sentencia del bucle while,
do while y la sentencia del bucle for
ESPECFICOS:
Definir que son estructuras de control.
Desarrollar la sentencia del bucle while, do while y la sentencia del bucle for.
Lograr desarrollar algoritmos en computadora del tema mencionado.
MARCO TERICO
EL BUCLE WHILE.
El bucle WHILE sirve para ejecutar cdigo reiteradas veces.
La estructura de iteracin WHILE, nos permite repetir un bloque de instrucciones
siempre y cuando se cumpla una condicin, es decir, , en esta estructura de control el
cuerpo de instrucciones se ejecuta mientras una condicin permanezca como
verdadera en el momento en que la condicin se convierte en falsa el ciclo termina.

En lenguaje C, para escribir una instruccin WHILE (repetitiva mientras) se utiliza


la sintaxis:
while ( <expresin_lgica> )

while (<condicion>)
{

{
<instruccion>

<bloque_de_instrucciones>

<instruccion>

.
.
.
<instruccion>
}

La condicin debe de ser una expresin lgica, similar a la de la sentencia if . Primero


se sevala la condicin. Si el resultado es verdadero, se ejecuta el bloque de cdigo.
Luego se vuelve a evaluar la condicin, y en caso de dar verdadero se vuelve a
ejecutar el bloque. El bucle se corta cuando la condicin da falso.
Cuando

el

<bloque_de_instrucciones>

slo

contiene

una

instruccin,

los

caracteres abrir llave ({) ycerrar llave (}) son opcionales.


Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la
<expresin_lgica> de una instruccin repetitiva while, tambin se le llama condicin.

Para que se ejecute el <bloque_de_instrucciones>, la condicin tiene que ser


verdadera. Por el contrario, si la condicin es falsa, el <bloque_de_instrucciones> no
se ejecuta.
Por tanto, cuando el flujo de un programa llega a un bucle while, existen dos
posibilidades:
1.

Si la condicin se evala a falsa, el bloque de instrucciones no se ejecuta, y el


bucle while finaliza sin realizar ninguna iteracin.

2.

Si la condicin se evala a verdadera, el bloque de instrucciones s que se


ejecuta y, despus, se vuelve a evaluar la condicin, para decidir, de nuevo, si el
bloque de instrucciones se vuelve a ejecutar o no. Y as sucesivamente, hasta
que, la condicin sea falsa.

El <bloque_de_instrucciones> de un bucle while puede ejecutarse cero o ms veces


(iteraciones). Si el <bloque_de_instrucciones> se ejecuta al menos una vez, seguir
ejecutndose repetidamente, mientras que, la condicin sea verdadera. Pero, hay que
tener cuidado de que el bucle no sea infinito.
Cuando la condicin de un bucle while se evala siempre a verdadera, se dice que se
ha producido un bucle infinito, ya que, el programa nunca termina. Un bucle infinito es
un error lgico.
Es importante hacer hincapi en el hecho de que, en un bucle while, primero se evala
la condicin y, en el caso de que sta sea verdadera, entonces se ejecuta el bloque de
instrucciones. Veremos que, en el bucle do while, el procedimiento es al revs. En l,
primero se ejecuta el bloque de instrucciones y, despus, se evala la condicin.
Para que un bucle while no sea infinito, en el bloque de instrucciones debe ocurrir algo
para que la condicin deje de ser verdadera. En la mayora de los casos, la condicin
se hace falsa al cambiar el valor de una variable.
En resumen, una instruccin repetitiva while permite ejecutar, repetidamente, (cero o
ms veces) un bloque de instrucciones, mientras que, una determinada condicin sea
verdadera.

DIAGRAMA DEL BUCLE WHILE

Ejemplo 1: Obtener el promedio de calificaciones de 20 estudiantes.


#include <iostream.h>
int total, contador, calif;
double promedio;
void main()
{
total = 0;
contador = 1;
while (contador <=
{
cout<<" Dame la
cin >> calif;
total = total +
contador ++;
}
promedio = total /
cout<<"El promedio
}

20 )
calificacion "<<endl;
calif;
20.0;
es "<< promedio<<endl;

Ejemplo 2:
#include <stdio.h>
using namespace std;
int main(){
int n=0;

printf("Dame un numero: ");


scanf("%d",&n);
while ((n < 5) || (n < 10)){
printf("El valor de n es: %d\n",n);
n++;
}
return 0;
}

EL BUCLE DO WHILE
El bucle do...while es un bucle que, por lo menos, se ejecuta una vez. Do significa
literalmente "hacer", y WHILE significa "mientras"
La estructura de control que veremos es la estructura de iteracin DO WHILE, la cual
nos permite repetir un bloque de instrucciones siempre y cuando se cumpla una
condicin, es decir, en esta estructura de control el cuerpo de instrucciones se ejecuta
mientras una condicin permanezca como verdadera en el momento en que la
condicin se convierte en falsa el ciclo termina. La diferencia es que primero realizara
el bloque de instrucciones y al final verificara si la condicin sigue siendo verdadera,
es decir, al menos har una vez el bloque de instrucciones.

En lenguaje C, para escribir una instruccin DO WHILE (repetitiva hacer mientras)


se utiliza la sintaxis:
Do
{

Do
<instruccion>
<instruccion>
..
.
<instruccion>

{
<bloque_de_instrucciones>
} while ( <expresin_lgica> );

}while (<condicion>);

O tambin su forma es esta:


do {
/* CODIGO */
} while (/* Condicin de ejecucin del bucle */)

Importante: Notar que lleva; al final, lo cual no ocurre en las otras estructuras de
control.
Cuando

el

<bloque_de_instrucciones>

slo

contiene

una

instruccin,

los

caracteres abrir llave ({) y cerrar llave (}) son opcionales.


Adems, como se puede apreciar, la instruccin repetitiva do while, tambin hace uso
de una condicin.

En un bucle do while, primero se ejecuta el bloque de instrucciones y, despus, se


evala la condicin. En el caso de que sta sea verdadera, se vuelve a ejecutar el
bloque de instrucciones. Y as sucesivamente, hasta que, la condicin sea falsa.
Por consiguiente, cuando el flujo de un programa llega a un bucle do while, existen dos
posibilidades:
1.

Se ejecuta el bloque de instrucciones y, despus, si la condicin se evala a


falsa, el bloque de instrucciones no se vuelve a ejecutar, de manera que, el
bucle do while finaliza, habiendo realizado una sola iteracin.

2.

Se ejecuta el bloque de instrucciones y, a continuacin, si la condicin se


evala a verdadera, el bloque de instrucciones se vuelve a ejecutar. Y as
sucesivamente, hasta que la condicin sea falsa.

El <bloque_de_instrucciones> de un bucle do while puede ejecutarse una o ms veces


(iteraciones). Tambin hay que prevenir que el bucle no sea infinito.
En resumen, una instruccin repetitiva do while permite ejecutar repetidamente (una o
ms veces) un bloque de instrucciones, mientras que, una determinada condicin sea
verdadera.
DIAGRAMA DEL BUCLE DO WHILE

Ejemplo 1:
#include<iostream.h>
#include<conio.h>
Void main()
{ int cont=1,suma=0,n;

cout<<Ingrese nmero de trminos;


cin>>n;
do
{ suma+=cont;
cont++;
} While (cont<=n);
cout<<la suma es:<<suma;
getch();

Ejemplo 2:
#include <stdio.h>
using namespace std;
int main(){
int n=0;
do{
printf("El valor de n es: %d\n",n);
n++;
}while (( n >= 0)&&( n < 10 ));
return 0;
}
Ejemplo 2: muestreamos un ejemplo sencillo de uso:

int aleatorio;
do {
aleatorio = rand();
} while (aleatorio != 25);
La verdad es que este ejemplo puede resultar un poco absurdo, pero es bastante
intuitivo. El cdigo del bucle asigna un valor aleatorio a la variable definida
anteriormente, y mientras esa variable no tenga el valor 25, el bucle sigue
ejecutndose.

EL BUCLE FOR
El bucle for es un bucle muy flexible y a la vez muy potente ya que tiene varias formas
interesantes de implementarlo, su forma ms tradicional es la siguiente:

En lenguaje C, para escribir una instruccin FOR (repetitiva para) se utiliza la


sintaxis:
For ( <expresin_1> ; <expresin_2> ; <expresin_3> )
{
<bloque_de_instrucciones>
}
for (/* inicializacin */; /* condicin */; /* incremento */) {
/* cdigo a ejecutar */
}

Inicializacin: en esta parte se inicia la variable que controla el bucle y es la primera


sentencia que ejecuta el bucle. Slo se ejecuta una vez ya que solo se necesita al
principio del bucle.

Expresin condicional: al igual que en el bucle while , esta expresin determina si el


bucle continuar ejecutndose o no.
Incremento: es una sentencia que ejecuta al final de cada iteracin del bucle. Por lo
general, se utiliza para incrementar la variable con que se inicio el ciclo. Luego de
ejecutar el incremento, el bucle revisa nuevamente la condicin, si es verdadera tiene
lugar una ejecucin ms del cuerpo del ciclo, si es falsa se termina el ciclo y as.
Cuando

el

<bloque_de_instrucciones>

slo

contiene

una

instruccin,

los

caracteres abrir llave ({) y cerrar llave (}) son opcionales.


Por otro lado, el bucle for es ideal usarlo cuando, de antemano, ya se sabe el nmero
de veces (iteraciones) que tiene que ejecutarse un determinado bloque de
instrucciones.
El bucle for es una variante del bucle while y, al igual que ste, puede iterar cero o ms
veces. Sin embargo, el bucle for slo se suele usar cuando se conoce el nmero
exacto de veces que tiene que iterar el bucle. ste es el caso del problema planteado
en el ejemplo 1 del apartado Instruccin while en C, en el cual, se sabe de antemano
que el bucle tiene que iterar, exactamente, diez veces.

Ejemplo: Por tanto, dicho problema, se puede resolver con una instruccinrepetiva for de
la siguiente forma:
#include <stdio.h>
int main()
{
int contador;
printf( "\n

" );

for ( contador=1 ; contador<=10 ; contador++ )


printf( "%d ", contador );
return 0;
}

En este caso, <expresin_1>, <expresin_2> y <expresin_3>, se corresponden,


respectivamente, con:

la inicializacin de la variable contador,

la condicin de salida del bucle y

el incremento de la variable contador de una instruccin repetitiva mientras


(while).

Aqu se muestra el mismo ejemplo visto para el bucle while , pero implementado con
el bucle for :
int i;
for (i=0; i < 100; i = i + 1) {

printf("%d\n", i);
}

Nota: En C, la sentencia i = i + 1 puede escribirse en forma ms reducida como i++ .


Esta forma se utiliza ms comnmente en el bucle for :
int i;
for (i=0; i < 100; i++) {
printf("%d\n", i);
}

Ejemplo1: Programa que muestra los nmeros del 1 al 10.


/* muestra los nmeros de 1 a 10 */
#include <iostream>
using namespace std;
int main(void)
{
int n;
for (n = 1; n <= 10; n++)
{
cout << n << endl;
}
system("pause");
}
BIBLIOGRAFA

Programming Principles and Practice Using C++, Bjarne Stroustrup.


http://www.codeblocks.org
http://www.wxwidgets.org
(O'Reilly) Practical C Programming (3rd Edition)

Potrebbero piacerti anche