taller algoritmos con ciclos 2015 03 vr1a

9
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA DEPARTAMENTO DE OPERACIONES Y SISTEMAS ALGORITMIA Y PROGRAMACIÓN GRUPO GRUPO GRUPO GRUPO __ __ __ __ CÓDIGO: DIGO: DIGO: DIGO: NOMBRE: NOMBRE: NOMBRE: NOMBRE: Taller: Análisis Modular de Algoritmos con Ciclos FECHA: FECHA: FECHA: FECHA: _____ _____ _____ _____/___ ___ ___ ___ 1. Una empresa de servicios públicos factura el consumo de agua según el volumen de agua, en metros cúbicos (m 3 ), y el estrato donde se encuentra ubicado el predio (ver tabla). Consumo mensual de agua en m 3 estrato 1 2 Consumo básico: Mayor o igual que cero y menor que 30 m 3 . $ 2000 / m 3 $ 3000 / m 3 Consumo extendido: 30 m 3 o más. $ 2500 / m 3 $ 4000 / m 3 Elabore el análisis para un algoritmo que procese una cantidad conocida de facturas; a partir del número del predio, del estrato y del consumo de agua, en m 3 , de cada predio. La factura generada debe mostrar el número del predio, el estrato del predio y el valor a pagar por el agua consumida. Además, se debe determinar y mostrar el número de facturas generadas con un valor superior a $250.000 y el total recaudado por este servicio. En su propuesta de solución, haga uso de un subproceso para calcular el valor a pagar por cada factura. A. Conociendo el número de veces a repetir Proceso: principal Entradas Resultados Temporales Salidas Tipo Identificación Tipo Identificación Tipo Identificación Entero Entero Real Cadena Cantidad de facturas. Estrato. Volumen consumido. Numero de predio. Entero Contador de facturas. Cadena Entero Real Real Entero Numero de predio. Estrato. Valor factura. Total facturación. Facturas valor superior. Proceso: Leer Cantidad de facturas (mayor que cero). Asignar 0 a Facturas valor superior. Asignar 0 a Total facturación. Asignar 1 en Contador de facturas. Procesar para cada factura (Contador de facturas <= Cantidad de facturas) Leer Número de predio, Volumen consumido y Estrato ( 1 o 2). Calcular Valor factura mediante subproceso calcularValorFactura, pasándole Estrato y Volumen consumido. Acumular Valor factura en Total facturación. Si Valor factura es superior a 250000 incrementar 1 en Facturas valor superior. Imprimir Número de predio, Estrato y Valor factura. Incrementar 1 en Contador de facturas. Repetir para la siguiente factura Imprimir Facturas valor superior y Total facturación. Terminar.

Upload: jeluchez

Post on 03-Dec-2015

41 views

Category:

Documents


11 download

DESCRIPTION

algoritmos con ciclos

TRANSCRIPT

Page 1: Taller Algoritmos Con Ciclos 2015 03 Vr1A

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE

FACULTAD DE INGENIERÍA DEPARTAMENTO DE OPERACIONES Y SISTEMAS

ALGORITMIA Y PROGRAMACIÓN

GRUPO GRUPO GRUPO GRUPO ________

CCCCÓÓÓÓDIGO:DIGO:DIGO:DIGO: NOMBRE:NOMBRE:NOMBRE:NOMBRE:

Taller: Análisis Modular de Algoritmos con Ciclos FECHA:FECHA:FECHA:FECHA: ____________________////____________

1. Una empresa de servicios públicos factura el consumo de agua según el volumen de agua, en metros cúbicos (m3), y el estrato donde se encuentra ubicado el predio (ver tabla).

Consumo mensual de agua en m3

estrato

1 2

Consumo básico: Mayor o igual que

cero y menor que 30 m3.

$ 2000 / m3 $ 3000 / m3

Consumo extendido: 30 m3 o más. $ 2500 / m3 $ 4000 / m3

Elabore el análisis para un algoritmo que procese una cantidad conocida de facturas; a partir del número del predio, del estrato y del consumo de agua, en m3, de cada predio. La factura generada debe mostrar el número del predio, el estrato del predio y el valor a pagar por el agua consumida. Además, se debe determinar y mostrar el número de facturas generadas con un valor superior a $250.000 y el total recaudado por este servicio. En su propuesta de solución, haga uso de un subproceso para calcular el valor a pagar por cada factura.

