Está en la página 1de 4

Prueba Corta de Programación (POO)

Conceptos fundamentales, algoritmos, métodos y clases


Programación Orientada a Objetos
Por. José Alejandro Franco Calderón

Es hora de poner en práctica todo lo que ha aprendido a lo largo del semestre académico, por tal razón
usted deberá dar solución al siguiente problema y luego subir su evidencia al Campus Virtual como
le será indicado después de la descripción del problema.

Problema

Su profesor de matemáticas del colegio le pidió a usted que le ayudara a desarrollar un programa
modular que le permitiera solucionar las siguientes especificaciones que le dejó en un diagrama de
clase el arquitecto de software del departamento de sistemas del colegio. Usted debe hacer lo
siguiente:

• Programe las siguientes clases en Java y realice lo que le indica el diagrama UML a
continuación.
Tenga en cuenta a nivel general lo siguiente con el fin de hacer la programación funcional de
cada uno de sus métodos:

• (1.1 puntos) La clase Math deberá estar totalmente encapsulada.

• (0.4 puntos) La funcionalidad de la clase Calculadora deberá estar plenamente


relacionada a nivel de herencia con la clase Math.

• (0.25 puntos) La funcionalidad de Calculadora() deberá solo permitir construir


un objeto vacío. Es decir, NO inicializa variables de instancia por obvias razones,
pero si construye la clase.

• (0.25 puntos) La funcionalidad de Calculadora(cadena: nombre, entero


num, real: resp) deberá permitir la construcción de una instancia a partir del
constructor padre. Es decir, debe hacer uso de la instrucción super() para poder
inicializar dicho constructor a través de mecanismos de herencia.

• (1.0 punto) La funcionalidad de sumatoria(entero: inicio, entero: fin)


le deberá permitir sumar los números suministrados como parámetros desde el inicio
hasta el fin incluido y retornar dicho valor acumulado.

Ejemplos:
sumatoria(1,3) → 6 o sumatoria(4,7) → 22

• (1.0 punto) La funcionalidad de elevadoA(entero largo: base, entero


largo: exponente) le deberá permitir elevar un número dada la base n veces su
exponente y retornar dicho valor.

Ejemplos:
elevadoA(2,3) → 8 o elevadoA(3,4) → 81

• (1.0 puntos) La funcionalidad de sumatoriaCompleja(entero: a, entero:


b, entero: c, entero: d, entero: e, entero: f) le deberá permitir
calcular el valor de la siguiente sumatoria y retornarlo.

∑fw=e w
b d

s = (∑ x + ∑ y)
x=a y=c

Tenga en cuenta que los datos le serán suministrados de tal forma que no tenga que
validar nada, solo debe concentrarse en el desarrollo algorítmico.
Ejemplo:
sumatoriaCompleja(5,7,-3,1,1,2) → 2197

Explicación:

∑2w=1 w
7 1

s = (∑ x + ∑ y) = ((5 + 6 + 7) + (−3 − 2 − 1 + 0 + 1))(1+2) = 133 = 𝟐𝟏𝟗𝟕


x=5 y=−3
Hola estimados estudiantes.

Teniendo en cuenta lo visto hasta el momento por favor solucione el (o los) siguiente(s) problemas
haciendo uso de técnicas de desarrollo algorítmico, clases, objetos y de ser necesario algunos de los
pirales fundamentales de la programación Orientada a Objetos y su implementación en el lenguaje de
programación en Java.

Para desarrollar esta prueba corta tenga muy en cuenta lo siguiente:

1. Haga uso del editor de código de su preferencia (NetBeans, Eclipse, Replit, etc…) para codificar
su respuesta y luego hacer llegar la solución al docente.
2. Tenga en cuenta los tipos de datos que le son suministrados tanto en el diagrama de clase como
al momento de programarlos, todo cuenta y es motivo de descuento de puntos.
3. Programe todo de forma modular acorde a las especificaciones aprendidas con respecto a la teoría
de la Programación Orientada a Objetos vista en clase.
4. Haga uso de todo lo que considere necesario hasta los 4 pilares fundamentales de la Programación
Orientada a Objetos (es decir, conceptos básicos, if, if-else, if-elseif-else, while, for, do-while,
uml, clases, abstracción, sobrecarga, encapsulamiento y herencia) aprendidas o repasadas durante
el semestre académico. NO necesita hacer uso de otros elementos distintos. Pero, si aun así usted
hace uso de elementos distintos a los expuestos en este ítem para solucionar su ejercicio, este no
será tenido en cuenta y se calificará con 0.0.
5. No se puede hacer uso de librerías matemáticas dispuestas por el lenguaje de programación, solo
debe hacer uso de su pensamiento algorítmico para dar solución al problema. Si hace uso de
librerías o clases matemáticas externas su entrega será penalizada con menos 3.0 puntos.
6. Solo debe subir los archivo.java que contengan las clases que usted considere desarrolla lo
que se le pide como solución al problema. OJO que el nombre del archivo cambia según lo
especificado en el diagrama de clase.
7. Usted puede hacer su propia clase de implementación (main) para ir haciendo pruebas, pero NO
se debe subir dicho archivo al Campus Virtual, solo debe subir la(s) clase(s) que usted programo
y que le da(n) solución al problema anteriormente descrito.
8. Tampoco deberá subir todo el proyecto construido con ayuda del IDE (NetBeans, Eclipse, Replit,
etc…), solo las clases que solucionan el problema anteriormente indicado.
9. El (o los) archivos que desarrolle(n) el problema debe(n) ser subido(s) en el espacio que el
docente tenga para tal fin en el Campus Virtual.
10. Usted tiene 1 hora con 15 minutos para solucionar el problema, eso incluye subir el (o los)
archivo(s) al Campus Virtual, si al cabo de ese tiempo no realiza el proceso de subir su trabajo
este comenzara a ser penalizado por entrega fuera de tiempo hasta que se cierre la actividad.
11. Los archivos que suba con la extensión .java no deben pesar más de 2MB.
12. Esta actividad es de carácter individual.
13. Solo se le permitirá subir dos (2) archivos.
14. Descargue el documento adjunto para obtener la definición de los problemas.

Saludos y que tengan una buena prueba corta.

//Alejandro Franco

También podría gustarte