Ejercicio 1:
Escribir una clase llamada
Rational
para representar fracciones y poder operar con ellas.
Requisitos:
- Usar dos atributos privados de tipo entero para representar el
numerador y el denominador de la fracción. Estos valores se
pasarán como argumentos en el constructor de Rational.
- Las fracciones deben almacenarse (numerador y denominador) en su forma reducida, es
decir, 20/6 deberá reducirse automáticamenta a 10/3.
- Deben proporcionarse métodos públicos para sumar, restar,
multiplicar y dividir fracciones entre si.
- Programar el método toString para que represente las fracciones
con el siguiente formato: (a/b).
- Proporcionar un método público que devuelva el valor que
representa la fracción como un double.
Ejercicio 2:
El objetivo de este ejercicio es crear clases que representen trayectorias
en dos dimensiones, y proporcionar métodos para dibujarlas.
Por trayectoria entenderemos un camino recorrido entre dos puntos en un
espacio de dos dimensiones.
Modelaremos las trayectorias como una serie de 100 puntos
unidos con líneas rectas. Estos 100 puntos se distribuirán entre el principio
y el final de la trayectoria. Para calcular las posiciones (x,y) de
estos puntos, usaremos dos métodos, getX(int n) y getY(int n).
El parámetro n es un entero, cuyo valor ira de
0 a 99, e indica de cual de los 100 puntos la trayectoria debe devolverse
las coordenadas.
Para hacer este ejercicio disponemos de una clase ya resuelta llamada
Pantalla,
que implementa una ventana en la que podemos dibujar. Esta clase posee métodos
para dibujar líneas, círculos, etc. Esta clase está disponible
en
Pantalla.java.
Usaremos esta clase para crear las ventanas en las que vamos a dibujar.
CircularT.java es una clase que también se
proporciona hecha, y que representa trayectorias circulares. El constructor de
esta clase toma como parámetro el radio de la circunferencia descrita.
Los métodos getX(int n) y getY(int n)
calculan la posición (x,y)
del n-esimo punto de la trayectoria.
El método pinta dibuja la trayectoria en el display que se le pasa
como parámetro.
Prueba0.java es un programa para probar esta clase.
Compile estos ficheros y ejecute java Prueba0.
Ahora se pide que se creen las siguientes trayectorias:
- LinealT: es una línea recta entre dos puntos.
El constructor tomará como parámetros las coordenadas de los
dos puntos extremos de la trayectoria.
public LinealT(double x0, double y0,
double x1, double y1)
- EspiralT: representa una espiral.
El constructor tomará como parámetros el número de vueltas que
tendrá la espiral, y la distancia del centro al punto final de
la espiral.
public EspiralT(double radious, double loops)
- LissajousT: representa una figura de lissajous.
El constructor tomará como parámetros el tamaño del rectángulo
que contiene la figura, y las frecuencias vertical y horizontal.
public LissajousT(double width, double height,
double fv, double fh)
Modifique el programa Prueba0 para probar las nuevas trayectorias.
Página actualizada el día 1 de Diciembre de 2005.