A. Conociendo el número de veces a repetir

Proceso: principal Entradas Resultados

Temporales Salidas

Tipo Identificación Tipo Identificación Tipo Identificación Entero Entero Real Cadena

Cantidad de facturas. Estrato. Volumen consumido. Numero de predio.

Entero

Contador de facturas.

Cadena Entero Real Real Entero

Numero de predio. Estrato. Valor factura. Total facturación. Facturas valor superior.

Proceso: Leer Cantidad de facturas (mayor que cero). Asignar 0 a Facturas valor superior. Asignar 0 a Total facturación. Asignar 1 en Contador de facturas. Procesar para cada factura (Contador de facturas <= Cantidad de facturas)

Leer Número de predio, Volumen consumido y Estrato ( 1 o 2).

Calcular Valor factura mediante subproceso calcularValorFactura, pasándole Estrato y Volumen consumido. Acumular Valor factura en Total facturación.

Si Valor factura es superior a 250000 incrementar 1 en Facturas valor superior.

Imprimir Número de predio, Estrato y Valor factura. Incrementar 1 en Contador de facturas. Repetir para la siguiente factura Imprimir Facturas valor superior y Total facturación. Terminar.

Page 2: Taller Algoritmos Con Ciclos 2015 03 Vr1A

Subp roceso: calcularValorFactura Entradas Resultados

Temporales Salidas

Tipo Identificación Tipo Identificación Tipo Identificación Entero Real

Estrato. Volumen consumido.

Real Valor unitario.

Real Valor factura.

Proceso: Recibir Estrato y Volumen consumido.

Si Estrato es 1 Si Volumen consumido es mayor o igual a 0 y Volumen consumido es menor a 30

Asignar 2000 en Valor unitario. Sino

Asignar 2500 en Valor unitario. Sino

Si Volumen consumido es mayor o igual a 0 y Volumen consumido es menor a 30 Asignar 3000 en Valor unitario.

Sino Asignar 4000 en Valor unitario.

Calcular Valor factura aplicando la fórmula( Volumen consumido * Valor unitario). Regresar Valor factura. Terminar.

B. Sin Conocer el número de veces a repetir

Solo se presentan cambio en el proceso principal, los demás subprocesos quedan igual.

Proceso: principal Entradas Resultados

Temporales Salidas

Tipo Identificación Tipo Identificación Tipo Identificación Caracter Entero Real Cadena

Deseo de continuar. Estrato. Volumen consumido. Numero de predio.

Cadena Entero Real Real Entero

Numero de predio. Estrato. Valor factura. Total facturación. Facturas valor superior.

Proceso: Leer Deseo de continuar (S/N). Asignar 0 en Total facturación. Asignar 0 en Facturas valor superior. Procesar para cada factura (Deseo de continuar == ‘S’)

Leer Número de predio, Volumen consumido y Estrato ( 1 o 2). Calcular Valor factura mediante subproceso calcularValorFactura, pasándole

Estrato y Volumen consumido. Acumular Valor factura en Total facturación.

Si Valor factura es superior a 250000 incrementar 1 en Facturas valor superior.

Imprimir Número de predio, Estrato y Valor factura.

Page 3: Taller Algoritmos Con Ciclos 2015 03 Vr1A

Leer Deseo de continuar (S/N). Repetir para la siguiente factura. Imprimir Facturas valor superior y Total facturación. Terminar.

2. Una empresa dedicada al transporte de Libros, Computadores o Video Juegos, desde los Estados Unidos, tiene las tarifas indicadas en la tabla adjunta. Esta empresa requiere un aplicativo que para cada servicio de transporte solicitado, le permita generar un reporte que incluya el nombre del cliente, el tipo de envío, el valor a cobrar (en USD, según la tabla adjunta) y el valor neto cobrado, suponiendo que la legislación le permite un incremento del 2% del valor a cobrar, si dicho valor fue superior a 7.5 USD.

