lunes, 25 de noviembre de 2024

Sistema para manejar las autorizaciones de la empresa

La empresa Sugsys lo contrata para diseñar un sistema para manejar las autorizaciones de su empresa. La idea es que el sistema indique si un usuario tiene permiso para acceder a una funcionalidad determinada.

La empresa tiene usuarios que tienen un nombre (char de 200) y un código numérico. Además cuentan con cargos, un cargo tiene un nombre y los permisos para las funcionalidades. Por ejemplo el cargo de ventas, tiene permiso “ver stock” y “realizar venta”.


Los permisos son solo palabras que representan una funcionalidad. Por ejemplo “realizar compra” permite realizar una compra.

(30) Realice un diseño que permita guardar las entidades en uno ó varios archivos binarios.

(20) Realice una función que permita con el código de usuario y el permiso, saber si el usuario tiene el permiso determinado.

(30) Utilizando STL realice:

una función que indique cual es o son los cargos que tienen más permisos.

una función que indique los permisos que se encuentran en varios cargos.

una función que indique cual es o son los usuarios que tienen más permisos.

(20) Explique:

¿Por qué son necesarias las clases template en los lenguajes de tipado estático?

¿Por qué C++ utiliza punteros para implementar el polimorfismo?

Libre: La empresa lo vuelve a contratar dado que desea implementar cargos que extienden de cargos y tienen los permisos del cargo que extienden y pueden agregar más permisos. Por ejemplo el cargo “Jefe de ventas” extiende de “vendedor” y tiene los mismos permisos que “vendedor” y agrega “auditar venta” .
Diseñe la solución en objetos, realice la función que permita obtener los permisos e indique qué cambiaría en los archivos.

lunes, 11 de noviembre de 2024

Obra Social - software para llevar clientes y prestaciones determinadas

 

  1. (45) Una Obra Social lo contrata para realizar un software que permita saber si un cliente que tiene un id y un nombre, cuenta con una prestación determinada. La obra social tiene 3 tipos de clientes: 

    1. plan básico: cuenta con las prestaciones guardadas en un archivo de texto llamado “basica.txt” 

    2. plan medio: cuenta con las prestaciones guardadas en un archivo de texto llamado “medio.txt” 

    3. plan premium: cuenta con las prestaciones guardadas en un archivo de texto llamado “premium.txt” 

A la vez cuenta con un archivo binario que cuenta con los datos de los usuarios con el siguiente formato: 


int id

char[200] nombre

char tipo // b es básico, m es medio y p es premium.  

int cantidad //que es la cantidad de veces que se utilizó el servicio en el mes. 


Diseñe y programe:

  • Un modelo que permita leer los usuarios y sus prestaciones. 

  • Programe una función que dado un usuario y una prestación indique si esta prestación es prestada.  

  1. (40) Realice funciones usando stl :

    1. (10) Que obtenga los 5 usuarios que más utilizaron el servicio en el mes

    2. (10) Que obtenga todas las prestaciones de todos los planes

    3. (10) Que obtenga la cantidad de veces que se utilizó el servicio por tipo de plan. 

    4. (10) Que obtenga las prestaciones que se repite en todos planes.  

  2. (15) Conteste: ¿Qué ventajas tiene utilizar stl? ¿Para qué nos sirven los iterators?


Obra Social - software para llevar clientes y prestaciones determinadas

 

  1. (30) Programe un vector dinámico con tipos template que permita: 

    1. Agregar un elemento.

    2. Recuperar un elemento. 

    3. Dado un elemento retorne verdadero si este está contenido en el vector y falso en el caso contrario. 

  2. (40) Una Obra Social lo contrata para realizar un software que permita saber si un cliente que tiene un id y un nombre, cuenta con una prestación determinada. La obra social tiene 3 tipos de clientes: 

    1. plan básico: cuenta con las prestaciones “consulta médica”, “remedios gratuitos”. 

    2. plan medio: cuenta con las prestaciones de plan básico más “odontología” y “oftalmología”. 

    3. plan premium: cuenta con las prestaciones de plan medio más “internación”. 

