Tipos Abstractos de Datos

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

Download "Tipos Abstractos de Datos"

Transcripción

1 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 de definición de TAD Conocer la relación entre TAD y clase en el paradigma de la POO Conocer la relación entre especificación algebraica e implementación Contenidos 1.1 Abstracción de datos y (TAD) 1.2 Especificación algebraica de un TAD Introducción Signatura de una especificación algebraica Ecuaciones de una especificación algebraica Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 1

2 Contenidos 1.3 Construcción de especificaciones Operaciones: clasificación Escritura de ecuaciones Operaciones parciales Especificaciones genéricas 1.4 Paso de la especificación a la implementación de TAD 1.5 Implementación de TAD: La librería estándar de plantillas (STL) Duración 4 clases (6 h) Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 2

3 Bibliografía Estructuras de datos. Especificación, diseño e implementación Autor: Xavier Franch Gutiérrez Editorial: Ediciones UPC, 1999 Págs Diseño de programas. Formalismo y abstracción Autor: Ricardo Peña Marí Editorial : Prentice-Hall, 1999 Págs Estructuras de Datos y Métodos Algorítmicos Autor: Narciso Martí Oliet y otros Editorial : Prentice-Hall, 2004 Págs Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 3

4 1.1 Abstracción de Datos y Abstracción de Datos: manipulación de los datos a nivel lógico y abstracción de su implementación física en una determinada máquina o en un determinado lenguaje de programación Tipos básicos o estándar: entero, carácter, booleano, etc. Tipos simples definidos por el programador: enumerado, subrango Tipos estructurados: array, registro constructores genéricos (genericidad) (TAD) Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 4

5 Tipo Abstracto de Datos Colección de valores y de operaciones definidas sobre ellos mediante una especificación independiente de cualquier implementación Un TAD está formado por: Una definición o especificación Visible al usuario Precisa, legible y no ambigua Nombre del tipo + sintaxis y semántica de las operaciones Una implementación Oculta al usuario Estructurada, eficiente y legible Elección de la representación más adecuada + algoritmos de las operaciones Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 5

6 Objetivo: separar el uso del tipo de dato de su implementación TAD Especificación Implementación Sintaxis Semántica Representación Algoritmos Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 6

7 Métodos para especificar un tipo abstracto de datos Especificación formal (especificación algebraica) Especificación informal (lenguaje natural) Especificación semi-formal (la estudiada en Estructuras de Datos I) Especificación semi-formal Para el tipo Nombre Descripción Características Valores no admitidos Para las operaciones Parámetros Valor de retorno Precondiciones Efecto Excepciones Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 7

8 Precondiciones vs. Excepciones Precondiciones: Contexto muy limitado (fácil verificar que se satisfacen las restricciones), implementación más eficiente o más simple Excepciones: Siempre que sea posible, la implementación debería comprobar las restricciones y lanzar una excepción en caso de que no se satisfagan. Puede no tener sentido, como en una búsqueda binaria en un vector ordenado Si una excepción se produce para un cierto subconjunto de valores de los argumentos, este subconjunto no debería aparecer en la cláusula precondiciones Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 8

9 Un lenguaje soporta la implementación de tipos abstractos de datos si incluye mecanismos que permitan separar la especificación de la implementación, es decir, permita la encapsulación u ocultación de la información, que consiste en: Privacidad de la representación interna. El usuario no conoce los detalles de cómo se implementan las estructuras de datos y las operaciones Protección del tipo. El usuario sólo puede usar las operaciones definidas en la especificación La clase en los lenguajes OO es el mecanismo apropiado para implementar un TAD algoritmos de datos algoritmos de control algoritmos + estructuras de datos = programas algoritmos de control + TAD = programas Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 9

10 1.2 Especificación algebraica de un TAD Introducción Especificación algebraica. Técnica formal para especificar tipos abstractos de datos OBJETIVO Definir sin ambigüedades un tipo de datos conjunto de valores sintaxis y significado de cada operación permitida VENTAJAS Define tipos independientemente de cualquier representación e implementación Consigue unanimidad en la interpretación del tipo Posibilita la obtención de código automáticamente a partir de la especificación algebraica (aún no muy desarrollado) Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 10

