estructuras_repetitivas
TRANSCRIPT
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 1 Mtro. Juan Miguel Camargo Pulido
PROBLEMAS REPETITIVOS
Se les llama problemas repetitivos a aquellos en cuya solución es necesario utilizar un mismo conjunto
de acciones que puedan ejecutarse más de una vez.
Para solucionar problemas repetitivos recurriremos al uso de ciclos, que nos evitarán escribir muchas
veces un conjunto de acciones.
CONCEPTOS:
Ciclo: es la ejecución de un mismo conjunto de acciones una o más veces. Se compone de: cuerpo del
ciclo y estructura cíclica.
Proceso: Conjunto de acciones a las que se les asigna un nombre.
Cuerpo del ciclo: Proceso que se ejecutará una o más veces.
Estructura cíclica: Conjunto de acciones que permiten que el cuerpo del ciclo se ejecute una o más
veces.
Iteración: Es cada una de las ejecuciones del cuerpo del ciclo
Forma básica de un ciclo en algoritmo y diagrama de flujo es la siguiente:
1. C
2. IR al paso 1
En donde C es el nombre del cuerpo del ciclo, y la estructura cíclica está representada por la flecha, la
cual ayuda a que el cuerpo del ciclo se ejecute varias veces.
Los ciclos se clasifican en:
a) Ciclos con un número determinado de iteraciones
b) Ciclos con un número indeterminado de iteraciones
C
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 2 Mtro. Juan Miguel Camargo Pulido
a) CICLOS CON UN NÚMERO DETERMINADO DE ITERACIONES
Son aquellos en que el número de iteraciones es determinable antes de ejecutarse el ciclo. Este número
de iteraciones se puede obtener de la definición del problema, o bien mediante una entrada de datos
cuando el problema indique que un conjunto de acciones se debe efectuar para n ocurrencias.
Problema: Pedir cinco cantidades de la misma unidad.
Resolución secuencial:
Algoritmo: Diagrama de Flujo:
1. PEDIR cant
2. PEDIR cant
3. PEDIR cant
4. PEDIR cant
5. PEDIR cant
Para poder pedir exactamente cinco veces la variable cant necesitaremos ir contado el número de veces
que la vayamos pidiendo. Cuando ya la hayamos pedido cinco veces tendremos que salir del ciclo,
auxiliándonos con un bloque condicional que evalúe si ya hemos ejecutado cinco iteraciones.
A la variable que nos ayuda a contar el número de iteraciones se le llama contador, y se recomienda
utilizar las variables i, j y/o k como contadores.
En este caso, tanto el contador como el bloque condicional formarán parte de la estructura cíclica y la
entrada de datos de la variable cant es el cuerpo del ciclo.
Para pedir la variable cant cinco veces debemos hacer lo siguiente:
Algoritmo
1. INICIO
2. i 1
3. SI I >5 ENTONCES
IR al paso 3
DE OTRA FORMA
PEDIR cant
i i + 1
IR al paso 2
4. FIN
cant
cant
cant
cant
cant
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 3 Mtro. Juan Miguel Camargo Pulido
Diagrama de Flujo
La variable i es el contador del número de iteraciones.
La expresión:
i i+1
significa que al valor de la variable i se le suma 1 y el resultado de la suma es reasignado a la variable i,
por lo que esta expresión implica que el valor de la variable i es incrementado en 1.
Como regla general a los ciclos con un número determinado de iteraciones les corresponde un
algoritmo como el siguiente:
1. i 1
2. SI i > n ENTONCES
IR al paso 3
DE OTRA FORMA
C
i i + 1
IR al paso 2
3. X
En donde la variable n es el número de iteraciones que se van a efectuar, y la variable i, es el contador
de iteraciones. C es el cuerpo del ciclo que será ejecutado n veces, y X es el conjunto de acciones que se
ejecutarán cuando se termine con el ciclo.
si
no
INICIO
i 1
i >5
cant
i i + 1
FIN
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 4 Mtro. Juan Miguel Camargo Pulido
b) CICLOS CON UN NÚMERO INDETERMINADO DE ITERACIONES
Son aquellos en donde el número de iteraciones permanece indeterminado durante la ejecución del
ciclo, y el proceso repetitivo termina hasta que el usuario lo indique.
En este tipo de ciclos el usuario decide dentro del ciclo cuándo terminar con el proceso repetitivo sin
importar cuántas iteraciones se hayan efectuado, a diferencia de los ciclos anteriores, en donde el
número de iteraciones está determinado desde el principio.
El algoritmo que le corresponde a este tipo de ciclos es el siguiente.
1. C
2. PEDIR mas$
3. SI mas$ = “NO” ENTONCES
IR al paso 4
DE OTRA FORMA
IR al paso 1
4. X
En donde C es el cuerpo del ciclo que será ejecutado un número indeterminado de veces, X es el
conjunto de acciones que suceden al ciclo, y a la variable mas$ el usuario le dará un valor de SI o de NO
dependiendo de si se desea realizar otra iteración o terminar con la ejecución del ciclo.
Diagrama de Flujo:
En donde se podrá observar que el flujo del diagrama sale del ciclo hasta el momento en que la variable
mas$ tome un valor de “NO” y debido a que no se sabe cuándo ocurrirá esto, se le llama ciclo con un
número indeterminado de iteraciones.
si
no
C
mas$
mas$ = “NO”
X
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 5 Mtro. Juan Miguel Camargo Pulido
TIPOS DE PROBLEMAS REPETITIVOS
Los ciclos se emplean en los problemas repetitivos y, dependiendo decómo sea necesario usar los ciclos,
se clasifican en :
1. Problemas Repetitivos Simples: aquellos en los que se usa un solo ciclo ya sea con un número
determinado de iteraciones o indeterminado de iteraciones.
2. Problemas Repetitivos Compuestos: aquellos en los que se emplean varios ciclos.
Frecuentemente encontraremos problemas en dondel el cuerpo de un ciclo es otro ciclo. En
este caso estaremos hablando de un ciclo interno que está anidado dentro de un ciclo externo.
PROBLEMA DE EJEMPLO (problemas repetitivos simples con un número
determinado de iteraciones):
Calcular el promedio de calificaciones parciales de cada alumno de un grupo de cinco, sabiendo que
existen tres periodos parciales.
Paso 1.- Definición del problema
Igual a la redacción del problema
Paso 2.-Planeación de la Solución
Dado que para cada alumno se efectuarán las mismas acciones, se pueden determinar que es
necesario utilizar un ciclo. El número de iteraciones es cinco que es el total de alumnos por lo
tato es determinado
Utilizaremos el ciclo determinado en donde la variable n es 5 y en lugar de C sustituiremos por
el proceso ALUMNO
1. i 1
2. SI >5 ENTONCES
IR al paso 3
DE OTRA FORMA
ALUMNO
i i + 1
IR al paso 2
3. X
El proceso ALUMNO, estará compuesto de las siguientes acciones:
Pedir valores de las 3 calificaciones parciales
Aplicar la fórmula:
Promedio = (calificacion1 + calificacion2 + calificacion3)/3
Mostrar resultado obtenido
El proceso X corresponderá a la acción de terminar, ya que no hay acciones posteriores al ciclo.
ENTRADAS:calificación1, calificacion2 y calificacion3 de cada alumno
SALIDAS: promedio de cada alumno
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 6 Mtro. Juan Miguel Camargo Pulido
DATOS ADICIONALES: ninguno
SOLUCIÓN: ver algoritmo
VARIABLES:
i contador del número de ciclos
c1 calificación parcial 1
c2 calificación parcial 2
c3 calificación parcial3
p promedio
Paso 3.- Algoritmo
1. i 1
2. SI >5 ENTONCES
IR al paso 3
DE OTRA FORMA
ALUMNO
i i + 1
IR al paso 2
3. FIN
El proceso ALUMNO constará de las siguientes acciones:
1. PEDIR c1, c2, c3
2. p (c1 + c2 +c3)/3
3. MOSTRAR p
4. FINP
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 7 Mtro. Juan Miguel Camargo Pulido
Paso 4.- Diagrama de Flujo
INICIO
i 1
i >5
Alumno
i i + 1
FIN
si
no
ALUMNO
C1, c2, c3
p (c1 + c2 + c3)/3
p
FINP
Licenciaturas Ejecutivas - LX
Tópicos Selectos de Algorítmica 8 Mtro. Juan Miguel Camargo Pulido
Aplicando los primeros cuatro pasos de la “Metodología para la solución de problemas por
computadora”, resuelva los siguientes:
PROBLEMAS PROPUESTOS. (problemas repetitivos simples con un número
determinado de iteraciones)
1. La presión, volumen y temperatura de una masa de aire se relacionan por la fórmula.
Calcular el promedio de masas de aire de los neumáticos de n vehículos que están en compostura
en un servicio de alineación y balanceo. Los vehículos pueden ser motocicletas o automóviles.
2. Al cerrar un expendio de naranjas, 15 clientes que aún no han pagado recibirán un 15% de
descuento si compran más de 10 kilos. Determinar cuánto pagará cada cliente y cuánto percibirá la
tienda por esas compras.
3. Determinar la cantidad semanal de dinero que recibirá cada uno de los n obreros de una empresa.
Se sabe que cuando las horas que trabajó un obrero exceden de 40, el resto se convierte en horas
extras que se pagan al doble de una hora normal, cuando no exceden de 8; cuando las horas extras
exceden de 8 se pagan las primeras 8 horas al doble de lo que se paga por una hora normal y el
resto al triple.
4. Modificar el problema propuesto 3 para que se determine el total de dinero que la empresa tendrá
que pagar por concepto de pago de salarios a los n empleados que laboran en ella.
5. En una granja se requiere saber alguna información para determinar el precio de venta por cada kilo
de huevo. Es importante determinar el promedio de calidad de las n gallinas que hay en la granja.
La calidad de cada gallina se obtiene según la fórmula:
Finalmente para fijar el precio del kilo de huevo, se toma como base el siguiente cuadro:
Promedio total de calidad Precio del kilo de huevo
mayor o igual que 15 1.2 * promedio de calidad
mayor que 8 y menor que 15 1.00 * promedio de calidad
menor o igual que 8 0.8 * promedio de calidad