Diseñe y programe:

  • Un modelo que permita cargar los usuarios y sus prestaciones. 

  • Programe una función que dado un usuario y una prestación indique si esta prestación es prestada.  

Para esta actividad puede utilizar el vector dinámico programado en el punto 1.  

  1. (15) Teoría: Indique si es necesario utilizar herencia o composición o las dos en el punto anterior. Y qué ventajas o desventajas le aportan al diseño del punto 1.  

  2. (15) Indique cuál es el resultado del siguiente algoritmo para los parámetros: 10, 5, 7. 


int X(int n) {

    if (n == 0 || n == 1) 

        return n;

    else

        return X(n - 1) + X(n - 2)

}


viernes, 1 de noviembre de 2024

Diseñar y programar un sistema de votación de series y películas

 Netflix te ha contratado para diseñar y programar un sistema de votación de sus series y películas. En esta plataforma, los usuarios pueden votar las series y películas que han visto, asignándoles una calificación del 0 al 5. Dicha empresa tiene los datos de sus series y películas en un archivo binario con el siguiente formato: 

int nro

char[200] nombre

char tipo // s : serie, p : película. 

Y los datos de las votaciones se encuentran en otro archivo binario con el siguiente formato: 

int nro

int votación

Donde nro es el identificador de la pelicula o serie. Además la valoración de una película o serie está dada por el promedio de sus votaciones. 

1. (30) Realice el diseño que lea los archivos y permita mostrar el nombre de las películas o series y su valoración. 

2. (25) Escriba un archivo de texto que permita saber el nombre de las películas o series y su valoración con el siguiente formato: “Nombre ………. valoración”.

3. (30) Realice funciones usando stl :

(10) Que obtenga las 5 películas o series con mayor valoración.

(10) Que obtenga el o las películas o series más votadas.

(10) Que obtenga la cantidad de votos de las series y la cantidad de votos de las películas (utilice map)

4. (15) Conteste: ¿en qué casos utilizaría archivo binario y en qué casos archivo de texto? ¿Y por qué?   


lunes, 23 de septiembre de 2024

Empresa para desarrollar software que permita cargar una encuesta

Una empresa lo contrata para realizar un software que permita cargar una encuesta. La encuesta tiene preguntas y cada pregunta contiene diferentes respuestas. A la vez algunas respuestas pueden contener preguntas. 

Por ejemplo : Tiene teléfono móvil? si la respuesta es afirmativa, se desprende la pregunta: Cual marca? y si la respuesta es negativa, no se continua preguntando sobre el tema. 

(30) Realice un diseño que permita guardar las preguntas y respuestas cargadas en un o varios archivos binarios. 

(30) Realice un procedimiento que permita responder dicha encuesta. Para este procedimiento no es necesario guardar las respuestas. 

(20) Utilizando STL realice:

una función que indique cual es o son las preguntas con más respuestas. 

una función que indique las respuestas que tienen preguntas encadenadas.  

(20) Explique porque son necesarias las clases template. ¿Cuándo las utilizaría? ¿Cuáles son sus ventajas y desventajas? 

Libre: Realice una función que guarde en un archivo de texto todas las preguntas y respuestas posibles. Para esto sobreescriba el operador << 

miércoles, 18 de septiembre de 2024

Empresa de viajes - Software que permita calcular los precios de sus viajes y el tiempo de los mismos

