Se trata de un ciclo que se ejecuta cuando no sabemos a ciencia cierta el número de veces que se va a repetir. Supongamos que necesitamos calcular el total gastado durante la ejecución de un proyecto, los cuales son "n", el ciclo se repite mientras sigamos ingresando cada uno de los gastos.
Para controlar al ciclo tenemos que formular una condición en donde el ciclo se va a repetir una y otra vez mientras la condición sea verdadera, cuando la condición sea falsa el ciclo termina.
Nota: Para controlar el funcionamiento de un ciclo se utilizan dos elementos los cuales son esenciales para el funcionamiento y control del ciclo:
Contador
Acumulador
Contador: su formula es Cont++ ó Cont=Cont+1
Esto quiere decir que cada vez que el ciclo se ejecute el contador avanzará una posición, por ejemplo si el contador al declararlo le otorgamos un valor de cero, cuando el ciclo se ejecute 0+1=1, el contador valdrá 1, se vuelve a ejecutar el ciclo el contador se incrementará 1 más 1+1=2, entonces contador valdrá 2, así sucesivamente hasta que, el ciclo se detenga.
Por lo tanto la condición podrá ser que el ciclo se ejecute hasta alcanzar un valor, por ejemplo mientras cont<5 se detendrá en 4 ó cont<=5, se detendrá el ciclo en 5.
Acumulador: Su formula es Acum+=valor ó Acum=Acum+valor
Lo cual indica que en Acum se almacenarán todos los valores generados o almacenados en la variable valor, el valor de inicio de Acum debe de ser cero y cada vez que el ciclo se ejecuta el usuario introduce valores que se almacenen en una variable en este caso es valor, dichos valores se van a ir almacenando en el acumulador y al finalizar el programa se puede imprimir el acumulador para obtener el total generado durante la ejecución del ciclo.
Normalmente la condición inicial debe tener un valor de inicio la variable de control, además de que la condición debe ser verdadera, en caso que la condición de inicio sea falsa, el ciclo nunca se va a ejecutar.
Volviendo al programa de gastos diseñamos un formulario:
2 etiquetas, 2 botones y 1 cuadro de texto
Su código con ciclo While:
Veamos otro ejemplo, encontrar el número mayor de entre un conjunto "n" de números dados por el usuario:
2 etiquetas, 2 botones, 1 cuadro de texto
Su código:
a) En el mismo formulario agrega otro botón y cuadro de texto que muestre el número menor del conjunto de números ingresados en el formulario:
b) En otro formulario ingresa un conjunto de números enteros, los que son impares los deberá sumar, con los pares mostrará el promedio.
Do While
Este ciclo permite repetir una y otra vez un conjunto de instrucciones de un programa, se ejecuta por lo menos una vez antes de evaluar si la condición es verdadera, en caso de serlo el conjunto de instrucciones se repite una y otra vez, hasta que la condición sea falsa, en ese caso la sentencia se detiene.
Veamos un ejemplo, desarrollando el mismo programa pero ahora con ciclo do while
Código con Do While:
a) En una empresa se aplica el aumento salarial anual mismo que se lleva a cabo en base a la siguiente tabla:
Elabora un programa que solicite el salario y en base a este calcule el nuevo por empleado, al final mostrará el total acumulado por tipo de empleado, supongamos que son 10 empleados.
b) Dados N números enteros obtenga:
Cuantos números leídos fueron mayores que 0.
Calcule el promedio de los números positivos.
Obtenga el promedio de todos los números.
Problemas de tarea:
1. Suponemos que en una reciente elección participaron 4 candidatos, los cuales identificaremos como 1, 2, 3 y 4. Elabora un programa que cuente el número de votos correspondiente a cada candidato y el porcentaje que obtuvo respecto al total de los votantes. El usuario tecleará los votos de manera desorganizada, el final de los votos está representado por un cero.
2. En el centro meteorológico de México se llevan los promedios mensuales de las lluvias caídas en las principales regiones del país. Existen 3 regiones importantes denominadas NORTE, CENTRO y SUR. Elabora un programa que calcule lo siguiente:
El promedio anual de la región CENTRO.
El mes y registro con menor lluvia en la región SUR.
La región con mayor lluvia anual.
3. En un estadio se tienen 5 tipos de diferentes localidades, las cuales se identifican por una clave numérica que es un valor comprendido entre 1 y 5. Los precios de cada localidad y los datos referentes a las ventas de boletos para el próximo juego se proporcionan como sigue:
Elabora un programa que:
Lea los datos de las ventas de boletos
Imprima cada venta, la clave, la cantidad y el importe total de los boletos vendidos en cada venta.
Calcule e imprima la cantidad de boletos vendidos de cada tipo.
Calcule e imprima la recaudación total del estadio.
Considera que en cada venta solo se venden boletos de un tipo.
4. Elabora un programa que calcule lo que hay que pagar por un conjunto de llamada telefónicas. Por cada llamada se ingresa el tipo (Internacional, Nacional, Local) y la duración en minutos.
El criterio que se sigue para calcular el costo de cada llamada es el siguiente:
5. Un vendedor ha realizado una serie de ventas de calzado y desea conocer aquellas de $200 o menos, las mayores de $200 pero inferiores a $400 y el número de ventas de $400 o más. Elabora un programa utilizando ciclo Do While o While, la salida del programa es ingresando cero, utiliza contadores y acumuladores.
Entrega además el ejecutable de la aplicación.
6. En una bodega se tiene la información sobre las cantidades producidas de cada tipo de vino, a lo largo de los últimos años. Elabora un programa que calcule e imprima lo siguiente:
El total producido de cada tipo de vino (son 5 tipos) a lo largo de N años.
El total producido de vino por año.
Año en que se produjo la mayor cantidad de litros de vino del tipo 2. Imprimir también la cantidad de vinos.
Verificar si hubo algún año en el cual no se produjo el vino tipo 3, si existe dicho año, imprimirlo.
7. Desarrolla las siguientes series por medio de la programación utilizando para ello los ciclos que consideres pertinentes:
ULAM
Se dice que independientemente del tamaño del número, positivo, de partida, si aplicamos las reglas que rigen la Sucesión de Ulam, la sucesión siempre tendrá un último término que tiene el valor 1.
Las reglas de la sucesión de Ulam dicen que para obtener el siguiente término de la sucesión se analiza el término actual: - Si el término actual es par, el siguiente término se calcula dividiendo el actual por 2 - Si el término actual es impar, el siguiente término se calcula multiplicando por 3 el actual y sumándole 1 Por ejemplo, supongamos n = 26, la sucesión sería: 26; 13; 40; 20; 10; 5; 16; 8; 4; 2; 1. Diseñe un algoritmo que genere los términos de la sucesión de Ulam, empezando de un n cualquiera.