TIPO DE ENVÍO TARIFAS (USD por fracción de kilo a t ransportar) Libros

1.5 USD por cada ½ kilo. Video Juegos Computadores 3.5 USD como cargo base.

0.5 USD por cada kilo o fracción de su peso que exceda los 2.8 kilos.

Realizar el análisis del aplicativo solicitado, el cual debe procesar una cantidad conocida de servicios de transporte y después de procesar todos los servicios debe generar un reporte del total en dólares de los valores netos cobrados y del número total de computadores transportados.

3. Se solicita un aplicativo para gestionar la nómina de N profesores de Cátedra (a los cuales se les computa el valor a pagar según una cantidad entera de horas laboradas) de la UAO, los cuales son remunerados de la siguiente manera:

Título Valor hora 1.- Maestría $ 35 000 2.-Doctorado $ 50 000

A cada profesor de cátedra se le debe desplegar un reporte incluyendo: su nombre, valor a pagar, el dinero descontado por estampilla (corresponde al 5% del valor a pagar), el dinero descontado por seguridad social (corresponde al 3.5% del valor a pagar) y el dinero que se le consigna (después de aplicar los descuentos indicados previamente). Realizar el análisis de un aplicativo para gestionar la nómina de los N profesores de cátedra de la UAO (generando el reporte para cada profesor), y generar un reporte de: el número total de horas laboradas por profesores con título de Maestría, número total de horas laboradas por profesores con título de doctorado, el dinero total que se les consigna por nómina y el dinero total descontado por seguridad social.

4. En una competencia de tiro con arco, se conoce el radio (en metros) de la zona negra, el diámetro (en metros) considerado hasta el borde de la zona punteada y el área (en mts2) considerada hasta el borde de la zona blanca, donde el competidor debe acertar. Cada una de estas zonas entrega un puntaje, de acuerdo al sitio en donde caiga el tiro de la flecha lanzada por un competidor. Los puntajes asignados son los siguientes: caer en la zona negra entrega 10 puntos, caer en la zona punteada 5 puntos y caer en la zona blanca 1 punto. En caso de que la flecha del competidor caiga fuera de las tres zonas, los organizadores lo descalifican automáticamente.

Teniendo la distancia del sitio donde cae la flecha, medida desde el centro (en metros), de cada competidor y sabiendo que durante el torneo participó una gran cantidad de competidores, construya el análisis de una propuesta de solución que permita a los jueces consultar lo siguiente:

Page 4: Taller Algoritmos Con Ciclos 2015 03 Vr1A

i. ¿Cuántos puntos obtuvo cada competidor, su nombre y si fue descalificado o no fue descalificado? ii. ¿Cuál fue la cantidad de puntos obtenidos entre todos los competidores? iii. ¿Cuántos competidores fueron descalificados durante la competencia? Considere si se conoce la cantidad de competidores que participaron y si no se conoce la cantidad de competidores.

5. Un aeropuerto tiene para el servicio de la población dos (2) empresas de aviación, una empresa se llama: “Cielo Abierto” y la otra empresa se llama “Lejos de Tierra”. Las dos empresas cobran a cada usuario una cuota de mantenimiento de acuerdo al peso y número de maletas:

a) “Cielo Abierto” deja que el pasajero lleve una sola maleta sin ningún costo, siempre y cuando esta maleta

pese menos de 23 kilos; si se pasa de este peso, se le cobra 10 dólares por cada kilo que se está excediendo. Si el pasajero lleva más de una maleta le cobra 50 dólares por cada maleta adicional, sin importar su peso total de maletas.

b) “Lejos de Tierra” cobra de acuerdo a la cantidad de maletas sin importar el peso que tengan y donde el usuario debe pagar 80 dólares por cada maleta que registre.

Si ambas compañías transportaron una gran cantidad de pasajeros en un día, construya el análisis de una propuesta de solución que le permita a las directivas consultar lo siguiente: iv. ¿Cuántos pesos pagó cada pasajero? v. ¿Cuántos pasajeros viajaron sin pagar la cuota de mantenimiento?

