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é?   


Bicicletería Oro Verde

La bicicletería Oro Verde lo contrata para diseñar y desarrollar su sistema de control de precios. Dado que la bicicletería tiene un servici...