Especificación de TAD. Lección 2

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Especificación de TAD. Lección 2"

Transcripción

1 Especificación de TAD Lección 2

2 Esquema Características generales de una especificación Especificación algebraica Especificación no formal Lectura recomendada: sección 1.3 del libro de Z.J. Hernández et al. de la bibliografía. Lección 2: Especificación de TAD 2

3 Definición de TAD Un Tipo Abstracto de Datos es un conjunto de valores y de operaciones definidos mediante una especificación independiente de cualquier implementación. TAD = valores + operaciones Lección 2: Especificación de TAD 3

4 Programación con TAD s Pasos en la programación con TAD: 1. Especificación del tipo 2. Implementación del tipo 3. Uso del tipo 1. Especificación del TAD: Establecer la interfaz con el usuario del tipo ( lo que necesita saber el usuario-programador ) Decir qué es el TAD sin decir cómo se implementa Decidir la lista de operaciones necesarias y especificarlas para cada operación describir: información de entrada, información de salida, y el comportamiento o efecto de la operación Lección 2: Especificación de TAD 4

5 Especificación de un TAD La especificación de un TAD consiste en establecer las propiedades que lo definen. Una especificación útil debe ser: Precisa (decir lo imprescindible) General (adaptable a diferentes contextos) Legible (para todos y que todos entiendan lo mismo) No ambigua (evitar problemas de interpretación) La especificación define un único tipo, es decir, define totalmente su comportamiento Lección 2: Especificación de TAD 5

6 Especificación de TAD Alternativas: Especificaciones formales especificación algebraica Precisa, breve, y sin ambigüedades Sintaxis específica Verificación formal de TAD s Especificaciones no formales Generalmente expresada en lenguaje natural También deberá ser precisa, general, legible, no ambigua, y definir totalmente su comportamiento Lección 2: Especificación de TAD 6

7 Especificación Algebraica Técnica formal para especificar TAD Objetivo: Definir un tipo de datos sin ambigüedades (conjunto de valores + operaciones permitidas) Ventajas: Unanimidad de la interpretación Definir tipos independientemente de cualquier posible representación Razonar corrección representación/implementación Deducción de propiedades satisfechas por implementaciones correctas (verificación formal) Generación automática de código a partir de la especificación algebraica Lección 2: Especificación de TAD 7

8 Ejemplo de especificación algebraica espec booleanos género bool operaciones verdad: bool falso: bool _: bool bool _ _, _ _: bool bool bool Una especificación tendrá una parte sintáctica conjunto de valores (realmente, es el NOMBRE del tipo) Lección 2: Especificación de TAD 8

9 Ejemplo de especificación algebraica espec booleanos género bool operaciones verdad: bool falso: bool _: bool bool _ _, _ _: bool bool bool operaciones Una especificación tendrá una parte sintáctica Lección 2: Especificación de TAD 9

10 Ejemplo de especificación algebraica ecuaciones b: bool; fespec verdad = falso falso = verdad b verdad = verdad b falso = b b verdad = b b falso = falso propiedades de las operaciones y una parte semántica Lección 2: Especificación de TAD 10

11 Sintaxis Especificación Algebraica Una especificación algebraica consta de: SIGNATURA, define: parte sintáctica GENEROS: nombres de los nuevos tipos Nombres de las OPERACIONES PERFILES de las operaciones Dominio o aridad Rango o coaridad Conjunto de ECUACIONES parte semántica Lección 2: Especificación de TAD 11

12 Sintaxis Especificación Algebraica espec boolnat géneros booleano, natural operaciones verdad,falso: booleano _: booleano booleano _ _, _ _: booleano booleano booleano 0: natural suc: natural natural _+_, _*_: natural natural natural _ _, _>_: natural natural booleano fespec Símbolo _ indica la posición de los argumentos respecto al nombre de la operación Operaciones prefijas sin paréntesis Operaciones infijas Lección 2: Especificación de TAD 12

13 Semántica Especificación Algebraica espec naturales género natural operaciones 0: natural suc: natural natural _+_: natural natural natural ecuaciones x,y: natural x+0 = x x+suc(y) = suc(x+y) fespec ECUACIONES: término bien formado de los géneros de las variables Lección 2: Especificación de TAD 13

