1Eva2015TII~T3 Recorrido turístico en ciudad

1ra Evaluación II Término 2015-2016, Marzo 7, 2016 /CCPG1001

Tema3. (45%) El programa “Conoce Guayaquil” le ayudará a escoger una opción para recorrer los principales atractivos turísticos de la ciudad durante un día.

Guayaquil visión bus

Hay 8 actividades disponibles, pero solo es posible realizar 4 de ellas durante el día.

CódigoActividadTiempo requerido en horasCosto en $
1Malecón 200026.50
2Las Peñas36
3BarcoPirata Morgan212.25
4Recorrido Panorámico212
5Museos310
6Parque Histórico410
7Mall del Sol36
8IMAX38.15

Para iniciar el programa se debe especificar una colección de listas llamada catalogo, que contenga la información de cada actividad: nombre, tiempo y costo.

Luego, el programa debe seleccionar aleatoriamente 4 actividades para formar un tour, que es una lista con los códigos de 4 actividades diferentes a realizarse.

El tour debe satisfacer las siguientes especificaciones:

  • El recorrido deberá empezar exactamente a las 10:00
  • El tiempo total no debe ser mayor a 12 horas
  • La visita al Parque Histórico debe iniciarse máximo a las 14:00 porque cierran a las 18:00
  • El recorrido por el Río Guayas en el Pirata Morgan debe iniciarse a partir de las 14:00
  • La función de cine en el IMAX puede ser a las 12:00, 15:00 ó 18:00
  • Al museo se puede entrar hasta las 18:00

Las demás actividades pueden realizarse en cualquier horario

Se requiere implementar:

  1. La función generarCatalogo() que llena una lista con el nombre, tiempo y costo de todas las actividades disponibles, y la retorna.
  2. La función generarTour() que llena una lista con 4 números aleatorios diferentes entre 1 y 8, correspondientes a las actividades a realizarse.
  3. La función duracionActividad() que recibe el catalogo y el código que se desea consultar, devolviendo la duración de la actividad a la que pertenece el código dado.
  4. La función inicioActividad() que recibe el código de la actividad y la hora actual (en formato hh) y devuelva la hora de inicio más cercana para la actividad especificada. Si dado el código y la horaactual no es posible iniciar la actividad requerida,retorne -1.
  5. La función verificarTour() que recibe el catálogo y el tour generado y determina si es posible realizar esa combinación de actividadesde acuerdo a las condiciones explicadas arriba.
  6. La función calcularCostoTotal() que recibe el catálogo y el tour generado, y devuelve el costo total de las actividades a realizar.
  7. La función calcularTiempoTotal() que recibe el catálogo, el tour generado y devuelve la cantidad de horas utilizadas para las 4 actividades.
  8. Un programa que use las funciones implementadas anteriormente para:
    a. Generar el catálogo
    b. Generar un tour válido
    c. Mostrar por pantalla el tour generado: sus actividades, horarios, tiempo total de recorrido y costo total, por ejemplo:
10:00 Visita a Museos
14:00 Río Guayas en el Pirata Morgan
16:00 Recorrido Panorámico
18:00 Compras en Mall del Sol

El tour comenzaráa las 10:00 horas y 
terminará a las 21:00 horas.
Tiempo total de recorrido: 11 horas
Costo total: $ 40.25

Elaborado por C. Vaca, C. Falcones, I. Carrera, J. Magallanes, M. Calderón, E. Cruz y R. Bonilla

Ejercicios por Unidad/Tema FP