GithubHelp home page GithubHelp logo

examen_final_aed's Introduction

Algoritmos y Estructuras de Datos Examen Final 16/02/2023 - Regulares 2015+ [Python y PE]

Una agencia de turismo requiere un programa para gestionar los paquetes de viajes que vende a sus clientes. Por cada paquete vendido se tienen los siguientes datos: número de identificación (un entero), nombre o título descriptivo (una cadena), un número entre 0 y 9 para indicar medio de transporte (Por ejemplo: 0: aéreo, 1: ómnibus, etc.), un número flotante para indicar el monto que se cobró, otro número entero pero entre 1 y 50 para indicar el destino final del viaje pactado, y finalmente el nombre del cliente que compró el paquete (una cadena).

En base a lo anterior, desarrollar un programa completo que disponga al menos de dos módulos [Máximo 4 puntos por este requerimiento, incluyendo también convenciones de estilo y otros aspectos del programa general]:

En uno de ellos, definir la clase Paquete que represente al registro a usar en el programa, y las funciones básicas para operar con registros de ese tipo.

En otro módulo, incluir el programa principal y las funciones generales que sean necesarias. Para la carga de datos, aplique las validaciones que considere necesarias. El programa debe basarse en un menú de opciones para desarrollar las siguientes tareas:

  1. Generar un arreglo de n registros de tipo Paquete que contenga los datos de los paquetes vendidos (cargue el valor de n por teclado validando que sea correcto). Puede generar el arreglo cargando los datos en forma manual o generando los datos en forma aleatoria. El arreglo debe permanecer en todo momento ordenado por el número de ticket durante la carga. Cada vez que se seleccione esta opción, el arreglo debe ser generado nuevamente desde cero. Será considerada la eficiencia de la estrategia de carga y los algoritmos que aplique. [Máximo 4 puntos entre los ítems 1 y 2 juntos].

  2. Mostrar todos los datos del arreglo generado en el punto 1, a razón de un registro por renglón. Al final del listado, muestre una línea adicional con el la cantidad de registros que se mostraron. [Máximo 4 puntos entre los ítems 1 y 2 juntos].

  3. En base al arreglo generado en el punto 1 determinar si existe un paquete cuyo título o descripción sea tit (cargar tit por teclado). Si existe, informe solo el número de identificación de ese paquete y el nombre del cliente que lo compró. Si no existe, informe con un mensaje. La búsqueda debe detenerse al encontrar el primer registro que cumpla el criterio de búsqueda pedido. [Máximo 4 puntos].

  4. En base al arreglo generado en el punto 1, determinar cuántos paquetes hay para combinación entre tipo de medio de transporte y destino final (un contador para los que sean tipo de transporte 0 y destino 1, otro para el tipo 0 y destino 2, y así sucesivaente para las 10*50 = 500 combinaciones posibles). Mostrar solo los contadores diferentes de cero. [Máximo 4 puntos],

  5. En base al arreglo generado en el punto 1 determinar el monto acumulado que haya pagado el cliente cuyo nombre es nom (cargue la cadena nom por teclado). Note que ese nombre podría estar varias veces en el vector, y ahora sí se pide acumular todos sus pagos. Si no existe ningún cliente con ese nombre, informe con un mensaje. [Máximo 4 puntos].

  6. Grabar en un archivo binario los datos de los registros del arreglo generado en el punto 1 que correspondan a paquetes cuyo monto sea mayor a 100.000 [Máximo 4 puntos].

  7. Mostrar el archivo generado en el punto 6. Muestre al final una línea extra indicando el monto acumulado entre los registros que se mostraron. [Máximo 4 puntos].

Criterios generales de corrección: La suma total de puntos llega a un máximo de 28 (considerando los 4 puntos por el programa general y convenciones de estilo), y la nota final del práctico (que puede ser modificada de acuerdo al eventual coloquio teórico) sale de la tabla siguiente (observe que necesita un 60% del total para aprobar):

NOTA PORCENTAJE CAUFICACIÓN
1 X Insuficiente
2 X Insuficiente
3 X Insuficiente
4 X Insuficiente
5 X Insuficiente
6 60% a 68% Aprobado
7 69% a 77% Bueno
8 78% a 86% Muy Bueno
9 87% a 95% Distinguido
10 96% a 100% Sobresaliente

examen_final_aed's People

Contributors

ec-25 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.