11 1.2.2 Signatura de una especificación algebraica Signatura. Define los géneros y los nombres de las operaciones con sus perfiles nombres de los nuevos tipos a especificar número y tipo de los parámetros, y tipo del resultado CARACTERISTICAS Notación funcional dominio rango Cada operación es una función con 0 o más parámetros Todas las operaciones devuelven un único valor de un tipo determinado Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 11

12 Ejemplo: Signatura del TAD booleano palabras reservadas para indicar el comienzo y el final de una especificación nombre de los tipos que se van a especificar espec tadbool género booleano operaciones verdad, falso : booleano _ : booleano booleano constantes _ _, _ _ : booleano booleano booleano fespec nombre de operación perfil de operación Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 12

13 Ejemplo. Posible signatura de los naturales con el 0 importación de TAD definidos en otras especificaciones Notación prefija. El nombre de la operación y los parámetros entre paréntesis, separados por comas. suc(x) = y espec naturales usa booleanos géneros natural operaciones 0 : natural suc : natural natural _ + _, _ * _ : natural natural natural _ _, _ > _ : natural natural booleano fespec Notación infija. El símbolo _ indica la posición de los argumentos o parámetros. x y = verdad Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 13

14 Para cada género o tipo existe un conjunto de términos bien formados sintácticamente correctos Cada constante es un término y mediante la aplicación sucesiva y correcta de símbolos de operaciones de una signatura se pueden construir términos Ejemplos de términos bien formados : 0 (suc (suc (0)) * suc(0)) suc(0) ((verdad falso) ( falso)) (0 > (suc (0))) En determinadas especificaciones, un valor del tipo puede venir expresado por más de un término. Se denomina término canónico al elegido como representante de cada valor Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 14

15 1.2.3 Ecuaciones de una especificación algebraica También se conocen con el nombre de axiomas Determinan las propiedades y el comportamiento de las operaciones Toda especificación debe cumplir estas dos propiedades: sólo pertenecen al tipo los valores que puedan ser creados mediante términos sintácticamente correctos cada término bien formado denota un único valor del tipo especificado Mediante las ecuaciones ha de ser posible deducir todas las equivalencias que son válidas entre los términos, es decir, identificar las secuencias de operaciones (términos) que producen el mismo resultado en general, para las operaciones binarias conmutativas no se añadirán en la especificación las ecuaciones de conmutatividad de la forma: x 1 OP x 2 = x 2 OP x 1, salvo en el caso que sirvan para definir el comportamiento de dicha operación. Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 15

16 Ejemplo. Queremos especificar el tipo naturales con el 0 espec naturales_1 género natural operaciones 0 : natural suc : natural natural fespec únicos valores que pueden construirse: 0, suc (0), suc (suc (0)), suc (suc (suc (0))), etc. cada término denota un valor diferente Añadimos a la especificación la operación suma espec naturales_2 género natural operaciones 0 : natural suc : natural natural _ + _ : natural natural natural fespec incumple la segunda propiedad "suc (0)" y "0 + suc (0) generan el natural 1 Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 16

17 Existen 2 puntos de vista respecto al papel de las ecuaciones en las especificaciones algebraicas: igualar términos que generan el mismo valor (punto de vista algebraico) definir el comportamiento de las operaciones con todas las posibles combinaciones de valores (patrones) que pueden tomar sus parámetros (punto de vista semántico) Formato de una ecuación: término_1 = término_2 donde término_1 y término_2 son términos bien formados de un mismo género Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 17

18 espec naturales_3 género natural operaciones 0 : natural Punto de vista algebraico igualar términos que generan el mismo valor suc : natural natural _ + _ : natural natural natural ecuaciones x, y: natural x + 0 = x Punto de vista semántico definir el comportamiento de las operaciones con todos los patrones o representantes del tipo fespec x + suc (y) = suc (x+y) Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 18

19 Ejemplo. Completar la especificación algebraica de los booleanos espec bool género booleano operaciones verdad, falso: booleano _: booleano _ _, _ _ : booleano booleano booleano ecuaciones b: booleano verdad = falso falso = verdad b verdad = verdad b falso = b verdad b = verdad falso b = b fespec b verdad = b b falso = falso verdad b = b falso b = falso Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 19

