Estructuras Repetitivas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

ASIGNATURA:
TALLER DE ALGORITMICA Y PROGRAMACION

TEMA: ESTRUCTURAS DE CONTROL REPETITIVAS

DOCENTE: YESSENIA BERNALES GUZMAN


ALUMNOS: MIGUEL JONATAN YABARRENA QUISPE
DAVID IRRARAZABAL
RICARDO ROJAS JUARES

CUSCO PERU
2017
ESTRUCTURAS DE CONTROL REPETITIVOS

1. Bucles o Ciclos

Un bucle, lazo, ciclo o loop (en ingls) es un segmento de algoritmo o programa (una
secuencia de instrucciones) que se repiten un determinado nmero de veces mientras se
cumple una determinada condicin, en otras palabras, un bucle o ciclo es un conjunto de
instrucciones que se repiten mientras una condicin es verdadera o existe.

A cada repeticin del conjunto de acciones se denomina iteracin.

Para que un bucle no se repita indefinidamente debe tener una condicin de parada o de fin.
Esta condicin de parada o de fin se verifica cada vez que se hace una iteracin. El ciclo o
loop llega a su fin cuando la condicin de parada se hace verdadera.

La condicin de parada puede estar al principio de la estructura repetitiva o al final.

Al igual que las estructuras de seleccin simple o compuesta (los bloques si entonces
sino fsi), en un algoritmo pueden utilizarse varios ciclos. Estos ciclos pueden ser
independientes (una a continuacin de otro) o anidados (ciclos dentro de ciclos).

Para representar los bucles o lazos utilizaremos en el curso las estructuras de control Para,
Repetir y Mientras.

Para qu me sirve esto?

Los ciclos o procesos repetitivos de instrucciones son procedimientos fundamentales en el


uso de las computadoras y por lo tanto en muchos algoritmos y programas.

Vamos a utilizar ciclos cuando:

Necesitemos REPETIR INSTRUCCIONES un determinado nmero de veces, mientras se


cumpla una condicin, mientras un hecho sea verdadero o hasta cuando se alcance un
determinado valor o condicin.

Cuando necesitemos CONTAR un determinado nmero de elementos o de acciones, por


ejemplo contar las slabas de un texto, los elementos de una secuencia que verifican una
determinada condicin o contar el nmero de personas que cumplen ciertas caractersticas.
En este caso se incluirn contadores dentro del bucle.

Los contadores son variables

(Generalmente de tipo Entero) que tienen un valor inicial y que se incrementan o


decrementan en un valor constante cada vez que ocurre una iteracin. Cuando los
contadores se decrementan se habla de descontar, en lugar de contar.

Tambin usaremos ciclos cuando necesitemos ACUMULAR o TOTALIZAR terminados


valores cada vez que se realiza una iteracin. Los acumuladores tambin son variables
(generalmente de tipo Entero, Real o String), que almacenan valores variables resultantes
de las operaciones que se realizan en cada ciclo.

Por ejemplo, podemos usar para ir sumando los precios de varios vehculos y luego calcular
el precio promedio general (con una variable acumulador de tipo real), para calcular la
potencia o el factorial de un nmero a travs de multiplicaciones sucesivas (un acumulador
de tipo entero o real) o para ir agregando a una cadena de caracteres, letras o slabas que
construirn un mensaje (una variable acumulador del tipo string)

Recuerdas los ejercicios donde hemos necesitado repetir un grupo de acciones y no


podamos?

Ahora los ciclos te permitirn repetir esos bloques de instrucciones.

2. Estructura Iterativa Para FinPara ( For Next EndFor )

Es una estructura iterativa que es controlada por una variable (llamada tambin variable
ndice), la cual se incrementa o decrementa hasta llegar a un valor lmite o valor final que
representa la condicin de parada.

La estructura Para comienzan con un valor inicial de la variable ndice, las acciones
especificadas para el ciclo se ejecutan un nmero determinado de veces, a menos, que el
valor inicial de la variable ndice sea mayor que el valor lmite que se quiere alcanzar.

SE RECOMIENDA USARLO: la estructura Para es recomendada cuando se conoce el


nmero de veces que se deben ejecutar las instrucciones del ciclo, es decir, en los casos en
que el nmero de iteraciones es fijo y conocido.
El incremento o decremento de la variable_ndice suele ser de 1 en 1, salvo cuando se
indica lo contrario. La variable ndice suele ser de tipo Entero y se utilizan comnmente
nombres como i, j o k (no importa si en maysculas o minsculas)

SINTAXIS del Para:

Para
variable_ndice = valor1 hasta En este ciclo la variable_ndice se
valor2 en inc/dec inicializa con valor1.
hacer El ciclo continuar hasta que
la variable_ndice sobrepase a valor2.
<inst 1>
inc es la unidad en que se

incrementa o decrementa
<inst
la variable_ndice (generalmente
n>
el incremente es en 1)
FinPara;

3. Estructura iterativa Repetir Hasta ( Repeat Until )

Ejecuta un bloque de instrucciones varias veces hasta que se cumple la condicin que es
verificada al final del bucle.

Las instrucciones dentro del ciclo Repetir se van a realizar mientras la condicin de parada
evaluada al final sea falsa. Dicho de otro modo, el ciclo se va a detener cuando la condicin
de parada se haga verdadera.

SE RECOMIENDA USARLO: la estructura Repetir es recomendada cuando las


instrucciones del ciclo se pueden realizar al menos 1 vez antes de comprobar la condicin
de parada.
SINTAXIS del Repetir:

Repetir

< instruccin 1>;

< instruccin n>;

<actualizacin
variable(s) usada(s) en la cond. parada>;

Hasta
<expresin_condicin_de_parada>;

4. Estructura iterativa Mientras hacer FinMientas ( While Do EndWhile)

Es una estructura iterativa que permite verificar la condicin de entrada al ciclo antes del
cuerpo de instrucciones a repetir.

Como la evaluacin de la condicin de entrada se realiza al inicio del bloque

Mientras, puede ocurrir que las instrucciones del ciclo no se realicen ni siquiera 1 vez, a
diferencia del Repetir, donde el bloque de instrucciones se realiza al menos 1 vez porque la
condicin de parada se verifica al final. Las instrucciones del Mientras se pueden realizar 0
o ms veces antes de que se cumpla la condicin de terminar el ciclo.

El conjunto de instrucciones dentro del Mientras FinMientras se ejecuta cuando la


condicin de entrada del principio se cumple (es verdadera). Dicho de otro modo, el ciclo
de instrucciones dentro del Mientras se va a detener cuando la condicin se haga falsa.

SE RECOMIENDA USARLO: la estructura Mientras es recomendada cuando tienes que


verificar la condicin de entrada al inicio y si se cumple, entonces, entrar al ciclo y realizar
sus instrucciones.
SINTAXIS del Mientras:

Mientras
<expresin_condicin_de_entrada>
hacer

<instruccin 1>;

< instruccin n>;

<actualizacin
variable(s) usada(s) en la cond. entrada>;

FinMientras;

IMPORTANTE

Observa que para el Repetir tambin para el Mientras debes incluir en el cuerpo de
instrucciones una accin donde se actualice la o las variables que usas en la condicin de
parada. Por el contrario, en el Para no es necesario incluir esta instruccin ya que en el
encabezado de la instruccin (Para i==1 hasta X en 1hacer ) ya se incluye el incremento.

CUL USAR? CON EJEMPLOS:

1. Si la condicin de parada del ciclo depende de que hayas repetido 30 veces el ciclo:

Usas un bloque Para con la sintaxis: Para i = 1 hasta 30 en 1 hacer

No necesitas una instruccin dentro del Para que incremente el valor de la variable i, ya que
la instruccin en 1 del encabezado del Para se encarga de incrementar y actualizar esta
variable ndice.

2. Si la condicin de parada depende de que hayas repetido 30 veces el ciclo o de que leas
la palabra detener:
No deberas usar un Para, porque no necesariamente vas a repetir el ciclo 30 veces.

Si el usuario te suministra en alguna repeticin del ciclo la palabra detener saldras del
ciclo aunque no lo hayas repetido 30 veces.

Adems en la sintaxis del Para NO PUEDES verificar que la palabra leda sea la detener
En el Para NO PUEDES COLOCAR algo como Para i = 1 ( hasta 30 o palabra
=detener) en 1 hacer

Usas un bloque Repetir o un bloque Mientras que s te permiten verificar en una expresin
las condiciones de que se haya repetido 30 veces el ciclo o que la palabra suministrada sea
detener

Cuando uses un Mientras o un Repetir, debes incluir instrucciones dentro del ciclo que
actualicen las variables de la condicin de parada, para este ejemplo, debera tener una
instruccin que aumente el valor de i ( i = i + 1) y otra que te permita leer un nuevo valor
para la variable palabra ( Escribir(desea detenerse?) Leer(palabra) ).

Tendras instrucciones equivalentes a:

AlgoritmoPrincipal AlgoritmoPrincipal

// verifica si se // verifica si se
suministra una a antes de 30 suministra una a antes
intentos
// de 30 intentos
Entero cont;
Entero cont; Carcter
Caracter letra;
letra;
cont = 1;
cont = 0; // inicializo en 0 el
// solicitamos y leemos la primera
contador de letras
letra

Escribir(suministre la letra
Repetir inicial); Leer(letra);
Escribir(suministre // verificar la condicin a la entrada del
un valor para la letra); mientras Mientras letra a y cont 30 hac
er
Leer(letra);
Escribir(estamos en la
cont = cont + 1;
iteracin + cont);
Escribir(estamos en la
Escribir(suministre nuevo valor para
iteracin + cont);
letra);
Hasta letra == a o cont == 3
Leer(letra);
0;
cont == cont + 1;
Si letra == a Entonces
FMientras;
Escribir(encontr la letra
a en la iteracin + cont); Si letra == a Entonces

Sino Escribir(encontr la A en
la iteracin + cont);
Escribir(repet 30 veces
el ciclo y no le una A); Sino

Fsi; Escribir(repet 30 veces


el ciclo, no hay A );
//
fin de las instrucciones Fsi;

FinAlgoritmoPrincipal //
fin de las instrucciones

AlgoritmoPrincipal

EJEMPLOS

1. Se desea sumar 35 nmeros (pueden ser enteros o reales) suministrados por teclado y
calcular su promedio
Algoritmo Principal
// instrucciones para
SumaryPromediar

Real suma, promedio, num; Entero j;


suma = 0;

Para j = 1 hasta 35 en 1 hacer


Escribir(Suministre el nuevo
nmero );
Leer(num);
suma = suma + num;

FPara;
promedio = suma / ( j 1);

Escribir(La suma de los nmeros


es: + suma);
Escribir(El promedio de los
nmeros es: + promedio);

FinAlgoritmo Principal;

1. Se desea conocer cuantas veces se 1. Calcule


repiten en un texto que el usuario el promedio general de notas de un
suministra letra por letra y que grupo de alumnos para una materia.
termina Se sabe
con * que la materia tiene al menos un
alumno. El usuario le indicar
Algoritmo Principal
cuando
// instrucciones para termin de suministrar todas las
contar las vocales en una notas.

// secuencia de letras

Algoritmo Principal

Entero // instrucciones para


cantA, cantE, cantI, cantO, cantU; calcular el promedio

Caracter letra; // general de notas de un grupo de


alumnos sin
// se inicializan las variables contador
// conocer a priori
cantA=0; cantE=0;
cuantas notas sern
cantI=0; cantO=0;
cantU=0;

Real nota, promedio;

Escribir (suministre la primera letra); Entero numAlumnos;


Leer(letra);
String continuar;
Mientras letra * hacer
promedio = 0; numAlumnos = 0;
Seleccin
continuar = Si;
letra =a: cantA = cantA + 1;

letra=e: cantE = cantE + 1;


Repetir
letra=i: cantI = cantI + 1;

letra=o: cantO = cantO +


// solicitamos y
1;
leemos la nota hasta que
letra=u: cantU = cantU + 1;
//
fSeleccin; sea vlida, es decir, est entre 0 y 20 puntos

Repetir
// actualizo la variable de la Escribir(Suministre la nota del alumno);
condicin de parada
Leer(nota);
Escribir (suministre prxima
Hasta nota >= 0 y
letra); Leer(letra);
nota <= 20;
FMientras;
promedio
Escribir(La cantidad de vocales A =
es: + cantA); (promedio + nota);

Escribir(La cantidad de vocales E numAlumnos = numAlumnos + 1;


es: + cantE);
// actualizamos la variable que
nos indica

Escribir(La cantidad de vocales U // si hay que detener el


es: + cantU); ciclo

Escribir(Desea
suministrar otra nota?
FinAlgoritmo Principal;
Indique Si No);

Leer(continuar);

Hasta continuar == No;

promedio = promedio / numAlumnos;

Escribir(El promedio general es:


+ promedio );

FinAlgoritmo Principal;
BIBILIOGRAFIA:

Marchan S. ( 1985) Estructuras repetitivas: Espaa. Fundacin Juan March


Cairo O. (2006) Fundamentos de programacin: piensa en C: Espaa. Pearson
Educacin
Dominique J. (1974) Programacin lgica: EEUU: Reverte
Koutchouk M. (1986) Cobol: construccin lgica de programas: California.
Reverte

También podría gustarte