14 Sintaxis Especificación Algebraica OPERACIONES: Clasificación en operaciones: generadoras, modificadoras, u observadoras Notación funcional Toma como parámetros 0 ó N valores (dominio o aridad) Produce un solo valor resultado (rango o coaridad) Las operaciones 0-arias se denominan CONSTANTES de su tipo resultado Lección 2: Especificación de TAD 14

15 Ejemplo de fechas: Especificación algebraica espec fechas usa enteros, booleanos género fecha operaciones parcial crear: entero entero entero fecha día: fecha entero mes: fecha entero año: fecha entero iguales: fecha fecha booleano anterior: fecha fecha booleano posterior: fecha fecha booleano dominios de definición d,m,a: entero; crear(d,m,a) está definida si y solo si 1 d 31 y 1 m 12, y además d, m y a componen una fecha válida, es decir el valor de día d es adecuado para el mes m y el año a, según las reglas del calendario gregoriano Lección 2: Especificación de TAD 15

16 Ejemplo de fechas: Especificación algebraica ecuaciones d,d1,d2,m,m1,m2,a,a1,a2: entero; f1,f2:fecha dia(crear(d,m,a))=d mes(crear(d,m,a))=m año(crear(d,m,a))=a iguales(crear(d1,m1,a1),crear(d2,m2,a2))= =(d1=d2) (m1=m2) (a1=a2) anterior(crear(d1,m1,a1),crear(d2,m2,a2))= = (a1<a2) ((a1=a2) (m1<m2)) ((a1=a2) (m1=m2) (d1<d2)) posterior(f1,f2)= (iguales(f1,f2) anterior(f1,f2)) fespec AND: OR: NOT: Lección 2: Especificación de TAD 16

17 Verificación formal de TAD Especificación formal de TAD: Se puede demostrar que la especificación es correcta Se puede demostrar la corrección de una implementación a partir de su especificación la implementación es fiel a la especificación Por tanto se puede demostrar la corrección de los programas que utilicen el TAD Se puede generar código de implementación del TAD (prototipo) a partir de la especificación Lección 2: Especificación de TAD 17

18 Especificación no formal de TAD Especificaciones no formales de TAD símil contrato público Generalmente expresadas en lenguaje natural También deben ser precisas, generales, legibles, no ambiguas, y definir totalmente el comportamiento del TAD y sus operaciones Lección 2: Especificación de TAD 18

19 Especificación no formal de TAD Describir el conjunto de valores y operaciones del TAD, y establecer todas las propiedades que lo definen, de forma independiente de cualquier posible representación o implementación del TAD Sintaxis parecida a la vista para las especificaciones algebraicas Notación funcional: Toma como parámetros 0 o N valores (dominio o aridad) Produce un solo valor resultado (rango o coaridad) Pero con diferencias: Se dará un nombre a cada uno de los parámetros del dominio, y sin la sección de ecuaciones (parte semántica: descripciones textuales) Una especificación no formal constará de: parte sintáctica: SIGNATURA, que define GENEROS: nombres de los nuevos tipos Nombres de las OPERACIONES PERFILES de las operaciones parte semántica: Descripciones textuales escritas en lenguaje natural pero de forma precisa, general, legible, y no ambigua Lección 2: Especificación de TAD's 19

20 Especificación no formal de TAD parte sintáctica: espec nombreespecificación [ usa especificación1, especificación2, ] {aquí una parte de la especificación que se verá más adelante}... género nombregénero1, operaciones [parcial] nombreoperación : [ dominio ] rango Disponible en el material de clase: resumen (chuleta) de la notación no formal que se utilizará en la asignatura para especificar TAD [parcial] nombreoperación _ : géneroarg nombrearg rango [parcial] _ nombreop _ : genarg1 nomarg1, genarg2 nomarg2 rango... fespec Donde: [ ] Significa que lo que está entre los corchetes es opcional, puede que aparezca o no Dominio es una lista de elementos separados por, y donde cada elemento describe un argumento de la operación, indicando el género y nombre del argumento Rango es un género El símbolo _ indica la posición de los argumentos respecto al nombre de la operación. Se utiliza para indicar operaciones con notación prefija sin paréntesis o con notación infija (ejemplo: _, _ _. ) Lección 2: Especificación de TAD 20