20 1.3 Construcción de especificaciones Operaciones: clasificación g: símbolo o identificador del género correspondiente al tipo que se desea especificar OP(g): conjunto de operaciones relacionadas con g Clasificación: Constructoras. Cons(g). Conjunto de operaciones que devuelven un valor de género g Generadoras. Gen(g). Subconjunto mínimo de operaciones constructoras que permite generar todos los valores del TAD que queremos especificar Modificadoras. Mod(g). Las constructoras que no forman parte del conjunto de generadoras Observadoras. Obs(g). Conjunto de operaciones que devuelven un valor de género diferente de g Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 20

21 Natural espec naturales usa booleanos género natural operaciones 0 : natural suc: natural natural _ + _ : natural natural natural _ _ : natural natural booleano fespec Clasificación de las operaciones? Secuencia espec secuenciadenaturales usa naturales_3 género secn operaciones [ ] : secn {secuencia vacía} [ _ ] : natural secn {secuencia unitaria} _ ++ _ : secn secn secn {concatenar secuencias} _ _ : natural secn secn {añadir un natural a una secuencia} ecuaciones x: natural; s, s1, s2, s3: secn s ++ [ ] = s [ ] ++ s = s (s1 ++ s2) ++ s3 = s1 ++ (s2 ++ s3) x s = [x] ++ s fespec Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 21

22 El conjunto Gen(g) puede ser: Conjunto libre de generadoras: todo término formado sólo por constructoras generadoras denota un valor diferente en el tipo de datos correspondiente a g Conjunto no libre de generadoras: dos o más términos distintos formados sólo por constructoras generadoras denotan un mismo valor del tipo Son libres o no libres los siguientes conjuntos de generadoras? Gen (natural) = {0, suc} Gen (secn) = { [ ], _ _ } Gen (secn) = { [ ], [ _ ], _ ++ _ } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 22

23 1.3.2 Escritura de ecuaciones Paso 1. Elegir conjunto de operaciones generadoras Paso 2. Si Gen(g) es un conjunto no libre, escribir ecuaciones entre generadoras. Si es libre, no hacer nada Paso 3. Escribir todas las ecuaciones necesarias para definir el comportamiento de cada operación modificadora (especificación naturales_3) Paso 4. Escribir todas las ecuaciones necesarias para definir el comportamiento de cada operación observadora Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 23

24 1.3.3 Operaciones parciales Ejemplo. Queremos añadir la operación predecesor a los naturales espec naturales_4 género natural operaciones 0 : natural suc : natural natural parcial pred: natural natural dominios de definición x: natural pred (suc (x)) ecuaciones x: natural la operación predecesor no está definida para el natural 0 (situación de error) es una operación parcial no puede aplicarse a todos los valores del dominio en la sección "dominios de definición" se especifican los dominios donde están definidas las operaciones parciales de la especificación pred (suc (x)) = x fespec Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 24

25 1.3.4 Especificaciones genéricas Generalmente, los TAD que representan colecciones de elementos suelen realizarse de forma genérica, dejando como parámetro el elemento almacenado en la colección Las operaciones de estos TAD se comportan de la misma forma, independientemente del tipo de los elementos que almacena espec secuenciagenérica parámetro formal género elemento fpf género sec operaciones [ ] : sec {secuencia vacía} [ _ ] : elemento sec {secuencia unitaria} _ ++ _ : sec sec sec _ _ : elemento sec sec ecuaciones fespec {concatenar secuencias} {añadir un elemento a una secuencia} Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 25

26 Ejemplos de especificaciones Ejemplo 1. Completar la especificación algebraica del TAD Conjuntos espec conjuntos usa booleanos, naturales parámetro formal género elemento fpf genero conjunto operaciones : conjunto poner, quitar: elemento conjunto conjunto _ _, _ _ : conjunto conjunto conjunto _ _ : elemento conjunto booleano esvacío: conjunto booleano cardinal: conjunto natural Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 26

