TAD_Ana Lilia Laureano/UAM-A1 Tipos Abstractos de Datos y Asertos Ana Lilia Laureano Cruces Universidad Autónoma Metropolitana-Azcapotzalco.

Slides:



Advertisements
Presentaciones similares
PLANIFICACIÓN DE TESTING
Advertisements

INFORMÁTICA PROGRAMACIÓN.
Curso de Excel #Unidad 6 Curso Excel Guillermo Díaz Sanhueza
PILA.
Enfoques de la IA Ana Lilia Laureano-Cruces
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
W w w. r a m o n m u n o z. c o m. A1 Sin Titulo, pintura industrial Sobre tela. 100 x 90 cm
Tomado de:
Definición de IA Ana Lila Laureano-Cruces Universidad Autónoma Metropolitana - Azacapotzalco.
INFORMÁTICA PROGRAMACIÓN.
Técnico en programación de Software
Estructuras de datos y algoritmos
Tipo de Dato Abstracto Tipos de datos:
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Preguntas tipo test (I)
Preguntas tipo test (Tema I)
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Teoría de lenguajes y compiladores
DESCRIPCION DEL PROBLEMA
Encapsulamiento y Abstracció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.
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
POO_ConceptosHistoria Ana Lilia Laureano/UAM-A1 PROGRAMACION ORIENTADA A OBJETOS Ana Lilia Laureano-Cruces Universidad Autómoma Metropolitana-Azcapotzalco.
Tema 2. Abstracciones y Especificaciones.
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
METODOS DE PRUEBA DEL SOFTWARE
Lenguaje C++ Ana Lilia Laureano-Cruces
ESTRUCTURAS DE CONTROL
VHDL.
Explorar y conocer la técnica de Verificación De Modelos (Model Checking) con la finalidad de poder validar los Modelos de Casos de Uso y así poder ampliar.
Unidad 1 Definiciones Básicas
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
Ingeniería de Software
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez
Inteligencia artificial
Clase 10: Estructuras de datos y arreglos.
Introducción a los tipos de datos abstractos
1.1 Concepto y terminología
AED I. Estructuras de Datos.
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
5.3 APROXIMACIONES AL DISEÑO
Material de apoyo Unidad 4 Estructura de datos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Ingeniería del Software
Ingeniería de software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
Análisis y diseño de sistemas Diagrama de componentes
Términos algoritmo diseñar algoritmo implementar algoritmo
Las Pruebas del Software y sus Fundamentos
Clasificación de Diagramas
UNIDAD IV. PILAS, COLAS, RECURSION APLICADAS A LENGUAJE C.
Taller de Sistemas de Programas Clase 5 Dpto. de Computación y T.I.
Ingeniería de Requisitos
Examen diagnóstico ¿Qué es una computadora? ¿Qué es un algoritmo?
TIPOS DE PRUEBAS DEL SOFTWARE
Actividades en el Proceso de desarrollo de Software
¿QUE ES EL DIAGRAMA DE ESTADO ?
Introducción a los TADs
Ingeniería del Software I
Unified Modeling Language (Lenguaje de Modelamiento unificado)
TIPOS DE DATOS ABSTRACTOS
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

TAD_Ana Lilia Laureano/UAM-A1 Tipos Abstractos de Datos y Asertos Ana Lilia Laureano Cruces Universidad Autónoma Metropolitana-Azcapotzalco

TAD_Ana Lilia Laureano/UAM-A2 Los tipos abstractos de datos (TAD´s) y los asertos son una técnica que obliga al diseñador a pensar primero en qué es lo que se supone desea haga el programa, antes de lanzarse a la computadora, lo que podría originarte dolores de cabeza muy fuertes.

TAD_Ana Lilia Laureano/UAM-A3 Un TAD, es una estructura de datos a la cual se le asocia un conjunto de operaciones

TAD_Ana Lilia Laureano/UAM-A4 Ejemplos Un grafo G = ; un conjunto de: vertices y estados (arcos y ligas). Una Matriz; un conjunto de enteros, con operciaones (inversa, transpuesta, multiplicación, suma). Una secuencia; una colección ordenada de cero o más enteros; con significado en la posición.

TAD_Ana Lilia Laureano/UAM-A5 Qué Cómo

TAD_Ana Lilia Laureano/UAM-A6 Interfaz Implementación

TAD_Ana Lilia Laureano/UAM-A7 Abstracción y Especificación Es la generalización de un objeto, sea cual fuese en un determinado contexto. Cuando hablamos de programas se le conoce como especificación.

TAD_Ana Lilia Laureano/UAM-A8 Especificación Esta relacionada con la descripción de que es lo que se va a producir. Son llevadas a cabo en notación matemática. Nos ayuda a comparar la implentación final (Validación).