21 Especificación no formal de TAD parte semántica: No debe haber detalles de posibles implementaciones La especificación del TAD es independiente de cualquier posible representación o implementación del TAD Descripciones textuales escritas en lenguaje natural pero de forma precisa, general, legible, y no ambigua: A. DESCRIPCION del TAD: describiendo el conjunto de valores que representa el TAD y las propiedades que lo definen B. PARA CADA OPERACIÓN: junto a su perfil debe describirse completamente: 1. Información de entrada y los prerrequisitos que deban cumplirse para usar la operación (precondición) 2. Comportamiento o efecto de la operación al aplicarse sobre las entradas e indicando qué resultado se genera (poscondición) 3. Situaciones indeseadas o de error: Cuando existen casos para los cuales no existe un valor válido que pueda representar el resultado de la operación Se considerarán operaciones parciales y se indicarán en la especificación Lección 2: Especificación de TAD 21

22 Especificación no formal de TAD partes sintáctica y semántica: espec nombreespecificación [ usa especificación1, especificación2, ] {aquí una parte de la especificación que se verá más adelante}... género nombregénero1, {descripción del TAD} operaciones [parcial] nombreoperación : [ dominio ] rango {Descripción del dominio y el rango de la operación. Parcial: descripción de las situaciones que hacen la operación parcial}... [parcial] nombreoperación _ : géneroarg nombrearg rango {Descripción del dominio y el rango de la operación. Parcial: descripción de las situaciones que hacen la operación parcial}... [parcial] _ nomop _ : genarg1 nomarg1, genarg2 nomarg2 rango {Descripción del dominio y el rango de la operación. Parcial: descripción de las situaciones que hacen la operación parcial} fespec Disponible en el material de clase: resumen (chuleta) de la notación no formal que utilizaremos para especificar TAD Lección 2: Especificación de TAD 22

23 Ejemplo de fechas: Especificación no formal espec fechas usa enteros, booleanos género fecha {(Descripción del TAD:) Los valores del TAD fechas representan fechas válidas según las reglas del calendario gregoriano} operaciones parcial crear: entero d, entero m, entero a fecha {Dados los tres valores enteros, se obtiene una fecha compuesta con los tres valores dados usados como día, mes y año respectivamente. Parcial: 1 d 31 y 1 m 12 y además deben formar una fecha válida según el calendario gregoriano.} día: fecha f entero {Dada una fecha f, se obtiene el entero que corresponde al día en la fecha f} mes: fecha f entero {Dada una fecha f, se obtiene el entero que corresponde al mes en la fecha f} año: fecha f entero {Dada una fecha f, se obtiene el entero que corresponde al año en la fecha f} Lección 2: Especificación de TAD's 23

24 Ejemplo de fechas: Especificación no formal iguales: fecha f1, fecha f2 booleano {Dadas dos fechas f1 y f2, se obtiene un booleano con valor verdad si y solo si la fecha f1 es igual que la fecha f2, es decir, corresponden al mismo día, mes y año.} anterior: fecha f1, fecha f2 booleano {Dadas dos fechas f1 y f2, se obtiene un booleano con valor verdad si y solo si la fecha f1 es cronológicamente anterior a la fecha f2.} posterior: fecha f1, fecha f2 booleano {Dadas dos fechas f1 y f2, se obtiene un booleano con valor verdad si y solo si la fecha f1 es cronológicamente posterior a la fecha f2.} fespec Lección 2: Especificación de TAD 24

25 Ejemplo de fechas: Especificación no formal Algún comentario final (pensando en implementación): Sobre las operaciones parciales: Los usuarios del TAD deberán asegurarse de que se cumplan los prerrequisitos (es decir, que los argumentos tengan valores dentro del dominio de definición) antes de utilizar la operación No obstante, la implementación deberá ser robusta, es decir, deberá protegerse frente a valores inconsistentes o que no cumplan los prerrequisitos (tratamiento de errores) Mecanismos de protección frente a errores: Implementación dependiente del lenguaje de programación a utilizar Manejo de excepciones Parámetros de salida de error en cada operación En la especificación indicar las situaciones de error como información adicional para el implementador del TAD y para el usuario del TAD Lección 2: Especificación de TAD's 25