27 Ejemplos de especificaciones Ejemplo 2. Completar la especificación algebraica del TAD string_reducido espec string_reducido usa carácter, natural género string operaciones stringvacío: string { crea un string vacío } añade: string carácter string { añade un elemento al final del string } longitud: string natural { devuelve el número de caracteres que forman el string } parcial carac: natural string carácter { devuelve el carácter que se encuentra en la posición indicada por el parámetro. El carácter situado a la izquierda se encuentra en la posición 1 } concatena: string string string { devuelve el resultado de poner el segundo string al final del primero } inversa: string string { devuelve el string formado por los mismos caracteres pero en orden inverso } Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 27

28 1.4 Paso de la especificación a la implementación de TAD Dada la especificación de un TAD, su implementación consiste en: Elegir un dominio concreto para cada género incluido en el TAD Los dominios concretos se implementan mediante declaraciones de tipos, usando otros tipos ya implementados (por nosotros o incluidos en el propio lenguaje o en alguna librería) Definir un método concreto para cada operación de la especificación Los métodos concretos pueden implementarse como procedimientos o funciones aunque en la especificación algebraica sólo se admitan funciones La implementación debe cumplir 2 condiciones: Corrección satisfacer las ecuaciones de la especificación No vamos a considerar la verificación de las implementaciones con respecto a la especificación algebraica. Requiere un desarrollo formal muy amplio. A pesar de ello, pueden establecerse relaciones intuitivas entre especificación e implementación Privacidad y protección La estructura interna del tipo y la implementación de sus operaciones deben permanecer ocultas El único acceso posible al tipo debe ser a través de las operaciones públicas de éste Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 28

29 1.5 Implementación de TAD: La librería estándar de plantillas (STL) La librería estándar de plantillas o STL (Standard Template Library) es un conjunto de TAD y algoritmos que conforman una parte sustancial de la Librería Estándar de C++ Sus componentes principales son: Contenedores Estructuras de datos cuyo propósito es contener otros objetos Iteradores Abstracción que permite el acceso secuencial a los elementos de un contenedor STL proporciona iteradores para todos sus contenedores Algoritmos Funciones genéricas que permiten realizar operaciones habituales (buscar, ordenar, mínimo, máximo, iguales, ) sobre la mayoría de contenedores Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 29

30 Contenedores Secuencias: dispone los elementos en orden lineal Vector Pila Cola Doble cola Cola de prioridad Lista Asociativos: permite el almacenamiento de elementos en función de una clave (no de una posición) Conjunto Multiconjunto: conjunto que admite valores repetidos Diccionario: asocia un valor a una clave Multidiccionario: diccionario en el que una clave puede tener asociada diferentes valores Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 30

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

TAD Lineales: Pila, Cola y Lista

TAD Lineales: Pila, Cola y Lista TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno de

Más detalles

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

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 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

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Tipos Abstractos de Datos y Diseño por Contrato

Tipos Abstractos de Datos y Diseño por Contrato Tipos Abstractos de Datos y Diseño por Contrato 1.- Motivación de los tipos abstractos de datos Nuestro objetivo es obtener descripciones apropiadas de los objetos, para lo cual se necesita un método que

Más detalles

Tema 1. Introducción a las estructuras y tipos de datos

Tema 1. Introducción a las estructuras y tipos de datos Tema 1. Introducción a las estructuras y tipos de datos http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia,bmartine,morales,sanchiz}@icc.uji.es Estructuras

Más detalles

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas INDICE Prologo XVII Prólogo a la edición en español XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas 1 1.1.1. Introducción 1.1.2. Algunos argumentos lógicos importantes 2 1.1.3. Proposiciones

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

Fundamentos de Ingeniería de Software

Fundamentos de Ingeniería de Software Fundamentos de Ingeniería de Software Marcello Visconti y Hernán Astudillo Departamento de Informática Universidad Técnica Federico Santa María {visconti,hernan} at inf.utfsm.cl Fundamentos de Ingeniería

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse

Más detalles

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12 Teoría de conjuntos. Teoría de Conjuntos. personal.us.es/elisacamol Curso 2011/12 Teoría de Conjuntos. Teoría de conjuntos. Noción intuitiva de conjunto. Propiedades. Un conjunto es la reunión en un todo

