Prctica 8 Diseo de tipos clase Polinomio Entero

  • Slides: 7
Download presentation
Práctica 8 Diseño de tipos: clase Polinomio. Entero Fundamentos de Programación Departamento de Lenguajes

Práctica 8 Diseño de tipos: clase Polinomio. Entero Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1. 0. 3

Objetivo Implementar un tipo de datos Polinomio. Entero usando la clase Vector de java.

Objetivo Implementar un tipo de datos Polinomio. Entero usando la clase Vector de java. util. Entender la utilidad de los tipos genéricos. Práctica 8: Diseño de tipos: clase Polinomio. Entero

Repaso de Polinomios Dados el número natural n y los n+1 números reales o

Repaso de Polinomios Dados el número natural n y los n+1 números reales o complejos a 0, a 1, …, an (los llamados coeficientes) se define el polinomio p en la variable x como la función que hace corresponder al valor que tome x el valor 2+…+a xn p(x)=a 0+a. Ejemplo: x+a x 1 2 -3 x 2+5 x 4 -9 x+7 n Los coeficientes son los números -3, 5, -9 y 7 de los términos de grado 2, 4, 1 y 0, respectivamente. (Nota: la representación de un polinomio no tiene por qué seguir ningún orden entre los términos) La potencia más alta (en el ejemplo, 4) indica el grado 8: del polinomio. Práctica Diseño de tipos: clase Polinomio. Entero

Conceptos propios de la POO ¿Tipo MUTABLE o INMUTABLE? Mutable: los objetos de ese

Conceptos propios de la POO ¿Tipo MUTABLE o INMUTABLE? Mutable: los objetos de ese tipo pueden ver modificadas sus propiedades. Ejemplos: tipo Punto o tipo Racional. Inmutable: las propiedades de los objetos no pueden cambiar. Ejemplos: tipo String o tipo Integer. Nosotros vamos a diseñar el tipo Polinomio. Entero como mutable => ¿Esto qué implica a efectos prácticos? Paralelamente, desarrollaremos una CLASE DE UTILIDAD, que contendrá métodos estáticos a través de los que realizar operaciones que no modifiquen el objeto que invoca. Práctica 8: Diseño de tipos: clase Polinomio. Entero

Preparación de la práctica (I) Definición del tipo Polinomio. Entero public interface Polinomio. Entero

Preparación de la práctica (I) Definición del tipo Polinomio. Entero public interface Polinomio. Entero extends Copiable<Polinomio. Entero> Propiedades: Coeficientes, Vector de tipo Integer, consultable y modificable. La posición en el Vector determina el grado del término. Es decir, un 7 en la primera posición del Vector significa el término independiente ó 7 x 0, un -9 en la segunda posición indica -9 x, y así sucesivamente. Criterio de Igualdad: coeficientes iguales. Representación como cadena: entre paréntesis una secuencia de términos, donde cada término es representado por el coeficiente seguido del literal “X”, el símbolo “^” y el grado correspondiente. Ejemplo: (7 X^0 -9 X^1 -3 X^2 0 X^3 5 X^4). Práctica 8: Diseño de tipos: clase Polinomio. Entero

Preparación de la práctica (II) Otros métodos además de los relativos a los atributos:

Preparación de la práctica (II) Otros métodos además de los relativos a los atributos: get. Grado, devuelve un Integer con el grado del polinomio. get. Coeficiente, recibe un Integer con un grado (mayor o igual que cero y menor o igual que el grado del polinomio) y devuelve el coeficiente correspondiente a ese grado. set. Coeficiente, recibe un Integer g con un grado (mayor o igual que cero y menor o igual que el grado del polinomio) y un valor de tipo Integer con el nuevo coeficiente de la potencia g. añade. Coeficiente, recibe un nuevo coeficiente para añadir con un grado uno mayor que el actual grado del polinomio. suma. Coeficiente, recibe dos valores Integer (r y g) y realiza la suma del coeficiente de la potencia g con el valor r. sumar, recibe un Polinomio. Entero y lo suma al objeto que invoca usando el método suma. Coeficiente anterior. Práctica 8: Diseño de tipos: clase Polinomio. Entero

Pasos a la hora de realizar la práctica 1. 2. 3. 4. 5. 6.

Pasos a la hora de realizar la práctica 1. 2. 3. 4. 5. 6. 7. 8. Crear un directorio como espacio de trabajo llamado WS_Practica 08_<usuario> Descargar el fichero Practica 08 Alumno y descomprimirlo en el directorio anterior Arrancar Eclipse escogiendo el directorio WS_Practica 08_<usuario> como Workspace Importar el proyecto mediante la opción File->Import>Existing Projects into Workspace del menú general. Seleccionar la carpeta Practica 08 Alumno en el campo Select root directory y pulsar Finish. Añadir las clases e interfaces a los paquetes correspondientes. Comprobar que el código Java escrito no tiene errores de compilación. Ejecutar el proyecto y comprobar que tampoco hay errores en tiempo de ejecución y que el programa funciona como se espera. Práctica 8: Diseño de tipos: clase Polinomio. Entero