Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EstructurasRepetitivas EstructuraRepetitivaDesde
EstructurasRepetitivas EstructuraRepetitivaDesde
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
Estructuras Repetitivas
Las computadoras están diseñadas para aquellas aplicaciones en las cuales una operación 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 número determinado de veces, a
está estructura se la llama Estructura Repetitiva.
Las estructuras repetitivas se utilizan cuando se desea que una instrucción o bloque de
instrucciones se repita un número determinado de veces o hasta que una condición de
terminación se cumpla.
Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se
denominan bucles, y se llama iteración al hecho de repetir la ejecución de una secuencia de
acciones. Iterar es repetir una vez el bucle.
El cuerpo del bucle: Es el grupo de instrucciones que se van a repetir. Dentro del cuerpo
del bucle debe existir una instrucción que modifique la condición lógica de terminación.
Las sentencias de inicialización. Son instrucciones que inicializan contadores y
acumuladores.
Las condiciones para la terminación del bucle: Expresiones lógicas que controlan la
terminación del bucle.
Para poder entender cómo 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 función es contar los sucesos o acciones internas del bucle, como
pueden ser el número 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 iteración.
La forma de representar un contador es:
contador = contador 1
La expresión anterior se debe interpretar como asignar a la variable contador el valor que tenia
anteriormente más uno o menos uno, dependiendo del caso si se quiere incrementar o
decrementar.
1
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
Nota:
En todo contador es necesario que exista una instrucción que inicializa la variable que va a tener
la función de contador y esta variable puede ser cualquier identificador.
10
Nota:
Un contador puede ser positivo (incrementos, uno a uno) o negativo (decrementos, uno a uno). Un
contador también 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.
57
2
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
ACUMULADOR
Un acumulador es una variable cuya misión es almacenar cantidades variables. Realiza la misma
función que un contador pero con la diferencia de que el incremento o decremento es variable y
no constante como en el contador.
S = S + valorVariable
Nota:
En todo acumulador es necesario que exista una instrucción que inicializa la variable que va a
tener la función 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 función de ser el acumulador.
S=0
leer(nota)
S=S+nota
Prom=S/10
3
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
En su forma más típica y básica, esta estructura requiere una variable entera que cumple la
función de un contador de vueltas. En la sección indicada como “inicialización”, se suele colocar
el nombre de la variable que hará de contador, asignándole a dicha variable un valor inicial. En la
sección de “condición” se coloca la condición que deberá ser verdadera para que el ciclo continúe
(en caso de falso el ciclo se detendrá). Y finalmente, en la sección “modificación” se coloca una
instrucción que permite modificar el valor de la variable que hace de contador (para permitir que
alguna vez sea falsa).
1era Etapa (c=1): Cuando el ciclo comienza antes de dar la primera vuelta, la variable de
inicialización toma el valor indicado en la sección de inicialización.
1era Etapa
4
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
2da Etapa
3era. Etapa (c=c+1): Al finalizar de ejecutarse el bloque de instrucciónes del bucle, la ejecución
de la estructura repetitiva se regresa a la sección de modificación. Se incrementa en una unidad
en contador.
3era Etapa
5
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
4ta Etapa
Analicemos el ejemplo:
La variable c toma inicialmente el valor 1.
Se controla automáticamente el valor de la condición: como c vale 1 y esto es menor que
50, la condición da verdadero.
Como la condición fue verdadera, se ejecutan la(s) instruccion(es).
Al finalizar de ejecutar todas las instrucciones, se retorna a la instrucción c = c + 1, por lo
que la variable c se incrementa en uno.
Se vuelve a controlar automáticamente 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 condición será falsa, el ciclo se detendrá y saldrá del bucle repetitivo.
La variable c puede ser inicializada y finalizar en cualquier valor. Además, no es obligatorio que la
instrucción de modificación sea un incremento de tipo contador c = c + 1. Puede ser también 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é?
6
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
Analicemos el ejemplo:
La variable c toma inicialmente el valor 100.
El valor de la condición 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 condición es falsa.
estructura repetitiva
desde/para
modificación
condición
inicialización
7
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
Ejemplo 1:
Realizar un algoritmo que permita hallar la suma de los 10 primeros números enteros positivos, y
su promedio.
8
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
algoritmo Ejemplo1
var
entero: c , suma
real: prom
inicio
suma = 0
desde c = 1 hasta 10 inc 1 hacer
suma = suma + c Cuerpo del bucle
fin_desde
prom = suma/10
escribir(‘La suma es : ’,suma)
escribir(‘El promedio es : ’,prom)
fin
Figura 42. Pseudocódigo del ejemplo 1
Nota:
En Pseudocódigo si la instrucción de incremento es en uno, se puede obviar la instrucción 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 números enteros ingresados
por teclado.
9
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación
algoritmo Ejemplo2
var
entero: n, c, suma
real: prom
inicio
suma = 0
desde c = 1 hasta 20 inc 1
leer(n)
Cuerpo del bucle
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 pseudocódigo.
Ejemplo 3: Realizar un algoritmo que me permita leer 10 números positivos y negativos, e imprima
solamente los números positivos.
Ejemplo 4:
Realizar un algoritmo que me permita leer 20 números e imprimir cuántos son positivos, negativos
y neutros.
Dato: Neutro se le conoce al cero “0”
10