Más detalles

Algoritmos y Estructuras de Datos II

Algoritmos y Estructuras de Datos II 8 de abril de 2015 Clase de hoy 1 Repaso Tipos concretos versus abstractos Tipos abstractos de datos 2 3 4 TAD Pila Especificación del TAD Pila Repaso Tipos concretos versus abstractos Tipos abstractos

Más detalles

ISO 19103. Lenguaje de Esquema Conceptual

ISO 19103. Lenguaje de Esquema Conceptual ISO 19103 Lenguaje de Esquema Conceptual La ISO 19103 establece normas y guías para la adopción y uso de un Lenguaje de Esquema Conceptual (CSL) para desarrollar modelos o esquemas de información geográfica,

Más detalles

Tipos de datos. Lección 1. Programación. Curso 2006-2007. J. A. Bañares, Pedro J. Álvarez, S. Velilla

Tipos de datos. Lección 1. Programación. Curso 2006-2007. J. A. Bañares, Pedro J. Álvarez, S. Velilla Lección 1. Programación. Curso 2006-2007 Tipos de datos J. A. Bañares, Pedro J. Álvarez, S. Velilla http://diis.unizar.es/ Departamento de Informática e Ingeniería de Sistemas 2 Tipos de datos, constantes

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

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios } La Teoría de Conjuntos es una teoría matemática, que estudia básicamente a un cierto tipo de objetos llamados conjuntos y algunas veces, a otros objetos denominados no conjuntos, así como a los problemas

Más detalles

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad:

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad: El TAD Diccionario Cuando se usa un conjunto en el diseño de un algoritmo podría no ser necesario contar con operaciones de unión o intersección. A menudo lo que se necesita es simplemente manipular un

Más detalles

Proyecto Unico Interpretador de SetCalc

Proyecto Unico Interpretador de SetCalc Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Proyecto Unico Interpretador de SetCalc A continuación se describe

Más detalles

EJERCICIOS DEL CAPÍTULO I