TAD_Ana Lilia Laureano/UAM-A9 Ejemplo: qué caracteriza a una Pila Una pila es una colección de elementos secuenciales, donde cada localidad aloja un dato del mismo tipo. Los datos son agregados y retirados por un lado específico, llamado tope y solo es posible accesar los datos a través de ese tope.

TAD_Ana Lilia Laureano/UAM-A10 Elemento que se encuentra en el tope de la pila El siguiente elemento a ser insertado va en el tope de la pila. TAD Pila

TAD_Ana Lilia Laureano/UAM-A11 Comportamiento de las Operaciones TraerElemento: regresa el valor del tope de la Pila. PonerElemento: introduce un elemento y regresa una pila con un elemento mas. Sacar Elemento: regresa una pila con un elemento menos (el del tope).

TAD_Ana Lilia Laureano/UAM-A12 CreaPila: regresa una pila nueva y vacía. VaciaPila: regresa un valor verdadero cuando la pila esta vacia y falso en caso contrario. AnulPlia: libera una estructura pila.

TAD_Ana Lilia Laureano/UAM-A13 Se deben incluir a la descripción anterior el tipo de datos que se recibe y el tipo de datos que se produce (dominio y codominio).

TAD_Ana Lilia Laureano/UAM-A14 CreaPila VaciaPila TraerElemento PonerElemento SacarElemento Pila Pila, Elemento Pila Elemento Boolean Una caja Negra llamada Pila

TAD_Ana Lilia Laureano/UAM-A15 OBJETO Elemento Boolean Pila DATOS METODOS VaciaPila CreaPila TraerElemento PonerElemento SacarElemento Anatomia del objeto Pila Llegada de mensajes

TAD_Ana Lilia Laureano/UAM-A16 Un TAD, es un conjunto de operaciones; la ejecución de un TAD, sólo puede ser alcanzada a través de esas operciones y los resultados de estas.

TAD_Ana Lilia Laureano/UAM-A17 Verificación Formal Esta representada por técnicas para preevenir errores en la etapa de diseño y de codificación, sin tener que ejecutar el programa. El objetivo es probar programas de manera análoga a las demostraciones en otras areas de matemáticas.

TAD_Ana Lilia Laureano/UAM-A18 Ejemplos Lenguaje Z; método formal basado en la teoría formal de conjuntos. VDM; en base a conjuntos de tipos de datos. Larch; combina especificaciones axiomáticas y algebraicas.

TAD_Ana Lilia Laureano/UAM-A19 Los asertos Una técnica basada en afirmaciones que se hacen con respecto al estado de un programa, en un punto y que son representadas por un aserto. Suma Parte + 1 aserto { Suma > Parte }

TAD_Ana Lilia Laureano/UAM-A20 Beneficios Demostrar mediante argumentos lógicos que un diseño o implementación satisface los asertos. En lugar de ejecutar el programa.

TAD_Ana Lilia Laureano/UAM-A21 Asertos PreCondición PostCondición Invariante de Ciclo Deben ser verdad antes de ejecutar un módulo lógico. Que resultados son esperados, después de ejecutado un módulo lógico. El estado de las variables antes de la I-ésima iteración, durante la ejecución y después de la ejecución.

TAD_Ana Lilia Laureano/UAM-A22 TIP’s para descubrir componentes reusable y/o TAD’s Alguno de los componentes del sistema puede ser útil para otros. (un componente reusable). El componente reusable puede ser usado con diferentes tipos de datos básicos y operaciones relacionadas con ellos. (un TAD)

TAD_Ana Lilia Laureano/UAM-A23 Cómo construir un componente reusable Especificarlo en dos partes: la interfaz o lo que ofrece (Qué) conocido como definición y la implentación (Cómo). La instancia de un componente reusble es realizada al instanciar la parte de definción, quien a su vez instancia a la parte de implementación.

TAD_Ana Lilia Laureano/UAM-A24 Etapas de diseño de los TAD’s 1. Especificación. 2. Funcionalidad. 3. Verificación. 4. Implementación.

TAD_Ana Lilia Laureano/UAM-A25 Especificación Realizar una descripción en función de las operciones que necesita para: 1. Crear objetos (inicializadoras y constructoras). 2. Transformar objetos (simplificadoras). 3. Analizar el estado de un objeto (analizadoras). 4. Destruir objetos (destructoras).

TAD_Ana Lilia Laureano/UAM-A26 Funcionalidad En esta etapa descubriremos el dominio y el codominio de los datos utilizados por las operaciones que componen al TAD.

TAD_Ana Lilia Laureano/UAM-A27 Verificación A esta etapa le corresponde la formalización del comportamiento de las operaciones, se basan en la pre y post condicion y en la invariante del ciclo. Además se utilizan las estructuras de control permitidas para la programación estructurada.