M.I.A Daniel Alejandro García López.  Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
PILA.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
Listas enlazadas c++ Prof. Franklin Cedeño.
Elementos básicos del Lenguaje
Programación I Teoría III
Tipos de Datos Básicos y Estructurados
1.1 Concepto de Tipo de Datos Abstracto.
Tipo de Dato Abstracto Tipos de datos:
1.3 Programación modular. Subprogramas.
PROGRAMACION DE Pilas o Stacks y Colas
Programación (Estructura de Datos)
Algoritmos y Estructuras de Datos
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.
Estructuras de Datos Especificación formal de Listas.
M.I.A Daniel Alejandro García López
Estructuras de datos M.I.A Daniel Alejandro García López.
Estructuras de datos M.I.A Daniel Alejandro García López.
Unidad 3 Punteros.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
FUNCIONES Y PROCEDIMIENTOS
Estructuras dinámicas de datos, TAD Lista, parte 2
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
TAD_Ana Lilia Laureano/UAM-A1 Tipos Abstractos de Datos y Asertos Ana Lilia Laureano Cruces Universidad Autónoma Metropolitana-Azcapotzalco.
Tema 9 Estructuras.
Características de “C”
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Archivos.
Viviana Poblete López Módulo: Modelo de Datos
Estructura de Datos y Algoritmos
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
PHP TODO SOBRE PHP.
1.1 Concepto y terminología
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.
Tecnólogo en Informática Estructura de Datos y Algoritmos.
Aplicación de estructuras de datos
Applets CONTENIDO ¿Que es un applet? Lo básico de un applet Ciclo de vida de un Applet Las etiquetas de HTML Pasando información a los applets.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Punteros Recomendado: 1. Nivelación Funciones
Son estructuras de datos que almacenan y recuperan sus elementos atendiendo a un estricto orden (LIFO Last – in, first –out Ultimo en entrar – primero.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Ayudantia 3: Pilas- Colas
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Práctica Profesional PHP.
Introducción a los TADs
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
PROGRAMACION DE Pilas o Stacks
M.C. Meliza Contreras González
ESTRUCTURAS LINEALES “LA PILA”
PROGRAMACION DE Pilas o Stacks y Colas
Programación Orientada a Objetos: CLASES Y OBJETOS
MEMORIA DINÁMICA.
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

M.I.A Daniel Alejandro García López

 Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de datos definidos por el sistema.  Esta formado por un conjunto valido de elementos y un numero de operaciones primitivas que se pueden realizar sobre ellos.

 Definición de tipo: Número racional: Conjunto de pares de elementos(a,b) de tipo entero, con b<>0.  Operaciones: ◦ CrearRacional a,b=(a,b) ◦ Suma (a,b)+(c,d)=(a*d+b*c, b*d) ◦ Resta (a,b)-(c,d)=(a*d-b*c,b*d) ◦ Producto (a,b)*(c,d)=(a*c,b*d) ◦ División(a,b)/(c,d)=(a*d,b*c) ◦ Numerador(a,b)=a ◦ Denominador(a,b)=b ◦ ValorReal(a,b)=a/b ◦ Potencia(a,b)^c=(a^c,b^c) ◦ Simplifica(a,b)=(a/mcd(a,b),b(mcd(a,b))

 Una vez definido se podran declarar variables de ese tipo y operar con ellas utilizando las operaciones que aporta el tipo.  Ejemplo: ◦ TRacional r1,r2, rsuma ◦ CrearRacional(4,7,&r1) ◦ CrearRacional(5,8,&r1) ◦ Suma(&r1,&r2) ◦ Printf(“El valor real es %f”, ValorReal(rsuma))

 Un TDA es un elemento básico de la abstracción de datos. Su desarrollo es independiente del lenguaje de programación utilizado, aunque este puede aportar mecanismos que faciliten su realización. Debe verse como una caja negra.

 En un TDA existen dos elementos diferenciados ◦ La interfaz de utilización ◦ La representación  A la hora de utilizar el TDA, la representación debe permanecer oculta. Solo podremos utilizar las operaciones del tipo para trabajar con sus elementos.

 Para construir un TDA debemos: ◦ Exponer una definición del tipo. ◦ Definir las operaciones(funciones y procedimientos) que permitan operar con instancias de ese tipo. ◦ Ocultar la representación de los elementos del tipo de modo que solo se pueda actuar sobre ellos con las operaciones proporcionadas. ◦ Poder hacer instancias múltiples del tipo.

 Constructores: Crean una nueva instancia del tipo.  Transformación: Cambian el valor de uno o más elementos de una instancia del tipo.  Observación: Nos permiten observar el valor de uno o varios elementos de una instancia sin modificarlos.  Iteradores: Nos permiten procesar todos los componentes en un TDA de forma secuencial.

 Una vez definido el TDA se escoge una representación interna utilizando los tipos que proporciona el lenguaje y/o otros TDA ya definidos previamente.  La representación debe ocultarse utilizando los mecanismos que nos proporcione el lenguaje. Ocultamiento de la información  Normalmente la implementación del tipo se realiza en un modulo aparte que será enlazado al programa principal.  Se necesitará un archivo cabecera que contenga la definición de las operaciones y la declaración del tipo. Con esta información se podrá definir elementos del tipo y acceder a sus operaciones.

 struct _Tracional{int a,b};  typedef struct _TRacional TRacional.  void CreaRacional(int a, int b, Tracional *r);  void SumaRacional(TRacional r1,TRacional r2,TRacional *rsum)

 Es una colección lineal, dinámica y homogénea, en la que los elementos se insertan y se extraen por el mismo extremo  Estructura de datos de tipo cola ultimo en entrar primero en salir(LIFO)[RUSELL- NORVIG].

 Operaciones: ◦ CrearPila ◦ Meter ◦ Sacar ◦ Anular ◦ Vacia ◦ Recupera

 Utilizaremos un arreglo para representar la pila. Definiremos un tamaño máximo del arreglo(MaxElemPila)  Llevaremos una variable: cima que indicará cual es el último elemento ocupado en el arreglo.

 #define MaxElemPila  struct _TPilaEnteros{ ◦ int elementos[MaxElemPila]; ◦ int cima;  };  typedef struct _TPilaEnteros TPilaEnteros;  void CreaPila(TPilaEnteros *p){p->cima=0;};  int InsertaPila(int nelem, TPilaEnteros *p){ ◦ If(p->cima==MaxElemPila){  return 0; ◦ } ◦ else{  p->cima++;  P->elementos[p->cima]=nelem;  Return 1; ◦ }  }

 Java Applets Centre Pila Java Applets Centre Pila

 Los navegadores de Internet guardan en una pila las direcciones de los sitios recien visitados. Cada vez que un usuario visita un sitio nuevo, du dirección se empuja para meterla en la pila de direcciones. Despúes, el navegador permite que el usuario quite el sitio recien visitado, mediante el boton atrás.

 Los editores de texto suelen tener una función deshacer que cancela las operaciones recientes de edición, y hace regresar al documento a sus estados anteriores. Esta operación deshacer se logra guardando los cambios de texto en una pila.