Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. (Valor: 1.0) Dado el siguiente método recursivo, con 0 <= n < v.length:
B). (Valor 0.3). Otro método cuyo T(n) es O(Log(n)), ¿es más rápido que este? Justifique su respuesta.
2. (Valor: 1.0) Siendo n un número entero no negativo, una función recursiva ( ) se define así:
+ % 10, ≥ 10.
( )= 10
, < 10.
A). (Valor 0.4). Implemente esta función recursiva en la siguiente plantilla de método
B). (Valor 0.6). Si ( ) es una división entera y % 10 es el residuo de la división entera entre 10, use la
definición recursiva y determine el valor de f( 8753 ).
3. (Valor: 1.2) En el siguiente método, f( n ) es un método recursivo que retorna n, donde n es un valor entero positivo.
Obtenga: (A) (Valor 0.8) El tiempo de ejecución T(n) del método void sumar() y (B) (Valor 0.4) El orden de complejidad
O( T(n) ).
4. Una empresa requiere sumar un subsidio de transporte de $ 100 000 a los salarios de los trabajadores que devenguen
hasta dos salarios mensuales mínimos legales vigentes (suponga que SMMLV = $ 828 116). Suponga que existe una
clase Trabajador que tiene los métodos double getSalario() y void setSalario( double salario ) para consultar y
modificar el salario, respectivamente. Como se observa en la signatura del siguiente método, La colección trabajadores
tiene elementos de la clase Trabajador. Implemente en Java el cuerpo de este método, para resolver el requerimiento de
la empresa.
5. Una empresa requiere el DISEÑO EN UML de un aplicativo para gestionar los salarios de sus trabajadores. De cada
trabajador se registra el número del documento de identidad (ID), el salario mensual nominal (smn) y sus apellidos y
nombres. A principio de año, la empresa debe aplicar un aumento salarial del 7 % a todos los trabajadores. Sin embargo,
si después del aumento el salario es menor que dos salarios mínimos, entonces se le suma $ 115 000 de un subsidio de
transporte. Suponga que el salario mensual mínimo legal vigente (SMMLV) está en $ 828 116. El aplicativo debe
permitir:
(a) Usar una búsqueda binaria para ubicar un trabajador por el número de su ID. Si lo encuentra, debe mostrar todos sus
datos. En caso contrario, debe informar que la búsqueda fracasó.
(b) Eliminar un trabajador por el número de su ID. Usar una búsqueda binaria para localizar al trabajador que va a
eliminar. Si no lo encuentra, debe informar que la eliminación fracasó.
(c) Usar un Quick Sort para ordenar los Trabajadores por sus números del ID, del menor al mayor.
(d) Aplicar los aumentos salariales a todos los Trabajadores.
(e) Después de aplicar los aumentos salariales, determinar y mostrar el mayor salario.
(f) Después de aplicar los aumentos salariales, determinar y mostrar los datos de los Trabajadores con salario igual al
mayor salario.
Las clases del modelo utilitario deben incluir atributos, constructor y todos los métodos adicionales que se consideren
necesarios. Para Setters, Getters y toString, escribir solo <<Getters>>, <<Setters>> y <<toString>> en su diagrama
UML de clases. En el diseño la empresa tiene un NIT (Número de Identificación Tributario), una dirección y un nombre
(Razón Social). Un trabajador es modelado por su ID, salario y apellidos y nombres. Llame Main a La clase que
contiene los métodos main, crearEmpresa y crearTrabajador. Naturalmente, el proyecto debe mostrar las relaciones
necesarias entre las clases.