EJERCICIOS DEL CAPÍTULO I EJERCICIOS DEL CAPÍTULO I 1. Un grupo es una tipo particular de Ω estructura cuando Ω es el tipo Ω = { } siendo una operación de aridad dos. Pero un grupo también es una Ω -estructura siendo Ω = {e, i,

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

FORMACIÓN Principios de la programación orientada a objetos

FORMACIÓN Principios de la programación orientada a objetos FORMACIÓN Principios de la programación orientada a objetos En un mercado laboral en constante evolución, la formación continua de los profesionales debe ser una de sus prioridades. En Galejobs somos conscientes

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

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

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

Unidad I: Tipo de Dato Abstracto (TDA)

Unidad I: Tipo de Dato Abstracto (TDA) Asignatura: Programación 2 Unidad 1: Tipo de Dato Abstracto (TDA) Tema 2: Tipo de Dato Abstracto (TDA) Autor: Prof. Hilda Contreras Unidad I: Tipo de Dato Abstracto (TDA) Introducción Suponga que debe

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Departamento de Matemáticas, CCIR/ITESM 4 de enero de 2 Índice 3.. Objetivos................................................ 3.2. Motivación...............................................

Más detalles

1 Agencia de viajes: enunciado

1 Agencia de viajes: enunciado 1 AGENCIA DE VIAJES: ENUNCIADO 1 1 Agencia de viajes: enunciado Una agencia de viajes mantiene una base de datos con exactamente N clientes y M destinos turísticos. En una situación real, estos valores

Más detalles

Tema 1. Abstracciones y Especificaciones.

Tema 1. Abstracciones y Especificaciones. Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1.

Más detalles

Notación algorítmica (seudocódigo en castellano) (fecha: 2013-10-30)

Notación algorítmica (seudocódigo en castellano) (fecha: 2013-10-30) Notación algorítmica (seudocódigo en castellano) (fecha: 2013-10-30) 1. Tipos de datos predeidos booleano carácter natural {incluímos el 0 en los naturales, comentarios entre llaves} entero real cadena

Más detalles

2.4 Modelado conceptual

2.4 Modelado conceptual 2.4 Modelado conceptual 2.4. Búsqueda de conceptos Un modelo conceptual muestra clases conceptuales significativas en un dominio del problema; es el artefacto más importante que se crea durante el análisis

Más detalles

Estructuras algebraicas

Estructuras algebraicas Tema 2 Estructuras algebraicas básicas 2.1. Operación interna Definición 29. Dados tres conjuntos A, B y C, se llama ley de composición en los conjuntos A y B y resultado en el conjunto C, y se denota

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

COMPILADORES Teoría e implementación. Jacinto Ruiz Catalán

COMPILADORES Teoría e implementación. Jacinto Ruiz Catalán COMPILADORES Teoría e implementación Jacinto Ruiz Catalán COMPILADORES. Teoría e implementación Jacinto Ruiz Catalán ISBN: 978-84-937008-9-8 EAN: 9788493700898 Copyright 2010 RC Libros RC Libros es un

Más detalles

TEMA II: ÁLGEBRA DE CONMUTACIÓN

TEMA II: ÁLGEBRA DE CONMUTACIÓN TEMA II: ÁLGEBRA DE CONMUTACIÓN En este capítulo veremos los métodos matemáticos que se disponen para las operaciones relacionadas con los circuitos digitales, así como las funciones más básicas de la

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Introducción a la Programación en MATLAB

Introducción a la Programación en MATLAB Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos

Más detalles

CARRERA: LICENCIATURA EN INFORMATICA

CARRERA: LICENCIATURA EN INFORMATICA CARRERA: LICENCIATURA EN INFORMATICA AREA CURRICULAR ASIGNATURA CLAVE DE APOYO PROGRAMACION I IGEPR108210 SEMESTRE HORAS A LA SEMANA No. DE CREDITOS II TEORIA PRACTICA TOTAL 3 2 5 8 INTRODUCCIÓN Una vez

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria.

Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria. Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria. Operación Binaria Se conoce una operación binaria

Más detalles

LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS

LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS 6. bibliografía CONTENIDO Definición de [G8.1]. Estructuras algebraicas: monoides, semigrupos, grupos, [G8.1], anillos, cuerpos [H10.1]. Subgrupos, isomorfismo entre grupos [G8.1]. Álgebras concretas y

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

Operaciones Morfológicas en Imágenes Binarias

Operaciones Morfológicas en Imágenes Binarias Operaciones Morfológicas en Imágenes Binarias Introducción La morfología matemática es una herramienta muy utilizada en el procesamiento de i- mágenes. Las operaciones morfológicas pueden simplificar los

Más detalles

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL María Alpuente y María José Ramírez 1 LENGUAJES Y PARADIGMAS: INTRODUCCIÓN 1. Indica cuál de las siguientes

Más detalles

Nociones Básicas de Sémantica: Semántica Denotacional

Nociones Básicas de Sémantica: Semántica Denotacional Nociones Básicas de Sémantica: Semántica Denotacional Análisis de Lenguajes de Programación Mauro Jaskelioff 21/08/2015 Acerca de la Semántica Operacional En la semántica operacional el significado de

Más detalles

3. COLA DE PRIORIDAD DEFINICION (I)

3. COLA DE PRIORIDAD DEFINICION (I) 3. COLA DE PRIORIDAD DEFINICION (I) Conjunto de elementos ordenados con las operaciones: Crear ( ) > ColaPrioridad EsVacio () > Boolean Insertar (ColaPrioridad, Item) > ColaPrioridad BorrarMínimo (ColaPrioridad)

Más detalles

((X A Y ) = A ) si y solo si X = Y, A = B, A X = X, (X A Y ) = X Y, (X A Y ) = X Y

((X A Y ) = A ) si y solo si X = Y, A = B, A X = X, (X A Y ) = X Y, (X A Y ) = X Y El examen de Lógica y fundamentos del 11-02-2005 resuelto por cortesía de Alberto Castellón 1) Sea A = P(B) el conjunto de los subconjuntos de un conjunto B. a) Pruébese que A es un modelo de la teoría

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

