Tipos de Datos Abstractos Vector de Racionales

Slides:



Advertisements
Presentaciones similares
Arreglos.
Advertisements

Definición de Clases y Variables de referencia.
Defina una clase TempMinEstacion que encapsule la representación de las temperaturas mínimas registradas en una estación meteorológica en un período y.
Introducción a la Programación Orientada a Objetos Una Universidad administra varias residencias para estudiantes extranjeros. Cada residencia ocupa un.
TDA Matriz Racionales Implementar un TDA MatrizRac que brinde operaciones para calcular el producto de un escalar por una matriz, la suma de dos matrices,
El proceso de desarrollo de software
Recorridos Iterativos y Recursivos
Abstracciones y Modelos
Reusabilidad La productividad está basada en reusabilidad y extensibilidad El reusabilidad permite desarrollar nuevas aplicaciones a partir de componentes.
El proceso de desarrollo de software
Punteros Universidad Nacional Mayor de San Marcos
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
Encapsulamiento y Abstracción
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Marzo 2007 Lenguajes Visuales Clase III.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 3.
El concepto de clase Con frecuencia un término puede definirse de diferentes maneras según el enfoque. Desde el punto de vista del análisis y el diseño.
Genericidad Una clase genérica encapsula una estructura y brinda un conjunto de servicios cuya implementación no depende del tipo de las componentes.
Genericidad Los datos de aplicaciones muy diferentes puede modelarse con frecuencia a partir de tipos de datos cuyas operaciones no dependen del tipo de.
Arreglos: Vectores en JAVA
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
L ISTAS E NLAZADAS No son mas que un conjunto o lista de objetos que a diferencia de los vectores, estas poseen la capacidad de crecer o decrecer. Por.
Introducción a clases Programación Orientada a Objetos.
Arreglos.
JAVA J.A.C..
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Programación III Clase 06 Funciones.
Manejo de Vectores y Matirces
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Herramientas de polimorfismo y herencia en C++
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
Java.
Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional)
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Genericidad.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tabla.
Aun en problemas muy simples surge la necesidad de agrupar valores elementales de alguna manera. Cuando representamos una caja de ahorro bancaria definimos.
Arreglos de Objetos.
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Colección.
Introducción a la Programación Orientada a Objetos Una clase que modela los atributos y el comportamiento de una colección de objetos, define un tipo de.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Polimorfismo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Abstracción.
Introducción a la Programación Orientada a Objetos Arreglos de 2 dimensiones TDA Matriz Implementar un TDA Matriz que brinde operaciones para calcular.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Dependencia.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2016 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

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

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

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

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

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

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

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

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

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

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

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

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

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