26 Ejercicio: Diseñar un programa que lea una secuencia de enteros de un fichero, mayores que 0, y al acabar escriba en pantalla cada entero leído del fichero junto con su frecuencia de aparición (número total de apariciones del número en el fichero), siguiendo el orden de frecuencias decrecientes. Podemos plantear una solución dividida en 2 módulos: El modulo principal que interactuará con el usuario se encargará de: Preguntar y obtener el nombre del fichero a leer Leer el contenido del fichero y generar los resultados Mostrar los resultados al usuario (números y su frecuencia ordenados) Un modulo con operaciones que permitan almacenar los enteros leídos, junto el número de veces que aparecen, e interrogar sobre los resultados que se necesitan TAD tabla Lección 2: Especificación de TAD 26

27 Tablas de frecuencia: Especificación no formal espec tablas usa naturales, enteros género tabla {DESCRIPCION: Los valores del TAD tablas de frecuencia representan colecciones de números enteros tales que: - no se almacenan enteros repetidos, pero si se registra cuántas veces se ha introducido cada entero (su frecuencia) - las operaciones permiten obtener la información de un entero o su frecuencia según su puesto en el orden decreciente por valores de frecuencia} operaciones inicializar: tabla {Devuelve una tabla t vacía, es decir, que no contiene datos para ningún número entero} añadir: tabla t, entero e tabla {Dada una tabla t, si e no está en t, devuelve la tabla t resultante de añadir e a t con número de apariciones igual a 1; si e está en t, devuelve la tabla resultante de incrementar en 1 el número de apariciones de e (su frecuencia) en t} Lección 2: Especificación de TAD's 27

28 Tablas de frecuencia: Especificación no formal total: tabla t natural {Dada una tabla t, devuelve el número total de enteros para los que contiene información} parcial infoent: tabla t, natural n entero {Dada una tabla t y un número natural n, devuelve el entero que corresponde al n-ésimo entero en la tabla t según el orden en número de apariciones decreciente. Parcial: la operación no está definida si total(t)< n} parcial infofrec: tabla t, natural n natural {Dada una tabla t y un número natural n, devuelve el natural que corresponde al número de apariciones correspondientes al n-ésimo entero en la tabla t según el orden en número de apariciones decreciente. Parcial: la operación no está definida si si total(t)< n} fespec Lección 2: Especificación de TAD's 28

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos! Introducir el mecanismo de abstracción y justificar la necesidad de los TAD! Diferenciar adecuadamente los conceptos de especificación e implementación de TAD! Presentar la especificación algebraica

Más detalles

TEMA I. Programación con Tipos Abstractos de Datos

TEMA I. Programación con Tipos Abstractos de Datos TEMA I Programación con Tipos Abstractos de Datos 1 2 Lección 1 Tipos Abstractos de Datos (TAD) Indice 1. Concepto de abstracción 2. Deición de TAD 3. Programación con TAD 4. Ventajas de la programación

Más detalles

Tipos Abstractos de Datos (TAD) Lección 1

Tipos Abstractos de Datos (TAD) Lección 1 Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro

Más detalles

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04

Los Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04 Los Tipos Abstractos de Datos Estructuras de Datos y Algoritmos 03/04 Qué son los TAD s? Metodología de programación con TAD s Especificación Algebraica de TAD s Qué son los TAD s? Con los lenguajes de

Más detalles

Estructuras de Datos II (I.T. Informática de Gestión y Sistemas) Boletín nº 1 Tipos Abstractos de Datos: especificaciones algebraicas

Estructuras de Datos II (I.T. Informática de Gestión y Sistemas) Boletín nº 1 Tipos Abstractos de Datos: especificaciones algebraicas Estructuras de Datos II (I.T. Informática de Gestión y Sistemas) Boletín nº 1 Tipos Abstractos de Datos: especificaciones algebraicas Ejercicios resueltos ER1. TAD Figura de trazos Se desea representar

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Apuntes de Estructuras de Datos y Algoritmos

Apuntes de Estructuras de Datos y Algoritmos Apuntes de Estructuras de Datos y Algoritmos (Segunda edición, 2018) Javier Campos Departamento de Informática e Ingeniería de Sistemas Universidad de Zaragoza ii Tabla de contenidos Tabla de contenidos...

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

