Sei sulla pagina 1di 7

ESCUELA SUPERIOR POLITECNICA DE CHIMBORA

FACULTAD DE INGENIERIA ELECTRONICA

TITULO: ESTRUCTURA WHILE

OBJETIVO GENERAL

● Conocer la utilizacion de la estructura secuencial while

OBJETIVO ESPECIFICO

● Determinar la sintaxis de la estructura secuencial while


● Establecer el funcionamiento de la secuencia while

MARCO TEORICO
Esta estructura de repetición le permite al programador especificar las veces que se repita una acción
mientras una condición se mantenga verdadera. La forma del while es:

while (condición)
{
bloque de instrucciones
};

Mientras la condición se mantenga verdadera, se ejecutará X cantidad de veces el bloque de


instrucciones dentro de las llaves. Es necesario que alguna vez la condición se haga falsa, pues de lo
contrario se entraría en un ciclo infinito de repeticiones y el programa se consideraría bloqueado. Por
lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while se ejecute alguna
acción que en algún momento haga que la condición sea falsa.

Veamos un ejemplo para ver funcionar la estructura de repetición while:


int num;
num = 0;
while (num<=10)
{
printf(“Repetición numero %d\n”, num);
num = num + 1;
};
El código anterior imprimirá en pantalla:

Repetición numero 0
Repetición numero 1
Repetición numero 2
Repetición numero 3
Repetición numero 4
Repetición numero 5
Repetición numero 6
Repetición numero 7
Repetición numero 8
Repetición numero 9
Repetición numero 10

Vemos que iniciamos la variable del tipo entero num en cero. Luego, se evalúa por primera vez si es
menor o igual a 10, al ser verdadera, se ejecuta el bloque dentro del while por primera vez. Se imprime
Repetición numero 0, pues el valor dentro de num es cero. Luego el proceso se repite hasta que num
con valor 10 se le suma 1, y toma el valor 11. Se evalúa la condición del while y se determina que NO se
cumple, por lo tanto, salta el bloque y sigue la ejecución del programa.

Estructuras de repetición

En la solución de algunos problemas es necesario ejecutar repetidas veces una instrucción


o un conjunto de instrucciones. En algunos casos, el número de repeticiones se conoce con
anterioridad, mientras que en otras depende de cálculos o estados de variables que se dan dentro
de la solución del problema.
Para solucionar este tipo de problemas se utiliza un tipo de estructuras a las que se conocen como
estructuras de repetición, bucles o ciclos.
Un ciclo consiste en un grupo de acciones que se ejecutan repetidas veces dependiendo del
cumplimiento de una condición.

Ciclo Mientras
Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se cumpla una
condición. De igual manera que en los condicionales, la condición es evaluada y retorna un
valor lógico, que puede ser verdadero o falso. En el caso del ciclo mientras las instrucciones
contenidas en la estructura de repetición se ejecutarán solamente si al evaluar la condición se
genera un valor verdadero; es decir, si la condición se cumple; en caso contrario, se ejecutará la
instrucción que aparece después de Fin mientras.
A diferencia de otros ciclos, el ciclo mientras comienza evaluando la expresión condicional,
si el resultado es verdadero se ejecutarán las instrucciones que estén entre el mientras y el fin
mientras, al encontrarse la línea fin mientras se volverá a evaluar la condición, si se cumple
se ejecutarán nuevamente las instrucciones y así sucesivamente hasta que la condición deje
de cumplirse, en cuyo caso, el control del programa pasa a la línea que aparece después de fin
mientras.
Si en la primera pasada por el ciclo mientras la condición no se cumple las instrucciones que
están dentro del ciclo no se ejecutarán ni una sola vez.
En diagrama de Chapin (N-S), esta estructura tiene la presentación:
Ejemplos:
1. Un algoritmo para mostrar los números del 1 al 10.
Definición del problema
Mostrar listado de números de 1 a 10.
Análisis del problema
Datos de entrada: ninguno
Datos de salida: número
Proceso: ninguno
Diseño de la solución
Este es un algoritmo muy trivial pero permite revisar la aplicación de la estructura de repetición
Mientras.
Lo primero a tener en cuenta es la declaración e inicialización de la variable: num = 1. En este
caso no solo se está declarando una variable de tipo entero, sino también se está asignando un
valor inicial, que será el primer número mostrado.
La condición o expresión relacional con la cual se implementa el ciclo es num <= 10, dado
que num inicia en 1, la primera vez que se encuentra la instrucción mientras, la expresión es
verdadera, por tanto se ejecutan las instrucciones que aparecen al interior del ciclo.
Después de haber mostrado el contenido de la variable num, éste cambia, se incrementa en 1.
2. Leer n números y encontrar el valor promedio, el mayor y el menor
Definición del problema
Encontrar el promedio, el mayor y el menor de varios números
Análisis del problema
Para solucionar este problema, lo primero que hay que plantear es cómo se sabrá cuando
terminar la lectura de datos, ya que no se especifica la cantidad de números que serán ingresados
y en el planteamiento del problema no se da ninguna condición que permita saber cuando
terminar el ciclo. Este tipo de problemas es muy común.
Hay dos formas de abordar este ejercicio, la primera consiste en preguntar al usuario con cuantos
números desea trabajar y guardar dicho valor en una variable que se utilizará para establecer el
ciclo. La segunda consiste en preguntar después de leer cada dato, si se desea ingresar otro. En
este ejercicio se utilizará la primera estrategia.
Datos de entrada: cantidad de números, número
Datos de salida: promedio, mayor y menor
Procesos:
suma = suma + número
promedio = suma / cantidad de números
Diseño de la solución
3. La serie Fibonacci comienza con los números: 0, 1, 1, 2, 3, 5, 8, 13, 21, … Se requiere un
algoritmo para generar los primeros 10 números.
Definición del problema
Generar los 10 primeros números de la serie fibonacci
Análisis del problema
La serie fibonacci se genera a partir de dos valores iniciales que son el 0 y el 1, que al sumarse
dan como resultado 1. El siguiente número se obtiene sumando el último número obtenido con el
anterior, en este caso 1 + 1 = 2, luego será 2 + 1 = 3 y así sucesivamente.
Datos de entrada: ninguno
Datos de salida: serie fibonacci
Procesos:
a=0
b=1
f=a+b
Diseño de la solución