vi. ¿Cuál fue la cantidad de peso en kilos qué trasportó la empresa “Lejos de Tierra”? En su propuesta de solución, haga uso de un subproceso para calcular el valor a pagar por mantenimiento. Considere si se conoce la cantidad de pasajeros que viajaron y si no se conoce la cantidad de pasajeros.

6. En cierto restaurante se ofrece el servicio de postre los días sábados y domingos, y su precio varía de acuerdo al valor de la cuenta de la comida servida. Se sabe que los domingos el valor de cada postre es de $4000 si la cuenta de la comida no pasa de $100.000 pero, si se pasa o es igual a este valor, cada postre se lo cobran a

Page 5: Taller Algoritmos Con Ciclos 2015 03 Vr1A

$3500. Los días sábados el valor de cada postre es de $5000 sin importar el valor de la cuenta que haya tenido por consumo de comida.

Si en un fin de semana se atendió una gran cantidad de mesas, construya el análisis de una propuesta de solución que le permita al administrador consultar los siguientes:

i. ¿Cuántos pesos pagó cada mesa? ii. ¿Cuáles fueron las ganancias obtenidas por el restaurante en un fin de semana? iii. ¿Cuál fue la cantidad de dinero recaudado por la venta de postres en todo el fin de semana?

Considere si se conoce la cantidad de mesas atendidas

Proceso: Principal Entradas Resultados

Temporales Salidas

Tipo Identificación Tipo Identificació n Tipo Identificación Entero Real Cadena entero

Cantidad de mesas. Valor cuenta comida. Día de atención. Cantidad de postres.

Entero Real

Contador de mesas. Valor de los postres.

Real Real Real

Cuenta por mesa. Ganancia total. Valor acumulado de postres.

Proceso: Leer Cantidad de mesas (mayor que cero). Asignar 0 a Ganancia total. Asignar 0 a Valor acumulado de postres. Asignar 1 en Contador de mesas. Procesar para cada mesa (Contador de mesas <= Cantidad de mesas)

Leer Valor cuenta comida, Día de atención (Sábado o domingo) y Cantidad de postres.

Calcular Valor de los postres, mediante subproceso calcularValorPostre, pasándole Día de atención, Valor cuenta comida y Cantidad de postres. Calcular Cuenta por mesa aplicando la fórmula (Valor de los postres + Valor cuenta comida). Acumular Valor de los postres en Valor acumulado de postres. Acumular Cuenta por mesa en Ganancia total.

Imprimir Cuenta por mesa. Incrementar 1 en contador de mesas. Repetir para la siguiente mesa Imprimir Valor acumulado de postres y Ganancia total. Terminar.

Page 6: Taller Algoritmos Con Ciclos 2015 03 Vr1A

Subp roceso: calcularValor Postre Entradas Resultados

Temporales Salidas

Tipo Identificación Tipo Identificación Tipo Identificación Real Cadena Entero

Valor cuenta comida. Día de atención. Cantidad de postres.

Real Valor de cada postre.

Real Valor de postres.

Proceso: Recibir Valor cuenta comida, Día de atención y Cantidad de postres.

Si Día de atención es domingo Si Valor cuenta comida es menor que 100000

Asignar 4000 en Valor de cada postre. Sino

Asignar 3500 en Valor de cada postre. Sino Asignar 5000 en Valor de cada postre. Calcular Valor de postres, aplicando la fórmula (Cantidad de postres * Valor de cada postre). Regresar Valor de postres. Terminar.

7. Se requiere calcular y mostrar el salario mensual a recibir para cada uno de los empleados de una empresa. Naturalmente, la empresa conoce cuántos trabajadores tiene. Suponga que el salario mensual mínimo vigente es $ 590 000. El salario mensual a recibir por cada empleado, se calcula a partir del salario nominal mensual, así:

A. Si el salario nominal mensual es menor que dos salarios mínimos, tiene derecho a un Auxilio de Transporte

por $ 65000. B. Si el salario nominal mensual es mayor que 4 salarios mínimos, se le deduce un 1% adicional, para un Bono

de Solidaridad. Este porcentaje se calcula sobre el salario nominal mensual.

