You are on page 1of 10

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

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. e debe tener en cuenta lo siguiente para la construccin de una estructura repetitiva! El cuerpo del bucle! "s el grupo de instrucciones que se van a repetir. #entro del cuerpo del bucle debe e$istir una instruccin que modi%ique la condicin lgica de terminacin. Las sentencias de inicializacin. on instrucciones que inicializan contadores y acumuladores. Las condiciones para la terminacin del bucle! "$presiones lgicas que controlan la terminacin del bucle.

& continuacin se detallan tres estructuras repetitivas bsicas! '. /. 5. "structura (epetitiva #esde ) *ara. +,-(. "structura (epetitiva 0acer 1 2ientras. +#- 304L". "structura (epetitiva 2ientras. +304L".

*ara poder entender cmo %unciona un proceso repetitivo, se necesita conocer el concepto de dos e$presiones! 67u8 es un contador9 y 67u8 es un acumulador9 C !"A# $ "n un proceso repetitivo cuya %uncin 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 %orma de controlar un bucle es mediante un contador. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante o %ija en cada iteracin. La %orma de representar un contador es! contador : contador '

La e$presin 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.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

!ota: "n todo contador es necesario que e$ista una instruccin que inicializa la variable que va a tener la %uncin de contador y esta variable puede ser cualquier identi%icador. "jemplo '! ;ontador que incrementa de uno en uno. La variable contador va a tener la %uncin de ser el contador. contador : contador : ' contador < ' ' "jemplo /! ;ontador que decrementa de uno en uno La variable cont va a tener la %uncin de ser el contador. cont cont : : '= cont > ' '= !ota: Un contador puede ser positivo +incrementos, uno a uno. o negativo +decrementos, uno a uno.. Un contador tambi8n puede incrementar o decrementar de dos en dos, tres en tres, cuatro en cuatro y as@ sucesivamente, dependiendo de la tarea que est8 realizando el bucle. "jemplo 5! ;ontador que incrementa de dos en dos c c : : = c < = "jemplo A! ;ontador que decrementa de cinco en cinco contador : contador : BC contador > B BC )) la variable contador es igual a BC )) el contador decrementa a B/ / )) 4nicializacin de la variable c con el valor = )) la variable c incrementa a / por la suma )) 4nicializacin de la variable cont con el valor '= )) la variable cont decrementa a ? por la resta )) 4nicializacin de la variable contador con el valor ' )) la variable contador incrementa a / por la suma

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

ACU%U&A# $ Un acumulador es una variable cuya misin es almacenar cantidades variables. (ealiza la misma %uncin que un contador pero con la di%erencia de que el incremento o decremento es variable y no constante como en el contador. La %orma de representar un acumulador es! : < valorDariable

!ota: "n todo acumulador es necesario que e$ista una instruccin que inicializa la variable que va a tener la %uncin de acumulador y esta variable puede ser cualquier identi%icador. "jemplo B! ;alcular el promedio de notas de '= alumnos, primero debemos utilizar una variable acumulador para ir sumando las '= notas +cantidades variables. y luego dividir este valor entre diez. La variable S va a tener la %uncin de ser el acumulador. olucin del ejemplo B. := leer+nota. : <nota *rom: )'= La e$plicacin del algoritmo es el siguiente! : = )) 4nicializacin de la variable E F acumulador con el valor = )) el bucleG tiene dos instrucciones. leer +nota. : < nota )) '. e lee la 'era nota )) e suma la 'era nota < el valor de que es cero E=F )) 4maginemos que la 'era nota : '5, ahora vale '5 )) terminado regresa el bucle a su primera instruccin )) )) /. Leer la /da nota en la misma variable EnotaF )) imaginamos ahora nota:=H, ahora vale '5<H:/' )) )) 5. Leer nota por tercera vez )) imaginamos ahora nota:'C, ahora vale /'<'C:5H )) A. Leer nota por cuarta vez )) nota:'', ahora vale 5H<'':A? )) y asi sucesivamente hasta leer las '= notas, )) terminado en la varible acumuladora esta el total de )) la suma de las '= notas. )) B. 0allar el promedio : ) '=

*rom : )'=

"sto es la %orma como trabaja un acumulador.


3

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

Estructura Repetitiva Desde/Para


"n muchas ocasiones se conoce de antemano el nmero de veces que se desean ejecutar las acciones o instrucciones de un bucle. "n estos casos en los que el nmero de iteraciones es %ijo, se debe usar la estructura desde/para. *or ejemplo, ingresar '= notas, '== nmeros, etc. La representacin gr%ica de la estructura repetitiva desde/para en un #iagrama de ,lujo es el siguiente!

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

"n su %orma ms t@pica y bsica, esta estructura requiere una variable entera que cumple la %uncin de un contador de vueltas. "n la seccin indicada como EinicializacinF, se suele colocar el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. "n la seccin de EcondicinF se coloca la condicin que deber ser verdadera para que el ciclo contine +en caso de %also el ciclo se detendr.. I %inalmente, en la seccin Emodi%icacinF se coloca una instruccin que permite modi%icar el valor de la variable que hace de contador +para permitir que alguna vez sea %alsa.. "jemplo! 7ueremos que se repita B= veces el bloque de instrucciones. #escribiremos el siguiente ejemplo por etapas! Jota! "l s@mbolo de la %lecha apuntando a la izquierda + . signi%ica ' +igual. (era Eta)a *c'(+: ;uando el ciclo comienza antes de dar la primera vuelta, la variable de inicializacin toma el valor indicado en la seccin de inicializacin. (era Eta)a

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

