Está en la página 1de 9

CICLOS REPETITIVOS

Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario utilizar un


mismo conjunto de acciones que se puedan ejecutar una cantidad especfica de veces. Esta
cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar
en funcin de algn dato dentro del programa).
Mientras Que: Esta es una estructura que repetir un proceso durante N veces, donde N puede
ser fijo o variable. Para esto, la instruccin se vale de una condicin que es la que debe cumplirse
para que se siga ejecutando. Cuando la condicin ya no se cumple, entonces ya no se ejecuta el
proceso. La forma de esta estructura es la siguiente:
Pseudocdigo
Diagrama de Flujos

Ciclos controlados por un contador


Son aquellos ciclos cuyas iteraciones o repeticiones son controladas por una variable cuyo valor
representa a un contador. Este ciclo consta de tres (3) partes , adems del cuerpo y de la
condicin de salida.
Inicializacin de una variable de control.
Comprobacin del valor de la variable de control.
Incremento del valor de la variable de control.
Se utiliza un ciclo controlado por contadores cuando se puede anticipar con antelacin cuantas
repeticiones se deben ejecutar exactamente. Cada vez que se ejecute el cuerpo del ciclo, el
contador se incrementa en un nmero programado por el usuario (cuando incrementa la variable
de control).
Ejemplo: realizar un algoritmo que lea N parejas de nmeros e identifique en cada una; S son
iguales que los multiplique, s el primero es mayor que el segundo los reste y sino que los sume.

entero n1,n2,nt, N, cont


inicio
cont<-0
Escriba "ingrese el numero de parejas que desea evaluar"
lea N
mientras (cont < N) haga
escriba "(escriba un numero 1)"
lea n1
escriba "(escriba un numero 2)"
lea n2
si(n1=n2)entonces
nt<-n1*n2
escriba " el resultado es",nt
sino
si(n1>n2)entonces
nt<-n1-n2
escriba "el resultado es",nt
sino
si(n1<n2)entonces
nt<-n1+n2
escriba "el resultado es",nt
fin si
fin si
fin si
cont <- cont + 1
fin mientras
fin
Ciclos controlados por una condicin
Estas instrucciones son utilizadas cuando no se conoce por anticipado el nmero de veces que se
han de repetir las instrucciones dentro de un ciclo. Hay diferentes maneras de realizar el control,
como son:
Solicitar al usuario la continuacin del ciclo, el cual slo continua si el usuario decide si hay
ms entradas.
Ejemplo: Hacer un algoritmo que lea el numero favorito de un grupo de personas dando la opcin
continuar. Al final muestre la suma de los nmeros ingresados.
DATOS DE ENTRADA: RESPUESTA, NUM
PROCESO: UTILIZAR CILO REPETITIVO
SUMA = SUMA + NUM
DATOS DE SALIDA: SUMA
ENTERO SUMA, NUM
CADENA [1] RESPUESTA

