Página Principal -

Ejercicios de Programación - Hoja 2



  1. Implementar la clase Complejo
     
        public class Complejo 
        { 
          // atributos, representan el número x+yi 
          private double x,y;
        
          // constructores 
          public Complejo() { } 
          public Complejo(double x, double y) { }
    
          // métodos 
          public void ponX(double nuevaX) { } 
          public void ponY(double nuevaY) { } 
          public double valorX() { } 
          public double valorY() { } 
          public double módulo() { } 
        } 
      
    Implementar también los siguientes métodos:
    1. toString
    2. equals
    3. clone
    4. tres variantes de conjugado, modificando y sin modificar el objeto

    Implementar una clase PruebaComplejos que contenga el método main y que permita probar el funcionamiento de la clase Complejo.


  2. Un intervalo cerrado [a,b] sobre los números reales viene dado por dos números reales a, b. Escribir una clase Intervalo para representar intervalos de números reales. La clase debe contener al menos los siguientes métodos:
    1. double longitud(): Devuelve la longitud del intervalo. Se llama longitud del intervalo al valor b - a.
    2. boolean vacío(): Devuelve true si el intervalo está vacío o false. El intervalo se dice vacío si b < a.
    3. Intervalo intersección(Intervalo) devuelve un nuevo intervalo, resultado de la unión del intervalo actual con el que se pasa como parámetro. El intervalo actual no debe quedar modificado. La intersección de dos intervalos es el intervalo que contiene todos los valores comunes a los dos intervalos. Por ejemplo la intersección de los intervalos [3.2, 5] y [1,4] sería el nuevo intervalo [3.2,4], mientras que la intersección de [3.2, 5] y [7,9] sería el intervalo vacío (que podemos representar por ejemplo como [-1,0].
    4. Un método String toString() que devuelve un String representando el intervalo como por ejemplo "[3.3, 4.89]".

    Escribir una clase Principal con un método main que defina tres intervalos a=[1,5], b = [2,4], c=[3,6], los muestre mediante toString() y calcule y muestre por pantalla el intervalo que se obtiene al hacer la intersección de los 3 intervalos.


  3. Escribir una clase Media que sirva para calcular la media de una secuencia de números. Debe disponer de los siguientes métodos, además de los atributos y constructora que se consideren necesarios:
    Escribir además una clase con un método main que vaya leyendo números enteros de teclado y añadiéndolos a un objeto de tipo Media, hasta que el usuario escriba un número negativo, momento en el que se mostrará por pantalla la media de los valores introducidos.


  4. Implementar las siguientes clases:
    1. Punto2D, que representa un punto en un espacio de 2 dimensiones
    2. Vector2D, que representa un vector en 2 dimensiones definido por su punto de aplicación y sus coordenadas. Implementar métodos que permitan realizar productos escalares, vectoriales y productos de un vector por un escalar.
    3. Poligono, que representa un polígono de n lados definido por n vectores

    Se sabe que un punto A está dentro de un polígono si el resultado de realizar el producto escalar del vector que define un lado L por el vector que definen el punto A y el vértice al que llega el lado L, realizado con todos los lados del polígono, tiene siempre el mismo signo. Realizar un programa que, dados un polígono y un punto, calcule si el punto se encuentra dentro del polígono.


- Página Principal