viernes, 4 de julio de 2025

Software que permita saber si una persona es apta para recibir la ciudadanía italiana

La embajada de Italia lo contrata para que diseñe un software que permita saber si una persona es apta para recibir la ciudadanía Italiana. Para dicho proceso se carga los datos de la persona (dni, nombre (char(200)), apellido (char(200)) y nacionalidad(char(200))) y los datos de su padre, madre, abuelo, bisabuelo y antepasados que tambien son personas por lo tanto los datos son los mismo (dni, nombre (char(200)), apellido (char(200)) y nacionalidad(char(200))).  

El objetivo es cargar el árbol genealógico de la persona de tal manera de poder analizar si es valido darle la nacionalidad. Los datos del árbol genealógico se cargan hasta encontrarnos con un desconocido, en este caso de detiene la carga de esa rama del árbol.
Una persona es considerada para el proceso de nacionalidad Italiana, si es Italiana o si al menos la mitad de sus antepasados del nivel son italianos. Por ejemplo si su padre o madre o ambos son italianos o si tiene 2 o más abuelos italianos o 4 o más bisabuelos, etc.
  1. (25) Realice un diseño que permita resolver dicho problema y permita saber si una persona es apta para el proceso de ciudadania.
  2. (25) Realice un proceso que permita guardar la persona y su árbol genealógico en un archivo binario
  3. (30) Realice las siguientes métodos utilizando stl :
    1. Saber cuantos antepasados Italianos tiene una persona.
    2. Guardar en un archivo de texto los datos de la persona con todo su árbol genealógico.
    3. Dada una persona y su árbol genealógico, saber si tuvo un antepasado con un nombre especifico.  
  4. (20) Explique:
    1. ¿Por qué son necesarias las clases template en los lenguajes de tipado estático?
    2. ¿Por qué C++ utiliza punteros para implementar el polimorfismo?
Libre: La embajada de Italia lo vuelve a contratar, dado que ahora no solo quiere tener en cuenta los datos de los antepasados directos como padre o madre, si no tambien tíos, tías, tíos abuelos etc. ¿Que cambio le haría al diseño? y ¿como guardería los datos?

lunes, 9 de junio de 2025

Empresa que ofrece servicios de limpieza

Una empresa la cual se encarga de ofrecer servicios de limpieza, le solicita como programador, realizar un Software que permita el cobro mensual, sobre su actual cartera de Clientes. Dichos servicios son provistos para un segmento de viviendas que poseen una tipología tipo media familiar. Los formatos de cálculo de la facturación son los siguientes: 
● Mediante horas de servicio: se cobra un monto fijo por la cantidad de horas semanales empleadas en el servicio. 
● Mensual: se cobra un abono fijo por mes. 
● A solicitud del cliente: se cobra un monto por servicio. 
Como parte de una promoción vigente, existe una opción PROMO, la cual a partir del precio de las 3 posibles tarifas anteriores, se cobre la más barata con un 15% de recargo. El software debe permitir cargar los valores iniciales, monto por una hora, monto fijo mensual y monto por servicio. Y luego registrar los servicios que están formados por : número de cliente, tipo de servicio y según el servicio, las horas utilizadas o las solicitudes de servicio. 