INICIO
SUMA = 0
ESCRIBA DESEA CONTINUAR S / N:
LEA RESPUESTA
MIENTRAS (RESPUESTA = `S') HAGA
ESCRIBA INTRODUZCA UN NMERO....
LEA NUM
SUMA = SUMA + NUM
ESCRIBA DESEA CONTINUAR S / N:
LEA RESPUESTA
FIN_MIENTRAS
ESCRIBA LA SUMA DE LOS NUEMEROS INGRSADOS ES, SUMA
FIN
Dato O Valor Centinela
Centinela es un valor utilizado para sealar el final de una lista de datos, el valor elegido debe ser
totalmente distinto de los posibles valores de la lista para que este se pueda ser utilizado. Si la lista
son nmeros enteros positivos, un nmero negativo quedara bien como dato centinela.
El siguiente ejemplo suma una lista de nmeros negativo nicamente, y termina cuando entra un
solo dgito positivo.

DATOS DE ENTRADA: NUMERO


PROCESO: SUMA = SUMA + NUMERO
DATOS DE SALIDA: SUMA
Ejemplo
INICIO
SUMA = 0
ESCRIBA INGRESE UN NUMERO

LEA NUMERO
MIENTRAS (NUMERO <= 0) HAGA
SUMA = SUMA + NUMERO
LEA NUMERO
FIN_MIENTRAS
ESCRIBA LA SUMA DE LOS NUMEROS NEGATIVOS INGRESADOS ES, SUMA
FIN
Uso de banderas o interrupciones: (Flag) son unas variables lgicas que se utilizan para
conservar el estado (verdadero o falso) de una condicin. El valor del interruptor debe inicializarse
antes de comenzar el ciclo y debe cambiar su estado (valor) dentro del cuerpo del ciclo para
preparar la siguiente repeticin.
Estos Flag se representan con variables lgicas, las cuales se inicializan en uno de los dos
posibles valores (Verdadero o falso) y toma el otro valor cuando sucede el evento que se esta
verificando.

Realizar un algoritmo que lea una serie de nmeros reales y los sume. El algoritmo debe
preguntar al usuario cuando desea ingresar un dato y si el usuario dice que no el algoritmo debe
confirmar la respuesta. Si el usuario desea continuar ingresando datos se debe seguir solicitando
datos y si el usuario confirma su deseo de salir, el programa debe mostrar la suma de los datos
ledos y terminar.
DATOS DE ENTRADA: DATO
PROCESO: UTILIZAR CICLO REPETITIVO
SUMA= SUMA +DATO
DATOS DE SALIDA: SUMA

ENTERO BANDERA
REAL DATO
CADENA [1] C
INICIO
BANDERA=1

SUMA=0
MIENTRAS (BANDERA=1) HAGA
ESCRIBA INGRESE UN NUMERO
LEA DATO
SUMA= SUMA +DATO
ESCRIBA DESA CONTINUAR INGRESANDO DATOS (S/N):
LEA C
SI (C=n O C=N) ENTONCES
BANDERA=0
FIN SI
SIN MIENTRAS
ESCRIBIR LA SUMA ES, SUMA
FIN

Ciclos con un Numero Determinado de Iteraciones (Para)


Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el
ciclo. La forma de esta estructura es la siguiente: En lpp se asume que incrementa de uno
en uno por eso es la siguiente estructura

para V.C = L.I a L.S

VC=LI

Accion1
Accion2

Vc = LS
vc=vc+1

.
.

.
AccionN

Cuerpo del ciclo

Fin-para

Donde:
V.C

Variable de control del ciclo

L.I

Limite inferir

L.S

Limite superior

En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite hasta
que la variable de control llegue al limite superior.

Problemas ( para )
1) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseo
Estructurado de Algoritmos
Inicio
Sum=0
Leer Nom
para c = 1 a 7
Leer calif
Sum = sum + calif
Fin-para
prom = sum /7

Imprimir prom
Fin.

2) Leer 10 nmeros y obtener su cubo y su cuarta.


Inicio
para n = 1 a 10
Leer num
cubo = num * num * num
cuarta = cubo * num
Imprimir cubo, cuarta
Fin-para
Fin.

3) Leer 10 nmeros e imprimir solamente los nmeros positivos


Inicio
para n = 1 a 10
Leer num
Si num > 0 entonces
Imprimir num
fin-si
Fin-para

Fin.

Realice los siguientes ejercicios en seudocodigo

1. Una compaa de mecatronica tiene contratados a n vendedores. Cada uno hace cinco
ventas a la semana. Su poltica de pagos es que un vendedor recibe un sueldo base, y un
8% extra por comisiones de sus ventas. El gerente de su compaa desea saber cuanto
dinero obtendr en la semana cada vendedor por concepto de comisiones por las cinco
ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones.
2. Leer 15 nmeros negativos y convertirlos a positivos e imprimir dichos
3. En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que
laboran en ella. El salario se obtiene de la sig. forma:
Si el obrero trabaja 40 horas o menos se le paga $20000 por hora
Si trabaja mas de 40 horas se le paga $20000 por cada una de las primeras 40 horas y $25 por
cada hora extra.
4. Calcular la nota definitiva para cada uno de los 25 estudiantes de lgica de programacin
sabiendo que a cada estudiante se le sacan tres notas la primera del 25%, la segunda del
35% y la tercera del 40%. Muestre la definitiva.
5. Calcular e imprimir la tabla de multiplicar de un numero cualquiera. Imprimir el

multiplicando, el multiplicador y el producto.


6. Hacer un algoritmo que lea un conjunto de registros que encuentre la cedula mayor. Los
registros vienen con telfono, cedula, nombre, apellido. Muestre las cedulas mayores.
Realcelo utilizando un valor centinela y identificando que una cedula no puede ser cero.
7. En Colombia se encuentran unos visitantes extranjeros se le pide a cada uno de ellos
elegir el nombre de un color primario amarillo, azul, rojo que ms le agrade. Calcule y
muestre el porcentaje de gusto de los extranjeros por cada color. (centinela).

8. Leer 13 nmeros y obtener su cubo y su cuarta parte. Muestre el cubo y la cuarta


parte del nmero ingresado.
9. Encontrar el menor valor de un conjunto de n nmeros dados.

Bibliografa: Guillermo Correa Uribe (1998), Desarrollo de Algoritmos Y Sus Aplicaciones en Basic,
Pascal, Cobol y C, McGraw-Hill.
Francisco Javier Ceballos (1990), Curso de Programacin con C, Macrobit.
Manuel Abellanas y Dolores Lodares (1990), Anlisis de algoritmos y teora de grafos, Ra-Ma

También podría gustarte