,da- Eta)a *c.'/0+: 4nmediatamente se veri%ica en %orma automtica, si la condicin es verdadera. "n caso de serlo se ejecuta el bloque de instrucciones del ciclo, es decir, si el bloque tuviera B instrucciones esas se realizan una por una. ,da Eta)a

1era- Eta)a *c'c2(+: &l %inalizar de ejecutarse el bloque de instruccines del bucle, la ejecucin de la estructura repetitiva se regresa a la seccin de modi%icacin. e incrementa en una unidad en contador. 1era Eta)a

3ta Eta)a *c.'/0+: eguidamente, se vuelve a comprobar la condicin si es verdadera, y si lo es, vuelve a realizar las instrucciones del ciclo, as@ prosigue ejecutndose todo el bucle hasta que la condicin es %alsa y sale del bucle.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

3ta Eta)a

&nalicemos el ejemplo! La variable c toma inicialmente el valor '. e controla automticamente el valor de la condicin! como c vale ' y esto es menor que B=, la condicin da verdadero. ;omo la condicin %ue verdadera, se ejecutan la+s. instruccion+es.. &l %inalizar de ejecutar todas las instrucciones, se retorna a la instruccin c : c < ', por lo que la variable c se incrementa en uno. e vuelve a controlar automticamente si c es menor o igual a B=. ;omo ahora su valor es / y sigue siendo menor que B=, se ejecuta nuevamente el bloque de instrucciones e incrementa nuevamente la variable del contador c. "l proceso se repetir hasta que la variable c sea incrementada al valor B'. "n ese momento la condicin ser %alsa, el ciclo se detendr y saldr del bucle repetitivo. La variable c puede ser inicializada y %inalizar en cualquier valor. &dems, no es obligatorio que la instruccin de modi%icacin sea un incremento de tipo contador c : c < '. *uede ser tambi8n c : c < /, en lugar de c : c < ', el valor de c ser incrementado de a / en cada vuelta, y no de a uno. "n este caso, esto signi%icar que el ciclo no e%ectuar las B= vueltas sino solo /B 6*or qu89 La instruccin de modi%icacin no solamente puede ser un incrementador, tambi8n puede ser un decrementador, es decir, la variable de inicializacin decrementar a lo que se desea, esto Ese puede hacer siempre y cuando la variable de inicializacin comienza en un valor mayor que el de la condicinF, por ejemplo!

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

&nalicemos el ejemplo! La variable c toma inicialmente el valor '==. "l valor de la condicin es c K: '. La variable c decrementa de dos en dos. "sto quiere decir que el bucle se repite B= veces, que comienza en un valor de contador : '==, decrementa de dos en dos, hasta que la condicin es %alsa. La representacin gr%ica de la estructura repetitiva desde/para en el diagrama estructurado y pseudocdigo son los siguientes!

estructura re)etitiva desde/para

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

condicin iniciali5acin

modificacin

desde c : vi hasta vf incLdec valor hacer instruccin ' instruccin / . . instruccin n fin4desde
Figura 39. Pseudocdigo de la estructura repetitiva Desde/Para

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

"jemplo '! (ealizar un algoritmo que permita hallar la suma de los '= primeros nmeros enteros positivos, y su promedio.

Cuer)o del bucle

Figura 40. Diagrama de flujo del ejemplo 1

Cuer)o del bucle

Figura 41. Diagrama estructurado del ejemplo 1

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

algoritmo "jemplo' var entero! c , suma real! prom inicio suma : = desde c : ' hasta '= inc ' hacer suma : suma < c fin4desde prom : suma)'= escribir+MLa suma es ! N,suma. escribir+M"l promedio es ! N,prom. fin
Figura 42. Pseudocdigo del ejemplo 1

Cuer)o del bucle

!ota: "n *seudocdigo si la instruccin de incremento es en uno, se puede obviar la instruccin inc 1, y solamente se puede colocar! desde c : ' hasta '= hacer . *orque en algoritmo se sobrentiende que aumenta en '. "jemplo /! (ealizar un algoritmo que permita hallar la suma y promedio de /= nmeros enteros ingresados por teclado.

Cuer)o del bucle

Figura 43. Diagrama de flujo del ejemplo 2

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Fundamentos de Programacin

Cuer)o del bucle

Figura 44. Diagrama estructurado del ejemplo 2

algoritmo "jemplo/ var entero! n, c, suma real! prom inicio suma : = desde c : ' hasta /= inc ' leer+n. suma : suma < n fin4desde prom : suma)/= escribir+MLa suma es ! N,suma. escribir+M"l promedio es ! N,prom. fin
Figura 45. Pseudocdigo del ejemplo 2

Cuer)o del bucle

"jemplos de autoaprendizaje! (esuelva en diagrama de %lujo, estructurado y pseudocdigo. "jemplo 5! (ealizar un algoritmo que me permita leer '= nmeros positivos y negativos, e imprima solamente los nmeros positivos. "jemplo A! (ealizar un algoritmo que me permita leer /= nmeros e imprimir cuntos son positivos, negativos y neutros. #ato! Jeutro se le conoce al cero E=F

10

You might also like