UNIDAD 6 Tipos Abstractos de Datos (TAD) Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para

UNIDAD 6 Tipos Abstractos de Datos (TAD) Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para Tipos Abstractos de Datos (TAD) Concepto. Abstracción, Ventajas. Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs. Abstracción: Concepto Simplificación

Más detalles

TAD genéricos. Lección 4

TAD genéricos. Lección 4 Lección 4 Esquema Concepto de genericidad TAD genéricos Implementación en C++ Lectura recomendada: sección 1.4 del libro de Z.J. Hernández et al. de la bibliografía. Lección 4: TADs genéricos 2 Concepto

Más detalles

2. Tipos abstractos de datos TEMA 3: SEMÁNTICA AXIOMÁTICA. 2. Tipos abstractos de datos. 2. Tipos abstractos de datos. 2. Tipos abstractos de datos

2. Tipos abstractos de datos TEMA 3: SEMÁNTICA AXIOMÁTICA. 2. Tipos abstractos de datos. 2. Tipos abstractos de datos. 2. Tipos abstractos de datos TEMA 3: SEMÁNTICA AXIOMÁTICA 1. Semántica axiomática de un lenguaje de programación Para poder utilizar tipos estructurados en los programas, será necesario tenerlos definidos como Tipos Abstractos de

Más detalles

Tema 3 Concepto y Especificación de Tipos Abstractos de Datos

Tema 3 Concepto y Especificación de Tipos Abstractos de Datos Tema 3 Concepto y Especificación de Tipos Abstractos de Datos Pablo Sánchez Dpto. Matemáticas, Estadística y Computación Universidad de Cantabria Santander (Cantabria, España) p.sanchez@unican.es Pablo

Más detalles

Tablas multidimensionales. Lección 20

Tablas multidimensionales. Lección 20 Tablas multidimensionales Lección 20 Tablas Multidimensionales Las tablas multidimensionales se definen como tipos funcionales que representan funciones cuyo dominio es el producto cartesiano de varios

Más detalles

AMBIENTES DE COMPILACION

AMBIENTES DE COMPILACION AMBIENTES DE COMPILACION Los compiladores a menudo producen como resultado del análisis semántico, una forma de representación intermedia del código fuente. Hoy en día, es cada vez más común que, en ambientes

Más detalles

Tipo Abstracto de Dato

Tipo Abstracto de Dato Tipo Abstracto de Dato Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Tipos de Datos Con la aparición de los lenguajes de programación en los años 60 se definieron

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Árboles Binarios de Búsqueda. Lección 13

Árboles Binarios de Búsqueda. Lección 13 Árboles Binarios de Búsqueda Lección 13 Árboles Binarios de Búsqueda Árboles binarios de búsqueda (abb s): El tipo de los elementos del árbol posee una relación de orden total ( ) Todo árbol vacío es un

Más detalles

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional CAPÍTULO IV: Programación Funcional 4.1 Introducción a la Programación Funcional 1 Programación Funcional Paradigma diferente a los imperativos, que se aleja de la máquina de von Neumann Basado en funciones

Más detalles

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS Para la corrección de la Práctica de Procesadores de Lenguajes, y como se indica en la especificación de la misma (http://dlsiisv.fi.upm.es/procesadores/practica.html),

Más detalles

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de un TAD Implementación

Más detalles

Concepto. Ventajas. Abstracción, Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs.

Concepto. Ventajas. Abstracción, Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs. Tipos Abstractos de Datos (TAD) Concepto. Ventajas. Abstracción, Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs. Abstracción: Concepto Simplificación

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

Apuntes de Programación y estructuras de datos. Abstracción y modularidad

Apuntes de Programación y estructuras de datos. Abstracción y modularidad Apuntes de Programación y estructuras de datos. Abstracción y modularidad Nikos Mylonakis nicos@lsi.upc.edu Dept. Llenguatges i Sistemes Informátics Universitat Politécnica de Catalunya Barcelona April

Más detalles

Conceptos. Generales ALGORITMOS

Conceptos. Generales ALGORITMOS Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2003/2004 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD)

Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD) Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof.

Más detalles

Bloque III: Estructuras de datos no lineales

