Sunteți pe pagina 1din 11

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC.

DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

PARTE A PRIMERA DEFENSA - 20/04/2011 Reglas Generales de presentacin: En la defensa A, debe tener un nico proyecto, con la estructura de la izquierda. En las otras defensas deber escoger la mejor estructura de proyecto considerando lo aprendido en clases como nomenclatura y distribucin de paquetes. La defensa ser en clases, basada en preguntas tericas y procedimentales sobre los puntos desarrollados en la cartilla.

1) Generar 3 clases con mtodo main en un mismo proyecto: Test1A.java, Test1B.java y Test1C.java, en cada una codificar el punto a, b y c respectivamente (use tipos de datos primitivos).

a) Dado un nmero entero, determinar si es positivo, negativo o cero (inicialice el numero antes de la ejecucin). b) Dados seis nmeros determinar el menor de ellos (inicialice los nmeros antes de la ejecucin).

c) Generar una serie de nmeros: 5,10,15,20,25,30.

2) Responder y probar el cdigo en su IDE. a) Qu imprime el programa siguiente?

b) Qu valor tiene x al terminar el cdigo siguiente?Qu valor tiene i?

c) Qu hace el cdigo siguiente?

d) Cuntas veces se ejecutar el cdigo siguiente?Cul ser el valor final de x?

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

e) Qu hace el cdigo siguiente?Por qu?

f) Escriba un cdigo que imprima 20 veces "Voy a aprobar POO 1", "Voy a aprobar POO 2", , "Voy a aprobar POO 20"

3) Escriba una clase Java que represente un crculo: el crculo queda perfectamente definido si se conoce su radio. Defina adems, para esta clase, tres mtodos (pblicos) que permitan calcular el rea del crculo (A= pi* r*r ), el permetro de la circunferencia (p= 2 *pi * r) que delimita el circulo y compara dos crculos que determina el mayor en funcin de su radio. Para probar la funcionalidad antes definida, escriba un pequeo programa TestCirculo.java que cree un crculo con un radio dado, y que calcule (y muestre por pantalla) el rea y el permetro de su circunferencia.

4) Crear una clase de nombre EjercicioString: que contenga slo al mtodo main y partiendo de la String "En mi prxima vida, creer en la reencarnacin" declarada e inicializada como variable, mostrar por consola lo siguiente: a) b) c) d) e) f) Su longitud El carcter asociado al ndice 7 La subcadena "creere" El ndice que ocupa el carcter 'x' La String transformada en maysculas Por ltimo, comprobar si el primer carcter de la String es 'E' y mostrar por consola un mensaje que lo indique.

5) Dada la clase Trayecto siguiente: escribir un mtodo denominado uneTrayecto que reciba como parmetros dos objetos Trayecto y devuelva un nuevo objeto de esa misma clase con: el origen del primero; el destino del segundo; y como distancia la suma de las distancias de los dos viajes originales si el destino del primero coincide con el origen del segundo, sino se cumple dicha condicin se devolver NULL. Cree un programa TestTrayecto.java que permita probar el funcionamiento.

public class Trayecto { public String origen; public String destino; public double distancia; }

6) Se desea llevar un control del estado de una cuenta corriente; la cuenta corriente est caracterizada por su saldo y sobre ella se pueden realizar tres tipos de operaciones:
Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza 2

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

saldo: devuelve el saldo de la cuenta (puede ser negativo). imposicin (cantidad): ingresa en la cuenta una cantidad de dinero. reintegro (cantidad): saca de la cuenta una determinada cantidad de dinero.

Suponga que la cuenta inicialmente tiene un saldo de cero. Escriba una clase CuentaCorriente que implemente la funcionalidad descrita; y escriba un pequeo programa TestCuentaCorriente para probar su funcionamiento. 7) Desarrolle los siguientes puntos: a) Crear una clase Producto con los siguientes atributos: Cdigo de Producto (Integer), Descripcin (String), Precio Unitario(Double). Agregue a la misma clase los mtodos set y get para cada atributo. b) Crear una clase TestProducto (con el mtodo main) y crear las siguientes instancias:

Cdigo 10 20 30 40 50 60

Descripcin Monitor Notebook Mouse Teclado Impresora Gabinete

