0221 APU AlgoritmosParte2 232Q V1-0

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

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:

Fuente: 1: Elaboración propia

En pseudocódigo:

Algoritmo
Mientras expresion_logica Hacer
secuencia_de_acciones
Fin Mientras
FinAlgoritmo

© 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; si no se cumple, se ejecutan las instrucciones que están fuera
del ciclo repetitivo. La variable de la condición del mientras debe actualizar su valor antes
de volver a ser evaluada.

Pseudocódigo:

Algoritmo mostrar numeros


Escribir "Ingresar un numero"
Leer num
Mientras num>0 Hacer
Escribir num
Escribir "Ingresar un numero"
Leer num
Fin Mientras
FinAlgoritmo

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


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 solo los


números múltiplos de 5.

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.

Pseudocódigo:

Algoritmo multiplos
Escribir "Ingresar un numero"
Leer num
Mientras num<>0 Hacer
si num mod 5==0
Escribir num
FinSi
Escribir "Ingresar un numero"
Leer num
Fin Mientras
FinAlgoritmo

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


Contadores y acumuladores
Generalmente, cuando usamos ciclos de repetición, necesitamos contar cuántas 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. 4


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.

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


Pseudocódigo:

Algoritmo promedio
cont=0
acum=0
Escribir"ingresar un numero"
Leer num
Mientras num mod 2 ==0 Hacer
acum=acum+num
cont=cont+1
Escribir"ingresar un numero"
Leer num
Fin Mientras si
cont==0
Escribir"no se puede calcular el promedio"
SiNo
Escribir"el promedio es"
Escribir acum/cont
FinSi
FinAlgoritmo

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. La variable inicial no se puede alterar dentro del ciclo.

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


Pseudocódigo:
Para variable_numerica<-valor_inicial Hasta valor_final Con Paso paso Hacer
secuencia_de_acciones
Fin Para

Ejemplo 1:

Mostrar los números del 0 al 9.

Pseudocódigo:
Algoritmo mostrar numeros
Para num desde 0 Hasta 9 Con Paso 1 hacer
Escribir num
Fin Para
FinAlgoritmo

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 agregarle “paso -1”,
indicando que a num se le debe restar
1(uno) en cada vuelta del ciclo como se
muestra en el siguiente diagrama:

Pseudocódigo:
Algoritmo mostrar
Para num desde 9 Hasta 0 Con Paso -1 Hacer
Escribir num
Fin Para
FinAlgoritmo

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


Ejemplo 3:

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

Pseudocódigo:
Algoritmo
suma=0
producto=1
Para i<-0 Hasta 9 Con Paso 1 Hacer
Escribir"ingrese un numero"
leer num
si num>=6
suma=suma+num
SiNo
producto=producto*num
FinSi
Fin Para
Escribir "la suma de los numeros mayores o iguales a 6 es",suma
Escribir" El producto de los numeros menores a 6 es",producto
FinAlgoritmo

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


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 cuántos alumnos aprobaron la
materia.

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


Pseudocódigo:
Algoritmo sin_titulo
cont=0
Escribir"ingrese la cantidad de alumnos"
leer cant
Para i<-1 Hasta cant Con Paso 1 Hacer
Escribir"ingrese la nota del primer parcial"
leer nota1
Escribir"ingrese la nota del segundo parcial"
leer nota2
si nota1>=4 y nota2>= 4
Escribir"APROBO LA MATERIA"
cont=cont+1
SiNo
SI nota1<4 y nota2>= 4 o nota1>=4 y nota2<4
Escribir"RECUPERA UN PARCIAL"
SiNo
Escribir "RECURSA"
FinSi
FinSi
Fin Para
FinAlgoritmo

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

También podría gustarte