Bloque III: Estructuras de datos no lineales Bloque III: Estructuras de datos no lineales ESTRUCTURAS DE DATOS 1 Tema 6: Conjuntos ESTRUCTURAS DE DATOS 2 Conjuntos: contenidos Introducción Especificación algebraica del TAD TipoConjunto Implementaciones

Más detalles

Tipos de datos algebraicos

Tipos de datos algebraicos Tipos de datos algebraicos Taller de Álgebra I Segundo cuatrimestre de 2013 Programación funcional Recordemos que un tipo de datos es un conjunto dotado con una serie de operaciones sobre los elementos

Más detalles

obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo.

obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo. (a) definición (b) elementos y notación (c) modelo de computación (d) ejecución de un sistema (e) exportación selectiva Clases Programación Orientada a Objetos DCIC UNS 2002 47 La POO es un nuevo paradigma

Más detalles

Programación TADs Colecciones Conjuntos, Diccionarios y Tablas

Programación TADs Colecciones Conjuntos, Diccionarios y Tablas Programación 2 8 - TADs Colecciones Conjuntos, Diccionarios y Tablas 1 El TAD SET (Conjunto) En el diseño de algoritmos, la noción de conjunto es usada como base para la formulación de tipos de datos abstractos

Más detalles

El TAD Árbol. El TAD Árbol

El TAD Árbol. El TAD Árbol Objetivos! Presentar el árbol como estructura de datos jerárquica! Estudiar diferentes variantes de árboles, tanto en su especificación como en su implementación Contenidos 3.1 Concepto, definiciones y

Más detalles

Prof. María Alejandra Quintero. Informática Año

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down). PLANTEMAIENTO DEL PROBLEMA Identificación de entradas y salidas Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la resolución de un problema dado y

Más detalles

Tema II: Introducción al Lenguaje Funcional

Tema II: Introducción al Lenguaje Funcional Tema II: Introducción al Lenguaje Funcional Características de Haskell Lenguaje funcional de o. superior fuertemente tipificado. Clasifica los entes de un programa en: objetos (constantes y funciones)

Más detalles

Tipos de Datos Abstractos TDA

Tipos de Datos Abstractos TDA 1 O Historia El origen del concepto de tipo de dato abstracto se remonta al tipo class en el lenguaje SIMULA 67 (Birtwistle et al. 1973). Desde entonces se han desarrollado varios lenguajes que manejan

Más detalles

Departamento de Informática Universidad de Valladolid Campus de Segovia. TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs)

Departamento de Informática Universidad de Valladolid Campus de Segovia. TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs) Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs) TIPOS ABSTRACTOS DE DATOS (TADs) Introducción Un contraejemplo completo Metodología de la

Más detalles

Ejemplos de aplicación del TAD pila

Ejemplos de aplicación del TAD pila Ejemplos de aplicación del TAD pila 1. Evaluación de expresiones postfijas Una expresión aritmética en notación postfija (o notación polaca inversa) es una secuencia formada por símbolos de dos tipos diferentes:

Más detalles

Tema 2. Concepto de Algoritmo

Tema 2. Concepto de Algoritmo Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos

Más detalles

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

Lógica de predicados

Lógica de predicados Lógica de predicados Cálculo de predicados Hay ciertos argumentos que parecen ser perfectamente lógicos y que no pueden ser especificados usando cálculo proposicional. Ejemplos: Todos los gatos tienen

Más detalles

Cálculo de predicados. Lógica de predicados. Cálculo de predicados. Cálculo de predicados 08/06/2011

Cálculo de predicados. Lógica de predicados. Cálculo de predicados. Cálculo de predicados 08/06/2011 Lógica de predicados Hay ciertos argumentos que parecen ser perfectamente lógicos y que no pueden ser especificados usando cálculo proposicional. Ejemplos: Todos los gatos tienen cola Tomás es un gato

Más detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas

Más detalles

Guía para la documentación de proyectos de software

Guía para la documentación de proyectos de software Estructura y contenido Guía para la documentación de proyectos de software Organización de Computadoras Universidad Nacional del Sur 2017 1. Definiciones y especificación de requerimientos Los requerimientos/requisitos

Más detalles

1. Corrección de un programa TEMA 2: ESPECIFICACIÓN Y CORRECCIÓN DE ALGORITMOS. 1. Corrección de un programa. 1. Corrección de un programa