Más detalles

M III ABSTRACCIÓN Y CLASIFICACIÓN

M III ABSTRACCIÓN Y CLASIFICACIÓN M III ABSTRACCIÓN Y CLASIFICACIÓN COMPLEJIDAD Y ABSTRACCIÓN La abstracción en el desarrollo del programario En todo el proceso de abstracción siempre hay una parte de la situación o del problema que se

Más detalles

Semántica Denotacional

Semántica Denotacional Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14)

Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14) Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14) Programación 3 Curso 2011-2012 Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante 1. Introducción En esta segunda práctica

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Ejemplos de TAD (tipos simples)

Ejemplos de TAD (tipos simples) ESPECIFICACIÓN BOOLEANOS TAD booleano Ejemplos de TAD (tipos simples) T : booleano { valor cierto } F : booleano { valor falso } : booleano booleano : booleano, booleano booleano : booleano, booleano booleano

Más detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos Introducción César Ignacio García Osorio Lógica y sistemas axiomáticos 1 La lógica ha sido históricamente uno de los primeros lenguajes utilizados para representar el conocimiento. Además es frecuente

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

Operaciones Booleanas y Compuertas Básicas

Operaciones Booleanas y Compuertas Básicas Álgebra de Boole El álgebra booleana es la teoría matemática que se aplica en la lógica combinatoria. Las variables booleanas son símbolos utilizados para representar magnitudes lógicas y pueden tener

Más detalles

Anexo I. Profesorado en Matemática/Profesorado en Computación (Plan 1998) Prácticos: 4 horas semanales Teórico-prácticos:

Anexo I. Profesorado en Matemática/Profesorado en Computación (Plan 1998) Prácticos: 4 horas semanales Teórico-prácticos: 1 Corresponde al Anexo I de la Resolución N 182/05 Anexo I DEPARTAMENTO: Matemática CARRERA/S - PLAN/ES: Profesorado en Matemática/Profesorado en Computación (Plan 1998) CURSO: Primero REGIMEN: Cuatrimestral

Más detalles

PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE

PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE L11 CONSTRUCTORES DEL LENGUAJE CLASES class { } PLANTILLAS template { } ESPACIOS DE NOMBRES namespace { } EXCEPCIONES try catch.. SOBRECARGA DE OPERADORES operator (parametros) BIBLIOTECA

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar

Más detalles

Especificación de TAD. Lección 2

Especificación de TAD. Lección 2 Especificación de TAD Lección 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

Más detalles

Apuntes de Matemática Discreta 6. Relaciones

Apuntes de Matemática Discreta 6. Relaciones Apuntes de Matemática Discreta 6. Relaciones Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 6 Relaciones Contenido 6.1 Generalidades.....................................

Más detalles

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8 Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN

Más detalles

Sistemas de Recuperación de Información

Sistemas de Recuperación de Información Sistemas de Recuperación de Información Los SRI permiten el almacenamiento óptimo de grandes volúmenes de información y la recuperación eficiente de la información ante las consultas de los usuarios. La

Más detalles

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24 Contenido Prólogo... vii Capítulo 1. Algoritmos y estructuras de datos... 1 Introducción... 2 1.1. Tipos de datos... 2 1.1.1. Tipos primitivos de datos... 3 1.1.2. Tipos de datos compuestos y agregados...

Más detalles

Diagramas de Clase en UML 1.1

Diagramas de Clase en UML 1.1 Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar

Más detalles

Carrera: Licenciatura en Sistemas. Materia: Programación de computadoras. Profesor Asociado: Cdor. Héctor A. Carballo

Carrera: Licenciatura en Sistemas. Materia: Programación de computadoras. Profesor Asociado: Cdor. Héctor A. Carballo Carrera: Licenciatura en Sistemas Materia: Programación de computadoras Profesor Asociado: Cdor. Héctor A. Carballo Profesor Adjunto: Ing. Obadiah O. Alegbe Año: 2011 Cuatrimestre: Anual 1- Fundamentación

Más detalles

Ampliación de Estructuras de Datos

Ampliación de Estructuras de Datos Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

