You are on page 1of 7

Algoritmos: Parte II

Estructuras de repetición

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


instrucción o un conjunto de instrucciones. 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.

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.

CICLO MIENTRAS

Este ciclo consiste en un conjunto de instrucciones que se repiten mientras se


cumpla una condición.

Importante: La/s variable/s que intervienen en la condición deben tener un valor previo y
modificarse dentro del ciclo.

En el diagrama de Chapin, el ciclo mientras se representa de la siguiente forma

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 1


Ejemplo 1:
Leer números hasta que ingrese un cero o un negativo y mostrarlos
La variable de la condición
debe tener un valor antes
de evaluarla en el mientras

cuando el proceso llega


a la última instrucción
del mientras vuelve al
inicio del ciclo para
controlar si se cumple
o no la condición. Si se
cumple vuelve a ejecutar
las instrucciones que
están dentro del ciclo, sino
ejecuta las instrucciones
que siguen fuera del mismo La variable de la
condición
debe actualizar su valor antes
de volver a ser evaluada

Ejemplo 2:
Leer números mientras sean distintos de cero y mostrar los que son múltiplos
de 5

Permite que el ciclo


se repita mientras
se ingresen
números
distintos de cero

Condición para
mostrar sólo los
números múltiplos
de 5

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 2


Nota: para determinar si un número es múltiplo o divisor de otro usamos la función
resto (MOD en el ejemplo) que nos devuelve el resto de dividir al primer número por el
segundo; si la función devuelve un cero significa que el primer número es múltiplo del
segundo.

Contadores y acumuladores
Generalmente, cuando usamos ciclos de repetición, necesitamos contar cuantas veces
se cumple alguna condición o sumar todos los valores que va tomando una variable
dentro del ciclo. Para ello usamos variables que denominamos contadores y
acumuladores.
Un contador es una variable que se incrementa o decrementa en un valor constante
cada vez que ocurre un evento. Los contadores se utilizan dentro de estructuras
repetitivas para contar cierto evento que ocurre dentro del ciclo.
El contador debe inicializarse en cero antes de comenzar el ciclo.
Para entender cómo se usa una variable como contador pensemos en lo siguiente:
Cuando comienza el programa, no se produjo ninguna ocurrencia del evento que
queremos contar, por lo tanto el valor inicial del contador fuera del ciclo debe ser cero
cont = 0
Cada vez que ocurre el evento debemos sumarle 1 a la variable cont
0+1=1
1+1=2
2+1=3
3+1=4
Vemos que para contar debemos sumar 1 al valor que obtuvimos como resultado en el
renglón anterior, entonces este valor debemos guardarlo en la misma variable cont, de
la siguiente forma:
cont = cont + 1 (recordar que la asignación se hace de derecha a izquierda)
Un acumulador es una variable que se incrementa en un valor variable. Se utilizan en
el caso de querer obtener la suma o el producto de los distintos valores que toma una
variable dentro de un ciclo. El acumulador debe estar inicializado antes de empezar el
ciclo, en el elemento neutro de la operación, si es suma en cero y si es producto en
uno. El formato de un acumulador es
acum = acum + variable
acum = acum * variable

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 3


Ejemplo 3:
Leer números mientras sean pares y calcular su promedio
Para calcular el promedio de una lista de números debemos calcular la suma de todos
ellos y dividirla por la cantidad de números que ingresamos. Usamos entonces un
acumulador y un contador dentro del ciclo mientras. Observemos que al comienzo del
algoritmo están inicializadas en cero ambas variables. Observar que el cálculo del
promedio se resuelve fuera del ciclo, una vez que se sumaron todos los múltiplos de
dos ingresados. Además, antes de hacer la división debemos asegurarnos que la
variable por la que vamos a dividir no haya quedado en cero, para ello usamos una
estructura de decisión.

Nota: siempre que en un algoritmo aparezca una división por una variable, debemos
asegurarnos que esta variable no tenga valor CERO. Usamos entonces una estructura
de decisión, si fuera necesario, antes de plantear la división.
Una posible división por cero en un algoritmo es un ERROR GRAVE

CICLO PARA

Este ciclo también permite ejecutar repetidas veces un grupo de instrucciones,


pero el número de veces que se repite es conocido de antemano. Por eso este ciclo
maneja el valor inicial, el valor del incremento y el valor final de la variable de control
como parte de la instrucción.

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 4


Ejemplo 1:
Mostrar los números del 0 al 9.

Ejemplo 2:

Mostrar los números del 9 al 0

Para mostrar los números del 9 al 0, la variable num debe empezar en 9 y llegar hasta
0, restándole 1 al valor de esa variable en cada ciclo
En este caso, el algoritmo utilizaría la instrucción para agregándole “paso -1”, indicando
que a num se le debe restar 1(uno) en cada vuelta del ciclo como se muestra en el
siguiente diagrama:

Ejemplo 3:

Leer 10 números y calcular la suma de los mayores o iguales que 6 y el producto de los
menores.

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 5


Ejemplo 4:

Leer la cantidad de alumnos de un curso e ingresar las notas del primer y segundo
parcial de cada alumno. Mostrar el mensaje “APROBO LA MATERIA”, si los dos
parciales tienen nota mayor o igual a 4. “RECUPERA UN PARCIAL”, si alguno de los
dos parciales no está aprobado o “RECURSA” si no aprobó ningún parcial. Calcular y
mostrar cuantos alumnos aprobaron la materia.

MAXIMOS Y MINIMOS
Para buscar el máximo de un conjunto de datos, un método bastante estándar
es asignar a una variable el primer valor leído y luego comparar cada valor siguiente
con esa variable. En caso de que alguno de los valores leídos sea mayor al de esa
variable, se le asigna el nuevo valor. El resto de los valores se seguirá comparando con
el mayor obtenido hasta ese momento, y si alguno es mayor se guardara en la variable,
reemplazando al anterior.
De forma similar se procede para determinar el mínimo de un conjunto de datos

Ejemplo 1:

Leer 11 números y determinar el máximo.

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 6


Asigna el primer valor leído
a la variable max

compara cada valor de


num con max. Si hay alguno
mayor a max, se guarda ese
valor de num en max

El mayor valor de los


ingresados es el que queda
guardado en max

© Universidad de Palermo Prohibida la reproducción total o parcial de imágenes y textos. 7

You might also like