Precio Unitario 1000,00 3000,00 35,00 50,00 400,00 1500,00

c) Muestre todos los productos (uno por lnea). d) Guarde las instancias en un array y muestre toda la lista. e) Realice una bsqueda en la lista del producto con cdigo 30 y mustrelo. f) Recorra la lista y muestre los productos con precio mayor a $1000,00.

NOTA: La salida por consola debe ser similar a la siguiente:


run: C:Muestra manual ---------------------------------------------------------Producto1:10 Monitor 1000.0 Producto2:20 Notebook 3000.0 Producto3:30 Mouse 35.0 Producto4:40 Teclado 50.0 Producto5:50 Impresora 400.0 Producto6:60 Gabinete 1500.0 D:Recorrido usando array de Producto --------------------------------------------------------10 Monitor 1000.0 20 Notebook 3000.0 30 Mouse 35.0 40 Teclado 50.0 50 Impresora 400.0 60 Gabinete 1500.0 E:Busqueda de codigo 30 --------------------------------------------------------Producto encontrado:30 Mouse 35.0 F:Busqueda de productos con precio => a 1000 --------------------------------------------------------Producto encontrado:10 Monitor 1000.0 Producto encontrado:20 Notebook 3000.0 Producto encontrado:60 Gabinete 1500.0 Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza 3

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

PARTE B SEGUNDA DEFENSA - 27/04/2011 8) Dada la siguiente matriz de notas calcular y mostrar los valores de promedio, mximo, mnimo y una leyenda que diga si el alumno aprob o desaprob (se aprueba con el promedio de los 3parciales >= a 7).

Alumno A Alumno B Alumno C

Parcial 1 6 5 3

Parcial 2 7 8 8

Parcial 3 8 3 9

9) Sistema Tu fiesta: La compaa de celebraciones de fiestas Tu fiesta, ofrece un paquete completo para la celebracin de fiestas de todo tipo, que incluye entre otras cosas, el local, sillas, mesas, comida, cotillones, comida y msica. El monto a cobrar por la fiesta depende de la cantidad de invitados que asisten a la fiesta. Al finalizar la fiesta, se contacta al cliente y se le cobra por los servicios. Este cobro viene dado por la cantidad de invitados que estuvieron en la fiesta y la duracin de la misma segn la siguiente tabla:

Entre 1 y 100 invitados Entre 101 y 500 invitados Ms de 500 invitados

$100 c/u $90 c/u $80 c/u

Adicionalmente, se establece una cuota adicional a pagar, segn las horas que dur la fiesta, la tabla se muestra a continuacin: De 1 a 3 horas De 4 a 6 horas $3000 $6000 $9000 De 7 a 10 horas Escriba el programa java, que reciba los datos de las fiestas efectuadas en un mes: dni del contratante, cantidad de invitados y nmero de horas de la fiesta, y genere el monto a pagar por fiesta, mostrando la siguiente informacin: a) Para cada fiesta: 1. Dni, cantidad de invitados y nmero de horas de la fiesta 2. Monto a cancelar por fiesta. b) Para la compaa: 1. Total invitados en todas las fiestas efectuadas durante el mes. 2. Total horas en todas las fiestas efectuadas durante el mes. 3. Fiesta con mayor pago 4. Fiesta con menor pago

Herencia -Polimorfismo
Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza 4

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

10) Ponga en prctica el concepto de polimorfismo creando las siguiente estructura, deber agregar el mtodo gritar() en la clase Animal, Perro, Gato y Gallo. Crear tambin, la clase TestPolimorfismo.java (con el mtodo main) que permita ver la forma en que gritan estos animales.

11) a) Construir una clase Factura que descienda de la clase Documento y que incluya las caractersticas indicadas: Un atributo emisor (cuyo valor es constante y es JUJUY MARKET S.A.) y otro atributo cliente (de tipo Cliente el cual tiene un solo atributo que es el nombre) y otro atributo total (de tipo double). Un mtodo llamado imprimir(). La creacin de estas clases deben permitir la ejecucin del siguiente cdigo en el mtodo main de una clase PruebaFactura.

La salida debe producir la siguiente informacin: Emisor: JUJUY MARKET S.A. -------------------------Cliente: JORGE MENDOZA Total: 1500.0 pesos