A cada uno se le descuenta un 8 % adicional, para Prestaciones Sociales (Salud y Pensión). Este porcentaje se calcula sobre el salario nominal mensual. Para cada empleado, su comprobante de pago debe mostrar: cédula, nombre, salario nominal mensual y el salario a recibir. Además, se desea determinar y mostrar el total recibido por los empleados y cuántos aportaron para el Bono de Solidaridad.

5. Un gimnasio cobra la matrícula según la edad del afiliado, así: • 12-17 años: $ 40 000 � Categoría 1.

• 18-25 años: $ 50 000 � Categoría 2. • 26-65 años: $ 70 000 � Categoría 3. Para determinar el valor a pagar por el ingreso al gimnasio, se aplica un recargo del 10 % al valor de la matrícula, para cubrir impuestos y aportar a la liga local de gimnasios. Elabore el análisis para un algoritmo que permita determinar y mostrar: nombre del afiliado, valor a pagar, total recaudado por ingresos al gimnasio y el número de afiliados en cada una de las categorías.

Page 7: Taller Algoritmos Con Ciclos 2015 03 Vr1A

8. Se aplica una prueba de conocimientos a los estudiantes de último semestre de las facultades de Ingeniería, en

las universidades de Cali que ofrecen programas de Ingeniería. La prueba se califica con un puntaje entre 0 y 100. La prueba se gana con un puntaje 70 o superior. Una vez aplicada la prueba, La entidad recibe una cantidad desconocida de pruebas y requiere analizar los puntajes obtenidos. Con los resultados de las pruebas, se debe calcular y mostrar: la cantidad de estudiantes que presentaron la prueba, el número de estudiantes que ganaron la prueba, la cantidad de estudiantes que la perdieron y el puntaje promedio. Elabore el análisis para un algoritmo que permita resolver estos requerimientos.

RETO: ¿Qué modificaciones debería realizar en su análisis, si se requiere que el algoritmo procese una Cantidad conocida de pruebas?

9. Un Fondo Mutuo de Inversión va a emitir 3000 acciones para el mercado de los productos lácteos. Los aportes al Fondo provienen de 15 empresas del sector lácteo, cuyos valores de inversión son conocidos. Elabore el análisis para un algoritmo que permita calcular y mostrar el valor de la acción, el nombre de cada empresa aportante y la cantidad de acciones que le corresponde.

10. En las elecciones para la Presidencia de una República, se postularon los candidatos A y B para el cargo. Para

identificar el candidato, se asigna un número entero, así: 1 para el candidato A, 2 para el candidato B y 3 en cualquier otro caso (voto en blanco, voto inválido, etc.). Al final de la jornada, una mesa de votación requiere saber cuántas personas sufragaron en la mesa, cuántos votos recibió cada candidato y cuál candidato ganó en la mesa (es posible un empate). Naturalmente, no se conoce con anticipación cuántas personas acudirán a la mesa. Realice el análisis para un algoritmo que resuelva estos requerimientos.

11. En una competencia de tiro al blanco con dardo, se le dispara a un círculo de 30 cm de radio. Dependiendo del

punto de impacto del dardo sobre el círculo, se asignan los puntos en la competencia. Ver la siguiente tabla:

Distancia desde el punto de impacto del dardo al centro del círculo.

Puntos asignados.

Rango 1: Mayor o igual que cero y menor o igual que 10 cm. 30 Rango 2: Mayor que 10 cm. y menor o igual que 30 cm. 10 Rango 3: Mayor que 30 cm. -10

Realice el análisis para construir un algoritmo que permita determinar y mostrar el puntaje obtenido por un competidor, si se le permite disparar 12 dardos al círculo. Además, se desea determinar y mostrar el rango donde hubo más impactos.

12. El Departamento de operaciones y sistemas de la UAO, ha establecido que cada una de las asignatura que oferta tendrá 4 notas de cortes (primer corte-20%, segundo corte-25%, tercer corte-35% y cuarto corte-20%).

