Академический Документы
Профессиональный Документы
Культура Документы
Facultad de Ingeniera
Escuela Profesional de Ingeniera de Sistemas
Estructuras Repetitivas
Las computadoras estn diseadas para aquellas aplicaciones en las cuales una operacin o
conjunto de ellas deben repetirse muchas veces. Un tipo muy importante de estructura es el
algoritmo necesario para repetir una o varias acciones por un nmero determinado de veces, a
est estructura se la llama Estructura Repetitiva.
Las estructuras repetitivas se utilizan cuando se desea que una instruccin o bloque de
instrucciones se repita un nmero determinado de veces o hasta que una condicin de
terminacin se cumpla.
Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se
denominan bucles, y se llama iteracin al hecho de repetir la ejecucin de una secuencia de
acciones. Iterar es repetir una vez el bucle.
Se debe tener en cuenta lo siguiente para la construccin de una estructura repetitiva:
El cuerpo del bucle: Es el grupo de instrucciones que se van a repetir. Dentro del cuerpo
del bucle debe existir una instruccin que modifique la condicin lgica de terminacin.
Las sentencias de inicializacin. Son instrucciones que inicializan contadores y
acumuladores.
Las condiciones para la terminacin del bucle: Expresiones lgicas que controlan la
terminacin del bucle.
Para poder entender cmo funciona un proceso repetitivo, se necesita conocer el concepto de dos
expresiones: Qu es un contador? y Qu es un acumulador?
CONTADOR
En un proceso repetitivo cuya funcin es contar los sucesos o acciones internas del bucle, como
pueden ser el nmero de iteraciones del bucle, la cantidad de elementos que tiene un archivo, un
vector, una matriz, etc. Una forma de controlar un bucle es mediante un contador.
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante o
fija en cada iteracin.
La forma de representar un contador es:
contador =
contador
La expresin anterior se debe interpretar como asignar a la variable contador el valor que tenia
anteriormente ms uno o menos uno, dependiendo del caso si se quiere incrementar o
decrementar.
Nota:
En todo contador es necesario que exista una instruccin que inicializa la variable que va a tener
la funcin de contador y esta variable puede ser cualquier identificador.
Ejemplo 1: Contador que incrementa de uno en uno.
La variable contador va a tener la funcin de ser el contador.
contador =
contador =
contador + 1
1
Ejemplo 2: Contador que decrementa de uno en uno
La variable cont va a tener la funcin de ser el contador.
cont
10
cont
cont - 1
10
Nota:
Un contador puede ser positivo (incrementos, uno a uno) o negativo (decrementos, uno a uno). Un
contador tambin puede incrementar o decrementar de dos en dos, tres en tres, cuatro en cuatro y
as sucesivamente, dependiendo de la tarea que est realizando el bucle.
Ejemplo 3: Contador que incrementa de dos en dos
c
0
Ejemplo 4: Contador que decrementa de cinco en cinco
contador =
57
contador =
contador - 5
// el contador decrementa a 52
57
ACUMULADOR
Un acumulador es una variable cuya misin es almacenar cantidades variables. Realiza la misma
funcin que un contador pero con la diferencia de que el incremento o decremento es variable y
no constante como en el contador.
La forma de representar un acumulador es:
S = S + valorVariable
Nota:
En todo acumulador es necesario que exista una instruccin que inicializa la variable que va a
tener la funcin de acumulador y esta variable puede ser cualquier identificador.
Ejemplo 5:
Calcular el promedio de notas de 10 alumnos, primero debemos utilizar una variable acumulador
para ir sumando las 10 notas (cantidades variables) y luego dividir este valor entre diez. La
variable S va a tener la funcin de ser el acumulador.
Solucin del ejemplo 5.
S=0
leer(nota)
S=S+nota
Prom=S/10
La explicacin del algoritmo es el siguiente:
S =
leer (nota)
S =
S + nota
Prom = S/10
En su forma ms tpica y bsica, esta estructura requiere una variable entera que cumple la
funcin de un contador de vueltas. En la seccin indicada como inicializacin, se suele colocar
el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. En la
seccin de condicin se coloca la condicin que deber ser verdadera para que el ciclo contine
(en caso de falso el ciclo se detendr). Y finalmente, en la seccin modificacin se coloca una
instruccin que permite modificar el valor de la variable que hace de contador (para permitir que
alguna vez sea falsa).
Ejemplo: Queremos que se repita 50 veces el bloque de instrucciones.
Describiremos el siguiente ejemplo por etapas:
Nota: El smbolo de la flecha apuntando a la izquierda (
) significa = (igual)
1era Etapa (c=1): Cuando el ciclo comienza antes de dar la primera vuelta, la variable de
inicializacin toma el valor indicado en la seccin de inicializacin.
1era Etapa
3era. Etapa (c=c+1): Al finalizar de ejecutarse el bloque de instruccines del bucle, la ejecucin
de la estructura repetitiva se regresa a la seccin de modificacin. Se incrementa en una unidad
en contador.
3era Etapa
4ta Etapa
Analicemos el ejemplo:
La variable c toma inicialmente el valor 1.
Se controla automticamente el valor de la condicin: como c vale 1 y esto es menor que
50, la condicin da verdadero.
Como la condicin fue verdadera, se ejecutan la(s) instruccion(es).
Al finalizar de ejecutar todas las instrucciones, se retorna a la instruccin c = c + 1, por lo
que la variable c se incrementa en uno.
Se vuelve a controlar automticamente si c es menor o igual a 50. Como ahora su valor es
2 y sigue siendo menor que 50, se ejecuta nuevamente el bloque de instrucciones e
incrementa nuevamente la variable del contador c.
El proceso se repetir hasta que la variable c sea incrementada al valor 51. En ese
momento la condicin ser falsa, el ciclo se detendr y saldr del bucle repetitivo.
La variable c puede ser inicializada y finalizar en cualquier valor. Adems, no es obligatorio que la
instruccin de modificacin sea un incremento de tipo contador c = c + 1. Puede ser tambin c = c
+ 2, en lugar de c = c + 1, el valor de c ser incrementado de a 2 en cada vuelta, y no de a uno.
En este caso, esto significar que el ciclo no efectuar las 50 vueltas sino solo 25 Por qu?
La instruccin de modificacin no solamente puede ser un incrementador, tambin puede ser un
decrementador, es decir, la variable de inicializacin decrementar a lo que se desea, esto se
puede hacer siempre y cuando la variable de inicializacin comienza en un valor mayor que el de
la condicin, por ejemplo:
Analicemos el ejemplo:
La variable c toma inicialmente el valor 100.
El valor de la condicin es c >= 1.
La variable c decrementa de dos en dos.
Esto quiere decir que el bucle se repite 50 veces, que comienza en un valor de contador =
100, decrementa de dos en dos, hasta que la condicin es falsa.
La representacin grfica de la estructura repetitiva desde/para en el diagrama estructurado y
pseudocdigo son los siguientes:
estructura repetitiva
desde/para
condicin
modificacin
inicializacin
Ejemplo 1:
Realizar un algoritmo que permita hallar la suma de los 10 primeros nmeros enteros positivos, y
su promedio.
algoritmo Ejemplo1
var
entero: c , suma
real: prom
inicio
suma = 0
desde c = 1 hasta 10 inc 1 hacer
suma = suma + c
fin_desde
prom = suma/10
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
fin
Nota:
En Pseudocdigo si la instruccin de incremento es en uno, se puede obviar la instruccin inc 1, y
solamente se puede colocar: desde c = 1 hasta 10 hacer . Porque en algoritmo se
sobrentiende que aumenta en 1.
Ejemplo 2:
Realizar un algoritmo que permita hallar la suma y promedio de 20 nmeros enteros ingresados
por teclado.
algoritmo Ejemplo2
var
entero: n, c, suma
real: prom
inicio
suma = 0
desde c = 1 hasta 20 inc 1
leer(n)
suma = suma + n
fin_desde
prom = suma/20
escribir(La suma es : ,suma)
escribir(El promedio es : ,prom)
fin
Ejemplos de autoaprendizaje:
Resuelva en diagrama de flujo, estructurado y pseudocdigo.
Ejemplo 3: Realizar un algoritmo que me permita leer 10 nmeros positivos y negativos, e imprima
solamente los nmeros positivos.
Ejemplo 4:
Realizar un algoritmo que me permita leer 20 nmeros e imprimir cuntos son positivos, negativos
y neutros.
Dato: Neutro se le conoce al cero 0
10