b) Describa la ejecucin de cada una de las lneas del mtodo main (considere las lneas de la imagen).

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

Sobrecarga, de mtodos y de constructores 12) Para registrar totalmente a un empleado en el sistema de una empresa, requiere dos pasos, primero que lo registre la secretaria de RRHH quien se encarga de cargar los datos personales (cuit, apellido, nombre, email, direccin y cantidad de hijos) desde su Curriculum Vite. Luego de acuerdo a lo que el Gerente de RRHH determina en la entrevista segn la experiencia y evaluacin del empleado, le otorga una categora (entre 1 y 10). Como el Gerente de RRHH es tambin el dueo de la empresa tiene el poder de otorgarle un sueldo de acuerdo a su propio criterio, el cual lo usa cuando contrata familiares, conocidos o personal muy idneo. Otra forma que tiene el Gerente de RRHH para establecer un sueldo es dejar que el sistema se encargue de calcularlo basado en la siguiente ecuacin: sueldo = (categora * 1000) + (cantidad de hijos*300).

a) Crear la clase Empleado.java de tal forma que la Secretaria y el Gerente de RRHH puedan hacer su trabajo conociendo la informacin en el momento que se describi el proceso de registro de empleado, es decir, con los constructores y mtodos adecuados. b) Crear una clase (con mtodo main) TestSecretaria.java: en la misma crear un empleado (33333, Maradona,Diego Armando,diego@gmail.com,Belgrano 334 SS Jujuy) pasando como argumentos los datos que tiene la Secretaria de RRHH y mostrarlos. c) Crear una clase (con mtodo main) TestGerente.java: Crear dos empleados, uno que se llame pablo (quien es hermano del gerente por lo cual el gerente le otorgar un sueldo segn su propio criterio y con categora 8); el otro empleado se llamar nicolas quin tendr un sueldo calculado por sistema, el gerente lo califico como categora 3. Clases Abstractas 13) El departamento de sistemas al que Ud. pertenece est desarrollando un sistema de clculo matemtico para el rea de investigaciones fsicas de la facultad de ingeniera de la UNJu. Como ud.es programador java junior se le pidi algo simple pero muy necesario para el sistema: Desarrollar una clase abstracta FiguraGeometrica.java con un mtodo abstracto que permita devolver el rea. Desarrollar las clases hijas Rectangulo.java, Tringulo.java, Circulo.java que debern implementar el mtodo declarado en la superclase (el mtodo que devuelve el rea).
Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza 6

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

Desarrollar una clase TestFiguras.java (con mtodo main) que permita instanciar las clases hijas y calcular sus reas.

rea del cuadrado = lado * lado rea del tringulo = (base * altura) / 2 rea del rectngulo = base * altura rea del crculo = 3'14*(radio *radio) Probar para los siguientes valores: Rectangulo(12.5, 23.7) Rectangulo(8.6, 33.1) Triangulo(12.5, 23.7) Triangulo(8.6, 33.1) Circulo(12.5) Circulo(8.6)

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

PARTE C TERCERA DEFENSA -

INTERFAZ SWING 14) Una secretaria, para registrar totalmente a un empleado en el sistema de una empresa, requiere que se carguen los datos personales (cuit, apellido, nombre, email, direccin, cantidad de hijos y una categora entre 1 y 10). La forma que se tiene para establecer un sueldo es dejar que el sistema se encargue de calcularlo basado en la siguiente ecuacin: sueldo = (categora * 1000) + (cantidad de hijos*300).

d) Crear la estructura de paquetes que se solicita en la cabecera de este trabajo prctico. e) Crear la clase Empleado.java de tal forma que la Secretaria pueda hacer la carga de todos los datos. f) Crear una clase UIEmpleadoAlta.java que contenga los controles swing necesarios para cargar los datos del empleado incorporando botones Nuevo (que permita limpiar los controles de carga), Salir (que permita salir de la aplicacion), Guardar y un botn Mostrar. g) Programar el botn Guardar, de manera que cuando se realice click con el mouse, se almacene el empleado en un ArrayList. h) Programar el botn Mostrar, de manera que cuando se realice click con el mouse, se muestren por consola todos los empleados del ArrayList. i) Crear una clase (con mtodo main) Principal.java que muestre la clase que tiene la interfaz de usuario.

