Está en la página 1de 3

BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA

FACULTAD DE CIENCIAS DE LA COMPUTACION


PROGRAMACION II
PERIODO PRIMAVERA 2018

MANUAL II DE PRÁCTICAS DE LABORATORIO

DR. MARIO ROSSAINZ LOPEZ


H. Puebla de Z. a 16 de enero de 2018

1. Escriba un programa en Java que genere las tablas de multiplicar del 1 al 10. El
programa deberá solicitar al usuario el número de la tabla a generar y entonces la deberá
mostrar en pantalla. El programa terminará hasta que el usuario de el número 0.

2. Escriba un programa en JAVA que pida al usuario 3 ó 4 números enteros (según


elección del usuario) y calcule e imprima el mayor de ellos. El programa terminará
cuando el usuario responda negativamente a una pregunta de “continuar” mostrada por
el programa. Para el cálculo del mayor de los números dados, deberá implementar dos
métodos estáticos que realicen dicho cálculo, uno para 3 números y otro para 4
números, de manera que el métdo que reciba cuatro números deberá hacer uso del que
recibe 3. Nota: utilice sobrecarga de métodos.

3.- En matemáticas y en computación se considera como “dispersa” una matriz de gran


tamaño. De la cual varios valores son 0 (cero). Por ejemplo. La siguiente matriz

0 1 0 2 0
3 0 7 0 0
0 0 0 2 6
Con base en esta matriz dispersa:
Escriba un programa en JAVA que genere una matriz a través de los datos introducidos
por el usuario y verifique si la matriz es dispersa o no (considerando que si tiene más
del 60% de elementos 0, la matriz se considera dispersa). A continuación, si la matriz
es dispersa el programa deberá generar tres arreglos de la misma dimensión, que
contengan el valor de la matriz y sus índices. Por ejemplo, para la matriz anterior:
V{ 1 2 3 7 2 6 }
I { 0 0 1 1 2 2 }
J{ 1 3 0 2 3 4 }

4. Un cerrojo con combinación tiene las siguientes propiedades básicas: la combinación


(una secuencia de tres números) está oculta; el cerrojo se puede abrir proporcionando la
combinación; y esta se puede cambiar, pero solamente por alguien que conoce la
combinación actual. Implemente un programa en JAVA que genere objetos cerrojos con
métodos de instancia públicos abrir() y cambiarComb() y variables de instancia
privadas para almacenar la combinación. Se deberán crear dos constructores, el primero
de ellos definirá una combinación inicial de forma aleatoria y el segundo definirá la
combinación inicial mediante parámetros pasados por el usuario.
5. Escriba un programa en JAVA que genere fracciones como objetos. Sus atributos
serán dos variables privadas de tipo int que representen el numerador y el denominador
(este último deberá ser siempre no negativo). Proporcione un conjunto razonable de
constructores para crear los objetos fracción y defina métodos de instancia públicos,
tales como sumar, restar, multiplicar y dividir, así como la función imprime() e
iguals(), para imprimir los datos de un objeto fracción, y saber si dos fracciones son
iguales. Asegúrese de tratar correctamente el caso en que el denominador es cero.

6. Implemente un programa en JAVA que genere objetos de números Complejos.


Recuerde que un número complejo consta de una parte real y una imaginaria. Esta clase
deberá soportar las mismas operaciones que la de las fracciones, cuando tengan sentido.
Añada métodos de acceso "get" y "set" para extraer y modificar las partes real e
imaginaria del complejo.

7. Modifique las clases de los objetos fracciones y complejos de forma que hereden de
una clase abstracta llamada Numeros. Esta clase abstracta deberá definir métodos
abstractos para hacer las operaciones de sumar, restar, multiplicar y dividir dos
números (en este caso Fracciones o Complejos). Implementar en un main() un arreglo
abstracto, es decir de tipo Numeros y utilizarlo para almacenar cualesquiera números
fracciones o complejos y llevar a cabo las operaciones de forma genérica para mostrar el
polimorfismo de los objetos.

8.- Escriba en JAVA una clase padre llamada Obrero y dos clases hijas: ObreroPorHora
y ObreroAsalariado. Cualquier obrero tiene un nombre y un sueldo. Escriba una interfaz
que contenga el método abstracto: calculaPago(int hrs) con el que se obtenga el pago
semanal de cualquier obrero. Un ObreroPorHora le pagan por hora/trabajo de forma que
el calculo de su salario es el producto del número de horas que trabajó en una semana
por el sueldo hora/trabajo si el número de horas no es mayor que 40, pero si el número
de horas es mayor que 40, las horas extras de trabajo se le pagan al doble. El sueldo
semanal del ObreroAsalariado se calcula de igual forma que en el caso del
ObreroPorHora, sólo que las horas extras se le pagan (aquellas que excedan a 40) igual
que una hora normal de trabajo. Implemente el programa principal que pruebe la
aplicación.

9.- Escriba un programa en Java que implemente la clase PUNTO con la que se puedan
representar puntos en el plano cartesiano. Un objeto punto tendrá como datos una
coordenada (x,y) y como operaciones funciones para obtener la coordenada x de un
punto, obtener la coordenada y de un punto, saber si 2 puntos son iguales (es decir,
tienen las mismas coordenadas), un método para trasladar un punto, un método para
calcular la distancia entre dos puntos y un método para mandar a escribir la coordenada
de un punto a pantalla. Genere el método main para probar la aplicación.

10.- Utilice la implementación del ejercicio anterior para implementar la clase


Rectángulo. Un objeto Rectángulo se formará de 2 objetos Punto contrapuestos que
serán los vértices del rectángulo a construir. Con el uso de los métodos de la clase Punto
se deberán crear métodos para obtener el area() y perímetro() del objeto Rectángulo que
se construya.
FECHA DE ENTREGA:
23 de marzo de 2018

FORMA DE ENTREGA:
Código fuente y compilado en un CD rotulado con los nombres de quien entrega. Cada
implementación dentro de una carpeta diferente.

NOTA:
Podrán trabajar con el presente manual de prácticas de Laboratorio por equipos

También podría gustarte