Estructuras de datos y tipos de datos abstractos

50 %
50 %
Information about Estructuras de datos y tipos de datos abstractos
Education

Published on March 23, 2009

Author: llastra

Source: slideshare.net

Description

Primera unidad de la asignatura de Estructuras de datos del Instituto Profesional Virginio Gómez.

Archivos con librerias estáticas, manuales paso a paso, códigos, etc en http://www.severus.cl

Arreglos Registros Tipo Abstracto de Datos Estructuras de datos y tipos abstractos de datos Unidad 1 Luis Lastra Cid llastra@virginiogomez.cl Instituto Profesional Virginio Gómez 2009-1 Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Arreglos ¿Que es un arreglo? Los arreglos son una coleccion de variables del mismo tipo que se referencian utilizando un nombre comun. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o varias dimensiones. Para acceder a un elemento en particular de un arreglo se usa un índice. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Arreglos ¿String? Los llamados strings en C no existen como tal, son solo un arreglo de caracteres, los cuales tienen como unica diferencia el caracter de corte en el último elemento 0. Deben recordar que la posición comienza desde 0 y que cada elemento char utiliza un byte de memoria. Si necesitan exactamente 10 letras deben declarar el arreglo con 11 direcciones de memorias asignadas. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplirijillo Cuenta Letras 1 i n t l e t r a s ( char a r r [ ] ) { 2 i n t i , c =0; 3 f o r ( i =0; i <max ; i ++){ 4 i f ( a r r [ i ] ! = ’ 0 ’ ) 5 c++; 6 else 7 break ; 8 } 9 p r i n t f ( quot; n Posee % l e t r a s quot; , c ) ; i 10 return ( c ) ; 11 } Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Registros Registros/estructuras Una estructura es un tipo de dato compuesto que permite almacenar un conjunto de datos de diferente tipo. Los datos que contiene una estructura pueden ser de tipo simple (caracteres, números enteros o reales, etc.) o a su vez de tipo compuesto (arreglos, estructuras, listas, etc.). ¿de que sirven? Usualmente, las estructuras nos sirven para representar abstractamente una parte de un problema, generando así, un modelo acorde a las necesidades de la situación y no un modelo con detalles que no usaremos. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplirijillo Cuenta Letras 1 struct tribu_urbana { 2 char nombreT [ 2 0 ] ; 3 char b a n d a s T i p i c a s [ 3 ] [ 3 0 ] ; 4 }; 5 struct persona { 6 char nombre [ 2 0 ] ; 7 char r u t [ 1 2 ] ; 8 struct tribu_urbana t r ib u ; 9 }; 10 typedef s t r u c t persona persona ; 11 persona x ; Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Antonces podemos representar a .... Figura: Metalero Figura: EMO Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Tipo abstracto de datos Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. Abstracción Lo primero que debemos enfrentar antes de programar es a un problema. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Tipo abstracto de datos Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. Abstracción Lo primero que debemos enfrentar antes de programar es a un problema. Como los problemas son complejos, debemos analizar solo lo mas importante. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Tipo abstracto de datos Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo. Abstracción Lo primero que debemos enfrentar antes de programar es a un problema. Como los problemas son complejos, debemos analizar solo lo mas importante. Luego de separar los detalles generales de los especificos podemos obtener un modelo abstracto de problema. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplo gráfico Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplo gráfico Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplo gráfico Figura: Abstracción Gatuna Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD ¿Que debemos considerar? Datos afectados. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD ¿Que debemos considerar? Datos afectados. Operaciones identificadas. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Otro ejemplo ¿Que pasa si necesitamos hacer una abstracción de un perro? ¿Que datos afectados veremos? ¿Que operaciones identificadas podemos apreciar? Todo esto depende de las necesidades de nuestro modelo a realizar. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD ¿Perreando? Ok! hagamos entonces una abstracción con los datos y operaciones mas genericas de un perro. Nuestro objetivo es generar un modelo que se aplique a todos los perros existentes, donde por ende, debe ser abstracto. Hagamos algo sencillo, no nos compliquemos. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD ¿Perreando? Ok! hagamos entonces una abstracción con los datos y operaciones mas genericas de un perro. Nuestro objetivo es generar un modelo que se aplique a todos los perros existentes, donde por ende, debe ser abstracto. Hagamos algo sencillo, no nos compliquemos. Definitivamente .... perreando Nuestro perro tiene nombre, raza y la cantidad de ladridos que da. Nuestro perro Ladra y Come. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD ¿Perreando? Ok! hagamos entonces una abstracción con los datos y operaciones mas genericas de un perro. Nuestro objetivo es generar un modelo que se aplique a todos los perros existentes, donde por ende, debe ser abstracto. Hagamos algo sencillo, no nos compliquemos. Definitivamente .... perreando Nuestro perro tiene nombre, raza y la cantidad de ladridos que da. Nuestro perro Ladra y Come. Excelente! Ahora tenemos un modelo abstracto de nuestro perro. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Representación de un TAD TAD Boolean ( VALORES: booleanos; Operaciones: Not, And, Or) Sintaxis * TRUE: → Boolean * FALSE: → Boolean Not(Boolean) → Boolean And(Boolean, Boolean) → Boolean Or(Boolean, Boolean) → Boolean Semántica ∀ e de tipo boolean Not(true) → False Not(False) → True And(e,True) → e And(e,False) → False Or(e,True) → True Or(e, False) → e Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Representación de un TAD TAD Enteros positivos ( VALORES: Numeros Enteros positivos Booleanos; Operaciones: Cero, Sucesor, Antecesor, Suma, Resta, Producto) Sintaxis * Cero: → Entero * Sucesor(Entero): → Entero * Antecesor(Entero) → Entero Suma(Entero, Entero) → Entero Resta(Entero, Entero) → Entero Producto(Entero, Entero) → Entero Semántica ∀ m,n de tipo entero Sucesor(Antecesor(n)) → n Suma(n, Sucesor(m)) → Sucesor(Suma(n,m)) Resta(n, Cero) → n Resta(n,Sucesor(m) → Antecesor(resta(n,m)) Producto(n, Sucesor(m)) → Suma(Producto(n,m),n) Sucesor(n) = Sucesor(m) → n = m Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Ocultación de la información o Encapsulamiento Protección de la implementación en caso de modificación. Proteger una decisión de diseño supone proporcionar una interfaz estable que proteja el resto del programa de la implementación. Esto refiere a permitir la extensibilidad del código sin necesidad de grandes modificaciones a cada parte del programa en si. Quienes usen nuestro código deben saber que es lo que hace, pero no es necesario saber como lo hace. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplo gráfico Figura: Encapsulamiento Gatuno Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos TAD Modularidad La modularidad descompone un programa en un pequeño número de abstracciones independientes unas de otras pero fáciles de conectar entre sí. Un módulo se caracteriza principalmente por su interfaz y su implementación. La programación modular sigue el criterio de ocultación de información: si no se necesita algún tipo de información, no se debe tener acceso a ella. Aspectos importantes La modularidad es un aspecto muy importante en los TAD, ya que es el reflejo de la independencia de la especificación y la implementación. Es la demostración de que un TAD puede funcionar con diferentes implementaciones. Además de esto, la programación modular ofrece otras ventajas, como por ejemplo un mejor reparto del trabajo y una detección de fallos mucho mejor. Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Ejemplo gráfico Figura: Modularidad Gatuna Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Arreglos Registros Tipo Abstracto de Datos Basta de palabrerias ¿Como aplicamos todo esto en C? La respuesta es tan sencilla como que deben realizar una libreria estática para ejemplificar todo lo anteriormente comentado. En el archivo tar.gz que acompaña a esta presentación está la respuesta, indicaciones y ejemplos. Hecho con LTEX A Luis Lastra | http://www.severus.cl Estructura de Datos 2009-1

Add a comment

Related presentations

Related pages

Tipos de Datos, Estructuras de Datos y Tipos de Datos ...

Estructuras de Datos y Algoritmos Perla Señas y Sergio Martig - 2005 Un tipo de datos abstracto queda determinado por el modelo matemático que lo
Read more

Estructura de Datos I: Tipos Abstractos de Datos

Los tipos abstractos de datos están formados por los datos (estructuras de datos) y las operaciones ...
Read more

10. TIPOS DE DATOS, ESTRUCTURAS DE DATOS Y TIPOS ...

Algoritmos y Estructuras de Datos I Ricardo Ferrís / Jesús Albert 18 Tema 10. Tipos de datos, estructuras de datos y tipos abstractos de datos
Read more

Tipos Abstractos de Datos - Academia Madrid Ingeniería ...

1 Tipos Abstractos de Datos Tema 1. Estructuras de Datos y de la Información Tipos de Datos Un Tipo de Datos es una colección de valores Han sido ...
Read more

Tipo de dato abstracto - Wikipedia, la enciclopedia libre

... “perro” es un Tipo de Dato Abstracto y todo el proceso ... Las estructuras de datos están caracterizadas por el tipo de dato de los elementos ...
Read more

Tipo de Dato Abstracto - YouTube

Conceptos fundamentales de las estructuras de datos y los tipos de datos abstractos. Skip navigation Upload. Sign in. ... Tipo de Dato Abstracto
Read more

Página 7. Estructura de Datos en C++

1.6. TIPOS ABSTRACTOS DE DATOS. ... Un TAD se compone de estructuras de datos y los procedimientos o funciones que manipulan esa estructuras de datos.
Read more

1­Introducción 1.2­Estructuras de datos y Tipos de ...

Estructura de Datos y Algoritmos Tema­I­Introducción y conceptos fundamentales 1.2.3 Tipos de datos abstractos: Punteros y Listas enlazadas
Read more