Para cada estudiante que ya tiene las 3 primeras notas de corte se debe generar un reporte que incluya: su nombre y un mensaje indicando si es o no matemáticamente posible obtener la nota deseada (si es posible indicar también la nota que debe obtener en el cuarto corte). Realizar el análisis de un aplicativo que procese una cantidad conocida de estudiantes, genere el resporte para cada uno de ellos, y al final indique: cuantos matemáticamente pueden obtener la nota deseada, y el porcentaje de aquellos que deseaban una nota superior a 4.0 (independiente si matemáticamente pueden o no obtener la nota deseada).

Page 8: Taller Algoritmos Con Ciclos 2015 03 Vr1A

13. Una agencia de viajes que oferta recorridos en chivas (cuya capacidad es de 22 pasajeros) como paseos de despedida de empresas, por los bellos paisajes del Valle del Cauca, tiene por política computar cuantas chivas irían con cupo completo y cobrar $95.000 por cada una de ellas, y al resto de personas cobrarles $5.000 individualmente.

De cada paseo (para un número solicitado de personas) se genera un reporte incluyendo: el número de buses completos requeridos, el número de personas a los que se les cobra individualmente y el dinero total a cobrar por el paseo. Realizar el análisis del aplicativo solicitado, el cual debe procesar una cantidad no conocida de paseos, generar el reporte indicada para cada paseo, y antes de terminar generar un resumen del total de buses completos requeridos y el dinero total a cobrar por todos los paseos.

14. Se contrató a la UAO, para la construcción de un aplicativo para la gestión de reservas de pasaportes para el

ingreso a un parque de diversiones, con los siguientes costos: Pasaporte Económico $21.000 (si se solicitan más de 6 pasaportes su costo disminuye a $19.500) y Pasaporte Recreativo $ 37.000 (si se solicitan más de 5 pasaportes su costo disminuye a $34.500).

De cada solicitud de reserva se genera un reporte incluyendo: el nombre del comprador, número de pasaportes solicitados (solo se permite de un mismo tipo de pasaporte) y el dinero total a cobrar. Realizar el análisis de un aplicativo para la gestión de reservas de pasaportes, el cual debe procesar una cantidad no conocida de reservas (generando el reporte respectivo en cada reserva), y luego generar un resumen del: dinero total recibido por pasaportes económicos, dinero total recibido por pasaportes recreativos y el dinero total recibido por ambos pasaportes.

15. Una empresa está destinada a gestionar la venta de boletas (se puede solicitar más de una) para el ingreso a cine

en la ciudad (por el momento, solo se venden de Cine Colombia y Royal Films), basados en los costos indicados en la siguiente tabla:

Tipo Función 35mm 3D

Cine Colombia $ 8.000/persona $ 9.500/persona Royal Films $ 6.500/persona $ 8.500/persona

Al procesar cada venta de boletas se despliega un reporte incluyendo: el nombre del comprador, el dinero a descontar por la venta (si el comprador tiene una tarjeta ofertada por la empresa, se le hace un descuento del 10% en el dinero total a pagar) y el dinero neto a pagar. Realizar el análisis de un aplicativo que permita gestionar una cantidad no conocida de ventas y determine a cuál de los dos tipos de funciones fue que se compraron más boletas, cuanto fue esa cantidad y el acumulado del dinero neto a pagar.

16. Una empresa transportadora de carbón desea evaluar los “N” camiones que le prestan el servicio de transporte en las diferentes minas que tiene a su cargo y averiguar en qué estado se encuentran. Los camiones deben cumplir los siguientes requisitos; 1. Que la capacidad de carga esté entre 6 y 8 Toneladas; 2. Que el modelo del camión sea como mínimo 2008; 3. Que tenga sistema de aire acondicionado. Cada camión tiene su propio valor comercial. El sistema debe garantizar que ninguno de los camiones tenga un modelo anterior al año 2000, y que su capacidad de carga vaya a exceder las 10 Toneladas y no permitir su registro en el sistema en caso de presentarse cualquiera de estas 2 situaciones. Los altos ejecutivos de la empresa desean saber:

Page 9: Taller Algoritmos Con Ciclos 2015 03 Vr1A

a. El número de camiones que cumplen los requisitos b. El costo total de los camiones que cumplen los requisitos. c. El número total de camiones descartados en la selección.

Elabore el análisis, construya el pseudocódigo correspondiente. La solución debe garantizar que los valores solicitados estén correctos.