Estructura de repetición: la instrucción WHILE


La estructura de repetición o bucle hace posible la ejecución repetida de una o más instrucciones.
Pascal proporciona tres instrucciones que implementan la estructura de repetición: WHILE, FOR
y REPEAT-UNTIL.
La instrucción WHILE se usa para implementar una estructura de repetición (bucle while) en la
que la repetición se controla mediante una expresión booleana y continúa ejecutándose mientras
esta expresión permanece cierta, finalizando cuando se hace falsa.
La ejecución repetida del cuerpo del bucle debe provocar en algún momento que el valor de
la expresión booleana se haga falso; de lo contrario, la repetición continuara ejecutándose
infinitamente.
Instrucción WHILE
Sintaxis:
WHILE expresión-booleana DO
instrucción
donde:
WHILE y DO son palabras reservadas;
instrucción es una instrucción Pascal.
Objetivo:
Se evalúa la expresión booleana y, si es cierta, se ejecuta la instrucción especificada, llamada
el cuerpo del bucle. Entonces se vuelve a evaluar la expresión booleana y, si todavía es cierta,
se ejecuta de nuevo el cuerpo. Este proceso se repite mientras la expresión booleana sea cierta.
Cuando se hace falsa, finaliza la repetición.
Programa Escribir un programa que, para un valor Limite dado, devuelva el Numero positivo
más pequeño para el que la suma
es mayor que Limite. El programa también deberá devolver el valor de dicha suma.
PROGRAM Calcular Sumatorio( input, output );
{*********************************************************************
       END {WHILE}; 
    writeln( ‘1 + … + ‘, Numero:1, ‘ = ‘, Suma:1, ‘ > ‘, Limite:1 ) 

END.
Ejemplo de ejecución:
Introduzca un valor al que exceda 1 + 2 + … + ?: 2
1+…+2=3>2
Introduzca un valor al que exceda 1 + 2 + … + ?: 1000
1 + … + 45 = 1035 > 1000
Introduzca un valor al que exceda 1 + 2 + … + ?: 10000
1 + … + 141 = 10011 > 10000

4.2 Repetir hasta


ESTRUCTURA DE REPETICION HASTA

Esta estructura es caracteristica de lenguajes como PASCAL, y su uso es muy sencillo, se


especifica un valor de partida(logicamente) y un valor de parada(por eso es “hasta”) que es
el valor limite hasta el cual se realizara cierta instruccion utilizando como base el valor de
repeticion. Esta estructura es manejada por PASCAL como una estructura aparte, veamos de que
forma:
PROGRAM Ciclo_hasta;
VAR
Numero : Integer;
BEGIN
   Numero := 1; 
   REPEAT 
      writeln (Numero); 
      Numero := Numero + 1; 
   UNTIL Numero = 50; 

Esta estructura se encuentra en cualquier lenguaje de programacion, no necesariamente tal cual


se muestra aqui, se utiliza un for o un while, simplemente se modifica la condicion para que no
afecte al numero de repeticiones. Por ejemplo con un for:
for(a = 0; a<50; a++)
    printf(“Rafa\n”); 

Esta sentencia se ejecutara 50 veces, osea hasta el 50.


Como conclusion decir que todo lo necesario para realizar repeteciones se encuentran con las
estructuras while() y for(), solo es cuestion de saber estructurar las condiciones.

4.3 Repetir desde


Realiza la acción o conjunto de acciones, luego evalúa una condición, de resultar cierta vuelve a
realizar la(s) acción(es). Cuando sea falsa se sale del ciclo. Su sintaxis es:

Do {
      Sentencia, 
      . 
      . 
      . 

} While ();

La diferencia fundamental, entre el ciclo while y do… while es que en este último, las sentencias
se realizarán por lo menos una vez, en cambio, con while, solo se cumplirán mientras se cumpla
la condición, lo cual puede ser nunca.

Potrebbero piacerti anche