1. Corrección de un programa TEMA 2: ESPECIFICACIÓN Y CORRECCIÓN DE ALGORITMOS. 1. Corrección de un programa. 1. Corrección de un programa Uno de los grandes problemas de la programación es la escritura de programas totalmente correctos. Al implementar un programa siempre se introducen errores. Técnicas de detección de errores: Mediante pruebas:

Más detalles

ESTRUCTURAS DE DATOS TEORÍA 2016/2017 PILAS

ESTRUCTURAS DE DATOS TEORÍA 2016/2017 PILAS ESTRUCTURAS DE DATOS TEORÍA 2016/2017 PILAS 1 PILAS Una pila P es una estructura lineal tal que las inserciones, las consultas y las eliminaciones solo se permiten en un único punto. La pila puede no tener

Más detalles

Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD)

Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD) Tema 01: Abstracción en los lenguajes de programación y tipo abstracto de dato (TAD) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras

Más detalles

Guía 2: Listas, recursión e inducción

Guía 2: Listas, recursión e inducción Introducción a los Algoritmos - 2do cuatrimestre 2014 Guía 2: Listas, recursión e inducción Docentes: Walter Alini, Luciana Benotti En esta guía comenzaremos a trabajar con listas Para familiarizarnos

Más detalles

Repaso de Lógica de Primer Orden

Repaso de Lógica de Primer Orden Repaso de Lógica de Primer Orden IIC3260 IIC3260 Repaso de Lógica de Primer Orden 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre algunas constantes

Más detalles

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido 3. METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS CON EL COMPUTADOR El desarrollo de un programa que resuelva un problema dado es una tarea compleja, ya que es necesario tener en cuenta de manera simultánea muchos

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

TEMA 1: Algoritmos y programas

TEMA 1: Algoritmos y programas TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información

Más detalles

3.6 Introducción a Maude

3.6 Introducción a Maude 3-64 CAPÍTULO 3. MÉTODO ALGEBRAICO DE ESPECIFICACIÓN. 3.6 Introducción a Maude Maude es un lenguaje que permite la ejecución simbólica de especificaciones algebraicas dadas mediante ecuaciones y pertenencias,

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Unidad 6 Tipos Abstractos de Datos Tipos Abstractos de Datos (1) Un Tipo Abstracto de Datos (TAD) es una colección de valores más un conjunto de operaciones que sobre esos valores pueden realizarse, definidas

Más detalles

Lógica de primer orden: Repaso y notación

Lógica de primer orden: Repaso y notación Lógica de primer orden: Repaso y notación IIC3263 IIC3263 Lógica de primer orden: Repaso y notación 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre

Más detalles

Árboles y esquemas algorítmicos. Tema III

Árboles y esquemas algorítmicos. Tema III Árboles y esquemas algorítmicos Tema III Bibliografía Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos

Más detalles

Tema 1: Sintaxis y Semántica de la Lógica Proposicional

Tema 1: Sintaxis y Semántica de la Lógica Proposicional Tema 1: Sintaxis y Semántica de la Lógica Proposicional Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Lógica Proposicional

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación Semántica Ma. Laura Cobo Departamento de Ciencias e Ingeniería de la Computación 2018 Prof. Ma. Laura Cobo Página 1 Semántica La clase pasada, vimos como definir la sintaxis y

Más detalles

Guía práctica de estudio 05: Pseudocódigo

Guía práctica de estudio 05: Pseudocódigo Guía práctica de estudio 05: Pseudocódigo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Autorizado por: M.C. Alejandro Velázquez Mena Guía

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Introducción a c++ Introducción a la programación EIS Informática III

Introducción a c++ Introducción a la programación EIS Informática III Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 7 de septiembre de 2017 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.] La resolución de un problema mediante una computadora consiste en el proceso que a partir de la descripción de un problema, expresado habitualmente en lenguaje natural y en términos propios del dominio

Más detalles

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro

Más detalles

Recursos compartidos y su especificación

Recursos compartidos y su especificación ecursos compartidos y su especificación Lecturas: apuntes de especificación de la asignatura Manuel Carro Universidad Politécnica de Madrid 22 de noviembre de 2007 Este texto se distribuye bajo los términos