Una empresa de viajes lo contrata para hacer un software que permita calcular los precios de sus viajes y el tiempo de los mismos (en horas). Los viajes pueden ser : 

  1. En avión, la empresa coordina los costos de ida y de vuelta con la aerolínea disponible y el precio del viaje es este costo más un 20%. El tiempo de viaje se calcula como el tiempo de vuelo más 2 horas. 

  2. En colectivo, la empresa cobra $ 8 por kilómetro de viaje. Y el tiempo, es un dato que se ingresa. 

  3. En avión y colectivo, la empresa coordina los costos de ida y de vuelta con la aerolínea disponible y el precio del viaje es este costo más un 20% y $ 8 por kilómetro de viaje en colectivo. El tiempo de viaje se calcula como el tiempo de vuelo más 2 horas, más las horas de colectivo. 

  1. 22) Realice un diseño y realice una función que permita cargar los viajes y calcule los precios de los mismos. 

  2. 22) Realice una función que permita guardar los viajes (nombre, el tipo, sus costos(dependiendo del tipo), horas de viaje y su precio). Diseñe el o los archivos para guardar la información de forma óptima. 

  3. 20) Realice procedimiento con funciones STL que permita saber: 

    1. Los 5 viajes más baratos. 

    2. El viaje que lleva más tiempo.

    3. Los viajes que se pueden realizar en cierto tiempo.

  4. 20) Realice una estructura template que permita mantener un conjunto de tuplas clave-valor, dicha estructura debe permitir (no utilice STL) :

    1. Agregar un elemento si no existe la clave.

    2. Retornar un elemento a partir de una clave.

    3. Eliminar un elemento a partir de una clave.

  5. 16) Indique:

    1. ¿por qué los template son importantes en un lenguaje de tipado estático?

    2. ¿qué técnicas de reutilización de código conoce y como reutilizar código? ejemplifique.  


Libre: La empresa lo vuelve a contratar dado que tiene un nuevo tipo de viajes lo cuales son paquetes de viajes que están compuestos por un conjunto de viajes de cualquier tipo y el precio y el tiempo es la suma de todos los precios y los tiempos de los viajes que lo componen. Por ejemplo “tur regional”, está compuesto por el viaje “Paraná-Crespo”, “Crespo-Diamante”, “Diamante-Paraná”.  Diseñe la solución.


Empresa vitivinícola - Software que controle sus líneas de vinos

Una empresa vitivinícola lo contrata para realizar un software que controle sus líneas de vinos, las cuales son las siguientes :
  • de mesa : tiene un precio de 120 pesos por litro y está un año en barrica
  • premium: tiene un precio de 200 pesos por litro y está 2 años en barrica
  • especial: tiene un precio de 320 pesos por litro y está 2 años en barrica y 1 en botella.
La empresa guarda la información de su producción en un archivo binario, con el siguiente formato:

       nro : int
       Tipo : char //M(mesa), P (premium), E(especial)
       cantidad_litros: int
       anio_producción: int

(22) Realice el diseño que permita saber la cantidad de litros que se puede vender en un año determinado y el monto que obtendría si se venden todos los litros.

(22) Realice el procedimiento que lea el archivo binario y escriba un archivo de texto con el siguiente formato para los años 2020, 2021, 2022, 2023 :

       Año….litros…... Monto

(22) Realice funciones que permiten saber:

       Los 5 años que se produjeron más litros
       El año que se podrá vender más vino
       El año que se podrá obtener mayor monto de venta.

(18) (no utilice STL) Programe una estructura template que represente una cola. Dicha estructura debe permitir:

       agregar un elemento,
       obtener un elemento.


(16) Indique:
       ¿por qué los template son importantes en un lenguaje de tipado estático?
       ¿cómo implementa c++ el polimorfismo?

Libre: La empresa vitivinícola lo contrata nuevamente ya que formará una nueva línea de venta, dicha línea es un paquete que contiene los 3 tipos de vinos (M(mesa), P (premium) y E(especial)). Diseñe dicha solución y programe un método que permita saber cuántos paquetes se pueden vender en un año determinado.

Software educativo para mostrar las categorías taxonómicas de los seres vivos

La empresa educarBio lo contrata para desarrollar un software educativo cuyo objetivo es mostrar las categorías taxonómicas de los seres viv...