La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tipos de Datos Abstractos Vector de Racionales

Presentaciones similares


Presentación del tema: "Tipos de Datos Abstractos Vector de Racionales"— Transcripción de la presentación:

1 Tipos de Datos Abstractos Vector de Racionales
Los elementos del vector se referencian desde los clientes con posiciones 1 y la cantidad de elementos VRacional Racional [] arreglo <<constructores>> VRacional (max : entero) <<comandos>> establecerElem (pos : entero, elem : Racional) copy (v: VRacional) Asume que la posición es válida Introducción a la Programación Orientada a Objetos

2 Tipos de Datos Abstractos Vector de Racionales
VRacional Asume que la posición es válida. Compara las referencias Racional [] arreglo <<consultas>> existePos (p : entero): boolean existeElem (r : Racional) : boolean obtenerElem (p : entero) : Racional cantElems () : entero prodEscalar(v : VRacional) : Racional suma (v : VRacional ) : VRacional escalarXVRacional(e : Racional) : VRacional equals (v : VRacional) : boolean clone () : VRacional Asume que las longitudes son consistentes Introducción a la Programación Orientada a Objetos

3 Tipos de Datos Abstractos Vector de Racionales
public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m) { arreglo=new Racional[m]; } \\ Comandos public void establecerElem(int p, Racional val) { \\Asume que la posición es válida arreglo[p-1] = val; arreglo es una variable que referencia a un objeto, VRacional es una clase a partir de la cual se crearán objetos Introducción a la Programación Orientada a Objetos

4 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public boolean existePos (int p) { return p > 0 && p <= arreglo.length; } public Racional obtenerElem (int p){ \\Asume que la posición es válida return arreglo[p-1]; public int cantElems () { return arreglo.length; Introducción a la Programación Orientada a Objetos

5 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public boolean equals(Vector v) { int i=0; boolean iguales=cantElems()==v.cantElems(); while (i<arreglo.length)&&(iguales)) { iguales= (arreglo[i]==v.obtenerElemento(i+1)); i++;} return iguales; } public Vector clone() { Vector v= new Vector(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElemento(i+1, arreglo[i]); return v; SUPERFICIAL Introducción a la Programación Orientada a Objetos

6 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public boolean equals(VRacional v) { \\ superficial int i=0; boolean salida=cantElems()==v.cantElems(); while (i<arreglo.length)&&(salida)) { salida= (arreglo[i]==v.obtenerElem(i+1)); i++;} return salida; } public VRacional clone() { VRacional v= new VRacional(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElem(i+1, arreglo[i]); return v; Introducción a la Programación Orientada a Objetos

7 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public boolean equals(VRacional v) { \\ profundidad } public VRacional clone() { Introducción a la Programación Orientada a Objetos

8 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public boolean equals(VRacional v) { \\ profundidad int i=0; boolean salida=true; while (i<arreglo.length)&&(salida)) { salida= (arreglo[i].equals(v.obtenerElem(i+1))); i++;} return salida; } public VRacional clone() { VRacional v= new VRacional(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElem(i+1, arreglo[i].clone()); return v; Introducción a la Programación Orientada a Objetos

9 Tipos de Datos Abstractos Vector de Racionales
\\ Consultas public Racional prodEscalar(VRacional v) { \\Asume que las longitudes son consistentes Racional pe= new Racional(0,1); Racional r=new Racional(0,1); for (int i=0;i<=arreglo.length;i++) r=arreglo[i].producto(v.obtenerElem(i+1)); pe= pe.suma(r); return pe; } Introducción a la Programación Orientada a Objetos

10 Administración de Memoria
public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m) { arreglo=new Racional[m]; } v1 arreglo VRacional v1; v1=new VRacional(5); Se declara una variable v1 y se crea un objeto de la clase VRacio cuya referencia se almacena en v1. length 5 Introducción a la Programación Orientada a Objetos

11 Administración de Memoria
public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m) { arreglo=new Racional[m]; } VRacional v1; v1=new VRacional(5); Se declara una variable v1 y se crea un objeto de la clase VRacional cuya referencia se almacena en v1. Introducción a la Programación Orientada a Objetos

12 posiciones 1 y la cantidad de elementos Racional [] arreglo
VRacional Los elementos del vector se referencian desde los clientes con posiciones 1 y la cantidad de elementos Racional [] arreglo <<constructores>> VRacional (max : entero) <<comandos>> establecerElem (pos : entero, elem : Racional) copy (v: VRacional) <<consultas>> existePos (p : entero): boolean existeElem (r : Racional) : boolean obtenerElem (p : entero) : Racional cantElems () : entero prodEscalar(v : VRacional) : Racional suma (v : VRacional ) : VRacional escalarXVRacional(e : Racional) : VRacional equals (v : VRacional) : boolean clone () : VRacional Asume que la posición es válida. Compara las referencias Asume que las longitudes son consistentes Introducción a la Programación Orientada a Objetos

13 Racional num : entero den : entero <<constructor>>
Racional (n,d : entero) <<comandos>> establecerNum (n : entero) establecerDen (d : entero) copy( r: Racional) <<consultas>> obtenerNum() : entero obtenerDen() : entero equals (r: Racional) :boolean toString() :String clone () : Racional suma (rac : Racional) :Racional resta (rac : Racional) :Racional producto (rac : Racional) :Racional cociente (rac : Racional) :Racional Introducción a la Programación Orientada a Objetos


Descargar ppt "Tipos de Datos Abstractos Vector de Racionales"

Presentaciones similares


Anuncios Google