GUÍA DE TRABAJO Tecnología en Sistemas de Información

GUÍA DE TRABAJO Tecnología en Sistemas de Información 1. IDENTIFICACIÓN Asignatura Laboratorio Lógica y Programación Guía No. 1 Área Básica de la Ingeniería Nivel II Código LLI22 Pensum 10 Correquisito(s) LPI24 Prerrequisito(s) Créditos 2 TPS 2 TIS 4 TPT

Más detalles

Scripting en el cliente: Javascript. Tecnologías Web

Scripting en el cliente: Javascript. Tecnologías Web Scripting en el cliente: Javascript Tecnologías Web Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Complemento Microsoft Mathematics

Complemento Microsoft Mathematics Complemento Microsoft Mathematics El complemento Microsoft Mathematics es un conjunto de herramientas que se pueden usar para realizar operaciones matemáticas y trazado de gráficas con expresiones o ecuaciones

Más detalles

Tema IV Programación lógica con estructuras

Tema IV Programación lógica con estructuras Tema IV Programación lógica con estructuras Programación Lógica - E.T.S.I. Informática - Málaga 1 Términos La estructura de datos básica en PROLOG es el término. Los términos se clasifican en : variables

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Lenguajes y Compiladores

Lenguajes y Compiladores Información: http://www.cs.famaf.unc.edu.ar/wiki/ Profesores: Héctor Gramaglia, Miguel Pagano, Demetrio Vilela Régimen de regularidad y Promoción Se tomarán 2 parciales Promoción: obteniendo al menos 7

Más detalles

Temario Iniciación a Java J2SE para web

Temario Iniciación a Java J2SE para web Temario Iniciación a Java J2SE para web 1 Introducción al entorno de Java 1 Qué es un programa? T 2 Los lenguajes de programación T 3 Qué es Java? T 4 Origen de Java T 5 Verdadero o falso vf 6 Características

Más detalles

U i n d id d a 3. El Element os á bá i s cos de un programa

U i n d id d a 3. El Element os á bá i s cos de un programa Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución

Más detalles

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Semánticas del cálculo de predicados proporcionan las bases formales para determinar el valor

Más detalles

[CASI v.0111] Pág. 1

[CASI v.0111] Pág. 1 I. DATOS INFORMATIVOS II. SUMILLA Carrera Especialidad Curso Código Ciclo : Primero Requisitos : Ninguno Duración Horas Semana : 06 horas Versión : v.0111 : COMPUTACIÓN E INFORMATICA : Ingeniería de Software

Más detalles

14. ÁRBOLES. 14.1 Fundamentos y terminología básica

14. ÁRBOLES. 14.1 Fundamentos y terminología básica Ricardo Ferrís / Jesús Albert Algoritmos y estructuras de datos I 14. ÁRBOLES 14.1 FUNDAMENTOS Y TERMINOLOGÍA BÁSICA... 79 14.2. ÁRBOLES BINARIOS... 81 14.3. FUNDAMENTOS... 82 14.3. OPERACIONES CON ÁRBOLES

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

Compilador del lenguaje MOOL que genera código Objective Caml

Compilador del lenguaje MOOL que genera código Objective Caml Compilador del lenguaje MOOL que genera código Objective Caml Ruben Gonzalez Castro 1 1 Instituto Tecnológico de Culiacán, Av. Juan de Dios Batíz s/n Col. Guadalupe, Culiacán, Sin. 80220 México Tel. 667-713

Más detalles

UNIDAD I: LÓGICA PROPOSICIONAL

UNIDAD I: LÓGICA PROPOSICIONAL UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA

Más detalles

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por. 2. Nociones sobre Teoría de Conjuntos y Lógica Para llevar a cabo nuestro propósito de especificar formalmente los problemas y demostrar rigurosamente la correctitud de nuestro programas, introduciremos

Más detalles

Álgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003

Álgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003 Álgebras de Boole Juan Medina Molina 25 de noviembre de 2003 Introducción Abordamos en este tema el estudio de las álgebras de Boole. Este tema tiene una aplicación directa a la electrónica digital ya

Más detalles