Más detalles

MODELOS DE KRIPKE. Lógicas para la Informática y la Inteligencia Artificial

MODELOS DE KRIPKE. Lógicas para la Informática y la Inteligencia Artificial enero, 2007 MODELOS DE KRIPKE Lógicas para la Informática y la Inteligencia Artificial Ana de la Viuda López Departamento de Informática y Automática Universidad de Salamanca TABLA DE CONTENIDOS TABLA

Más detalles

Práctica 01 - Preprocesamiento básico para un código fuente en lenguaje C Compiladores - Profr. Edgardo Adrián Franco Martínez

Práctica 01 - Preprocesamiento básico para un código fuente en lenguaje C Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Introducción Análisis léxico Funciones del analizador léxico Preprocesamiento básico de un código fuente de C Manejo de búferes 3 Introducción Para la construcción de todo traductor, compilador

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol.

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol. 1. Escribe una especificación informal para los distintos métodos de ordenación que conozcas. La especificación debe ser genérica, es decir trabajar con elementos de cualquier tipo. En qué se diferencia

Más detalles

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

Más detalles

Abstracciones de diseño

Abstracciones de diseño Abstracciones de diseño Abstracciones de diseño Abstracción por parametrización Abstracción por especificación Especificación e implementación de TADs Abstracciones genéricos Abstracciones de control Abstracción

Más detalles

PRACTICA 5: Autómatas Finitos Deterministas

PRACTICA 5: Autómatas Finitos Deterministas E. T. S. DE INGENIERÍA INFORMÁTICA Departamento de Estadística, I.O. y Computación Teoría de Autómatas y Lenguajes Formales PRACTICA 5: Autómatas Finitos Deterministas 5.1. Requisito de codificación Cada

Más detalles

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6] ALGEBRA DE BOOLE El álgebra booleana, como cualquier otro sistema matemático deductivo, puede definirse con un conjunto de elementos, un conjunto de operadores y un número de axiomas no probados o postulados.

Más detalles

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Informática (2016 17) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Informática (2017 18) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases

Más detalles

Programación 1. Tema III. Diseño de programas que trabajan con estructuras de datos. Lección 11. Estructuración agregada de datos

Programación 1. Tema III. Diseño de programas que trabajan con estructuras de datos. Lección 11. Estructuración agregada de datos Programación 1 Tema III. Diseño de programas que trabajan con estructuras de datos Lección 11. Estructuración agregada de datos 1 Objetivos de la lección : Conocer las características de las estructuras

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática

Algoritmos y Estructuras de Datos Ingeniería en Informática 2.1.Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes

Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes Introducción El ejercicio consiste en la implementación de una aplicación para la creación, edición, resolución y corrección de exámenes.

Más detalles

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016-2017

Más detalles

Lenguajes de Programación Programación funcional

Lenguajes de Programación Programación funcional Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una

Más detalles

Diagramas de interacción

Diagramas de interacción Tema 6: Diagramas de Interacción Diagramas de interacción Los diagramas de interacción son diagramas que describen cómo grupos de objetos colaboran para conseguir algún fin. Estos diagramas muestran objetos,

Más detalles

Funciones Segunda parte

Funciones Segunda parte Expresiones condicionales Matemática Discreta usando el computador 2011 Funciones Segunda parte Una expresión condicional utiliza una expresión de tipo Bool para decidir entre dos opciones Estructura if...then...

Más detalles

MODELO DE REQUISITOS

MODELO DE REQUISITOS Capítulo 2 MODELO DE REQUISITOS 2.1 Introducción Un modelo, en el desarrollo de software, define cómo solucionar los problemas que aparecen en el desarrollo de una aplicación. Para desarrollar el software,

Más detalles

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa.

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa. SUBPROGRAMAS Los subprogramas son un conjunto de instrucciones que realizan una labor específica y se comportan de manera independiente en un programa. Los subprogramas facilitan: Descomponer la complejidad

Más detalles

Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs)

Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs) Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs) Prof. Montserrat Serrano Montero ÍNDICE Tipos de datos El tipo abstracto

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

Tema 3: Tipos y clases

Tema 3: Tipos y clases Tema 3: Tipos y clases Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases

Más detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles