Está en la página 1de 10

Universidad los Ángeles de Chimbote

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.

Se debe tener en cuenta lo siguiente para la construcción 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 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.

A continuación se detallan tres estructuras repetitivas básicas:

1. Estructura Repetitiva Desde / Para. (FOR)


2. Estructura Repetitiva Hacer – Mientras. (DO WHILE)
3. Estructura Repetitiva Mientras. (WHILE)

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.

Ejemplo 1: Contador que incrementa de uno en uno.


La variable contador va a tener la función de ser el contador.

contador = 1 // Inicialización de la variable contador con el valor 1

contador = contador + 1 // la variable contador incrementa a 2 por la suma

Ejemplo 2: Contador que decrementa de uno en uno


La variable cont va a tener la función de ser el contador.

cont = 10 // Inicialización de la variable cont con el valor 10

cont = cont - 1 // la variable cont decrementa a 9 por la resta

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.

Ejemplo 3: Contador que incrementa de dos en dos

c = 0 // Inicialización de la variable c con el valor 0

c = c + 2 // la variable c incrementa a 2 por la suma

Ejemplo 4: Contador que decrementa de cinco en cinco

contador = 57 // la variable contador es igual a 57

contador = contador - 5 // el contador decrementa a 52

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.

La forma de representar un acumulador es:

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.

Solución del ejemplo 5.

S=0
leer(nota)
S=S+nota
Prom=S/10

La explicación del algoritmo es el siguiente:

S = 0 // Inicialización de la variable “S” acumulador con el


valor 0

// el bucle; tiene dos instrucciones.

leer (nota) // 1. Se lee la 1era nota

S = S + nota // Se suma la 1era nota + el valor de S que es cero


“0”
// Imaginemos que la 1era nota = 13, ahora S vale 13
// terminado regresa el bucle a su primera instrucción
//
// 2. Leer la 2da nota en la misma variable “nota”
// imaginamos ahora nota=08, ahora S vale 13+8=21
//
// 3. Leer nota por tercera vez
// imaginamos ahora nota=17, ahora S vale 21+17=38
// 4. Leer nota por cuarta vez
// nota=11, ahora S vale 38+11=49
// y asi sucesivamente hasta leer las 10 notas,
// terminado en la varible acumuladora esta el total de
// la suma de las 10 notas.
Prom = S/10 // 5. Hallar el promedio = S / 10

Esto es la forma como trabaja un acumulador.

3
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Estructura Repetitiva Desde/Para


En muchas ocasiones se conoce de antemano el número de veces que se desean ejecutar las
acciones o instrucciones de un bucle. En estos casos en los que el número de iteraciones es fijo,
se debe usar la estructura desde/para. Por ejemplo, ingresar 10 notas, 100 números, etc.

La representación gráfica de la estructura repetitiva desde/para en un Diagrama de Flujo es el


siguiente:

Figura 37. Diagrama de flujo de la estructura repetitiva Desde/Para

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).

Ejemplo: Queremos que se repita 50 veces el bloque de instrucciones.


Describiremos el siguiente ejemplo por etapas:
Nota: El símbolo 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
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 (c<=50): Inmediatamente se verifica en forma automática, si la condición es


verdadera. En caso de serlo se ejecuta el bloque de instrucciones del ciclo, es decir, si el bloque
tuviera 5 instrucciones esas se realizan una por una.

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

4ta Etapa (c<=50): Seguidamente, se vuelve a comprobar la condición si es verdadera, y si lo es,


vuelve a realizar las instrucciones del ciclo, así prosigue ejecutándose todo el bucle hasta que la
condición es falsa y sale del bucle.

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é?

La instrucción de modificación no solamente puede ser un incrementador, también puede ser un


decrementador, es decir, la variable de inicialización decrementará a lo que se desea, esto “se
puede hacer siempre y cuando la variable de inicialización comienza en un valor mayor que el de
la condición”, por ejemplo:

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.

La representación gráfica de la estructura repetitiva desde/para en el diagrama estructurado y


pseudocódigo son los siguientes:

estructura repetitiva
desde/para

Figura 38. Diagrama estructurado de la estructura repetitiva Desde/Para

modificación
condición
inicialización

desde c = vi hasta vf inc|dec valor hacer


instrucción 1
instrucción 2
.
.
instrucción n
fin_desde

Figura 39. Pseudocódigo de la estructura repetitiva Desde/Para

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.

Cuerpo del bucle

Figura 40. Diagrama de flujo del ejemplo 1

Cuerpo del bucle

Figura 41. Diagrama estructurado del ejemplo 1

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.

Cuerpo del bucle

Figura 43. Diagrama de flujo del ejemplo 2

9
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Cuerpo del bucle

Figura 44. Diagrama estructurado del ejemplo 2

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

Figura 45. Pseudocódigo del ejemplo 2

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

También podría gustarte