15) Desarrollar una calculadora que realice las operaciones indicaciones en la siguiente pantalla e informe el resultado en un cuadro de dialogo, tenga en cuenta de validar la divisin por cero.

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

16) La empresa MocoSoft lo est evaluando y requiere ver su habilidad para manejar objetos, se le solicita que no use base de datos y trabaje con ArrayList para el manejo de datos e interfaces de pantalla en swing.

El Alta: deber cargar los datos desde una interfaz de usuario y almacenar en un ArrayList. El Listado: deber leer desde el ArrayList y mostrar en un JTable. La Bsqueda: deber crear una ventana de bsqueda por cdigo (de producto o cliente segn sea el caso), en caso de encontrar se mostrar los datos en el formulario de interfaz de Alta.

.Si desea puede usar otro diseo que cumpla con el objetivo del punto planteado.

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

HIBERNATE

17) SISTEMA COMODUS ETAPA I: La empresa MocoSoft cree de que Ud. maneja correctamente objetos en programacin, y lo contrat como desarrollador java; el Project Manager de la empresa le asign a un proyecto de desarrollo en el cual el cliente es la empresa supermercadista Comodus que requiere un sistema de ventas para sus productos. En Mocosoft, los proyectos se desarrollan en etapas, por ahora Ud. estar encargado de desarrollar la primera etapa del proyecto. La primera etapa comprende desarrollar: a) Men principal de acceso a funcionalidades. b) Alta, Baja, Modificacin, Listado y Consulta de Clientes. c) Alta, Baja, Modificacin, Listado y Consulta de Productos. Directivas de desarrollo: DEBERA USAR UNA BASE DE DATOS PARA ADMINISTRAR LAS TABLAS PRODUCTOS Y CLIENTES. El Alta: deber cargar los datos desde una interfaz de usuario y almacenar en una tabla de una base de datos El Listado: deber leer desde la base de datos y mostrar en un JTable. La Consulta: deber llamar un JOptionPane para que el usuario ingrese un id de bsqueda (de producto o cliente segn sea el caso), en caso de encontrar el registro en la base de datos, se mostrar los datos en el formulario de interfaz de Alta. La Baja: se debe hacer despus que se ha buscado y mostrado un registro, se obtiene el id en el formulario donde se muestran sus datos y se elimina de la base de datos. La Modificacin: deber hacer la consulta de un cliente o producto, una vez identificado y que sus datos se encuentren en el formulario podr hacer la modificacin y guardar los datos.

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

10

PROGRAMACION ORIENTADA A OBJETOS ANALISTA PROGRAMADOR UNIVERSITARIO PLAN 2008 - FAC. DE INGENIERIA - AO 2011

CARTILLA PRACTICA VERSION 1.0 - 2011

Al sistema Comodus, agrguele la validacin de activacin de controles de tal forma que no se cometan errores en el proceso de operacin del sistema. Para ello utilice el mtodo .setEnabled(boolean), considere las distintas variables de activacin de botones.

18) SISTEMA COMODUS ETAPA II: Como Ud. le ha entregado a su Jefe de Proyectos en MocoSoft la Etapa I del sistema Comodus, se le ha dado la aprobacin para comenzar con la Etapa II del proyecto: a) Alta de Factura: cuando se hace un alta de factura se decrementa el stock de productos (se debe validar la cantidad de venta de producto vs el stock disponible, no se puede vender si no hay stock), el estado al hacer el alta debe ser NA (no anulado). b) Anulacin de Factura: al anular la factura su estado pasa a ser A (anulado). c) Listado de Factura: El listado debe permitir tener tres vistas en jtable, una de facturas anuladas, otra de facturas no anuladas, y otra de ambas, todas ordenadas por nmero de factura. d) Consulta de Facturas: la consulta debe permitir realizar una bsqueda por nmero de factura, por cliente o por fecha; una vez seleccionada la factura coincidente se debe permitir mostrar la factura por pantalla (la muestra de la factura puede ser en una ventana con controles o en texto armado por concatenacin en un textarea).

Nota: si lo considera pertinente, puede agregar atributos en el modelo de las clases.

Prof.Adj: Ariel Vega; JTP: Jorge R. Mendoza

11

S-ar putea să vă placă și