1 (65).El software debe calcular el monto total a cobrar y imprimir por pantalla un detalle de todos los clientes con una deuda mayor a un valor ingresado.
2 (15). Para implementar polimorfismo en c++, ¿es necesario que la clase padre tenga un método abstracto? Justifique. Indique las diferencias entre clase y objeto.
3 (20). Indique cual es el resultado del siguiente algoritmo con los siguientes valores : 
1522, 645, 876. 
int XXX(int n) { 
if(n < 10) 
return n; 
return n%10+XXX(n/10)

Indique qué hace el algoritmo.

Sistema para calcular e imprimir el recibo de sueldo

La Empresa Sarasa SA. lo contrata para realizar un sistema que permita calcular e imprimir el recibo de sueldo de los empleados. El recibo de sueldo esta compuesto de varios ítems:

Monto: es el sueldo neto.
Antiguedad: es un porcentaje que se calcula por los años trabajados y se aplica al sueldo neto. Por ejemplo, 8 años trabajados, se incrementa el sueldo en un 8%
Empleados a cargo: se paga un incentivo de 1000 pesos por cada persona que se tenga a cargo.

La empresa guarda los datos de los empleados en un archivo binario con el siguiente formato:
 
int id;
char[200] nombre
double sueldoNeto
int aniosAntiguedad
int empleadosACargo


(25) Realice el diseño de la solución e implemente las clases, teniendo en cuenta que el sistema tiene que estar preparado para poder agregar nuevos ítems cuando sea necesario. Conteste: ¿Se puede utilizar polimorfismo, cual es la ventaja o desventaja?

(23) Realice un procedimiento que permita leer el archivo de binario.

(22) Realice un método que dado el número de empleado guarde en un archivo de texto el recibo de sueldo con todos los ítems calculados.

(30) Realice las siguientes métodos utilizando stl :

Obtener el empleado que tiene más empleados a cargo.
Obtener el monto total de lo que se paga a todos los empleados.
Listar los 5 empleados con más antigüedad ordenados por salario.

Libre: La empresa lo vuelve a contratar dado que necesita que algunos ítems se calculen para algunos empleados y otros ítems no. Realice un diseño de clases para resolver esta funcionalidad y proponga un nuevo formato para mantener dicha información.

lunes, 24 de febrero de 2025

La empresa RRHH lo contrata para diseñar un software que permita informar sobre la jerarquía de cargos

La empresa RRHH lo contrata para diseñar un software que permita informar sobre la jerarquía de cargos y dado un número de empleado obtener fácilmente su responsable. 

La empresa cuenta actualmente con un archivo de texto que tiene la jerarquía de los cargos y los empleados con el siguiente formato: 


45-Juan

-78-Antonio

--33-Maxi

--110-Roberto

-55-Pedro


Donde Juan tiene el número de empleado 45 y tiene 2 personas a cargo, Pedro y Antonio. A la vez, Antonio tiene 2 personas a su cargo: Maxi y Roberto. Y Pedro no tiene persona a su cargo.  


  1. (20) Realice el diseño de la solución e implemente las clases. Conteste: Se puede utilizar polimorfismo, cual es la ventaja o desventaja? 

  2. (20) Realice un procedimiento que permita leer el archivo de texto. 

  3. (20) Realice un método que dado el número de empleado obtenga el responsable y si no tiene responsable retorne null. 

  4. (20) Guarde en un archivo binario el número de empleado, nombre del empleado y cantidad de gente a cargo que tiene.  

  5. (20) Realice las siguientes metodos: 

    1. Obtener el empleado que tiene más empleados a cargo. 

    2. Obtener los empleados que tengan un número de empleado repetido. 


Libre: La empresa lo vuelve a contratar dado que necesita guardar la jerarquía de cargos en archivos binarios (uno o muchos). Realice el diseño de los archivos y programe el procedimiento que los guarde. 


lunes, 13 de enero de 2025

La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso

 La empresa CursoSys lo contrata para desarrollar un software que permita registrar el dictado de su curso. La empresa dicta un curso y tiene diferentes tipos de alumnos: 

  • Alumno invitado: es gratuito y aprueba el curso con una nota mayor a 60 en el examen. 
  • Alumno medio: el cual paga una suscripción y aprueba el curso con 3 exámenes los cuales tienen que tener un promedio mayor a 70. 
  • Alumnos premium: el cual paga una suscripción y aprueba el curso con 5 exámenes los cuales tienen que ser mayores a 70 y tener un promedio mayor a 80%

El alumno tiene un código, nombre y apellido y las notas dependientes del tipo. 

  1. (25) Realice un diseño que permita guardar las entidades en uno o varios archivos binarios. 
  2. (20) Realice una función que liste los alumnos que aprobaron el curso. 
  3. (30) La empresa necesita una funcionalidad que permita al usuario invitado cambiar a usuario medio o premium. 
  4. (25) Utilizando STL realice:
    1. una función que indique cual es o son los alumnos que tienen el promedio más alto. 
    2. una función que indique la cantidad de alumnos por tipo de alumno, utilice map.


Libre: La empresa lo vuelve a contratar ya que piensa dictar varios cursos. Realice un diseño que permita trabajar con varios cursos e indique los archivos que usaría para guardar la información. 


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?


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...