06 - estructuras repetitivas - simples y compuestas parte i

8
LX Lenguajes Operativos Mtro. Juan Miguel Camargo Pulido Página 1 de 8 ESTRUCTURAS REPETITIVAS Se les llaman estructuras repetitivas al conjunto de acciones que permiten que el cuerpo del ciclo se ejecute una o más veces y los problemas repetitivos son 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 con estructuras repetitivas 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(repetitiva): 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

Upload: fhuitron

Post on 27-Dec-2015

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 1 de 8

ESTRUCTURAS REPETITIVAS

Se les llaman estructuras repetitivas al conjunto de acciones que permiten que el cuerpo del ciclo se

ejecute una o más veces y los problemas repetitivos son 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 con estructuras repetitivas 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(repetitiva): 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

Page 2: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 2 de 8

a) CICLOS CON UN NÚMERO DETERMINADO DE REPETICIONES

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 4

DE OTRA FORMA

PEDIR cant

i i + 1

IR al Paso 2

4. FIN

cant

cant

cant

cant

cant

Page 3: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 3 de 8

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

Page 4: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 4 de 8

b) CICLOS CON UN NÚMERO INDETERMINADO DE REPETICIONES

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

Page 5: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 5 de 8

TIPOS DE PROBLEMAS REPETITIVOS

Los ciclos se emplean en los problemas repetitivos y, dependiendo de có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 dond el 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 i >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

Page 6: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 6 de 8

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

Page 7: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 7 de 8

Paso 4.- Diagrama de Flujo

ALUMNO

C1, c2, c3

p (c1 + c2 + c3)/3

p

FINP

INICIO

i 1

i >5

Alumno

i i + 1

FIN

si

no

Page 8: 06 - Estructuras Repetitivas - Simples y Compuestas Parte I

LX – Lenguajes Operativos

Mtro. Juan Miguel Camargo Pulido Página 8 de 8

Aplicando los primeros cuatro pasos de la “Metodología para la solución de problemas por

computadora”, resuelva los problemas propuestos siguientes:

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