Tipos de Datos Abstractos TDA
|
|
|
- Bernardo Aguilera Molina
- hace 7 años
- Vistas:
Transcripción
1 1
2 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 tipos de datos abstractos: O En 1977 Liskov lo introduce para el Lenguaje CLU.llina O En 1982 Stroustrup lo incorpora para el lenguaje C (C con clases) 2
3 O Definición y Conceptos Básicos 1. Liskop establece que Un define una clase de objetos abstractos la cual está completamente caracterizada por las operaciones definidas para estos objetos. 2. Guttag expresa que un es Una clase de objetos definida por una especificación independiente de la representación. 3. Aho, Hopcroft y Ullman señalan que un se entiende como un modelo matemático con una serie de operaciones definidas en ese modelo. 3
4 Definición y Conceptos Básicos Caracterización: Los son generalizaciones de los tipos de datos primitivos (enteros, reales, etc), al igual que los procedimientos y funciones son generalizaciones de operaciones primitivas (suma, resta, etc). Un se caracteriza por un conjunto de operaciones las cuales representan el comportamiento del. El permite crear nuevos tipos de abstracciones de datos que están presentes implícitamente o explícitamente en el dominio del problema, y que no son provistos por el lenguaje. 4
5 O Definición y Conceptos Básicos Para crear los nuevos tipos de abstracciones es necesario 1 Definir objetos y las operaciones válidas 2 Elegir la representación concreta del objeto abstracto en término de las estructuras o tipos de datos presentes en los lenguajes de alto nivel 3 Desarrollar los algoritmos para las operaciones, basándose en la representación seleccionada. 5
6 Crear nuevos tipos de abstracciones. A través de las especificaciones Sintácticas y Semántica se describen los objetos abstractos y las operaciones abstractas del tipo que se crea. La representación e implementación, requiere de la elección de las estructuras de datos provistas por el lenguaje y del desarrollo codificación de los procedimientos y/o funciones. 6
7 Especificación Sintáctica y Semántica 1 Para definir los objetos abstractos y sus propiedades (operaciones) se describe el tipo de dato independientemente de cualquier representación e implementación. Para ello es necesario definir el en términos de su especificación sintáctica y semántica: 1. La especificación sintáctica define el nombre de los objetos abstractos y de las operaciones indicando para cada una de ellas el dominio y el rango. 2. La especificación semántica define el significado de cada operación usando los símbolos introducidos en la parte sintáctica. 7
8 Especificación Sintáctica y Semántica La Especificación Semántica puede ser especificada tanto de modo formal o informal. La primera generalmente es rigurosamente formulada y fundamentada bajo la simbología matemática. La segunda puede especificarse en un lenguaje natural. 8
9 Representación Interna 2 La representación interna para los objetos del, se especifica en términos de las estructuras de datos provistas por los lenguajes de programación. Un puede tener diversas representaciones, las cuales deben cumplir con la especificación definida para el tipo. 9
10 Implementación 3 Esta implica procedimientos el desarrollo o - codificación de los funciones, basándose en la representación seleccionada. 10
11 Ejemplo El tipo SECUENCIA es un tipo estructurado formado por componentes de un mismo tipo, Si e es del tipo de los ELEMENTOS de SECUENCIA entonces la misma será tratada como una SECUENCIA de e. ELEMENTOS puede ser un tipo ENTERO, CARACTER, LÓGICOS. 11
12 Especificación Sintáctica DOMINIO PRIMERO : ÚLTIMO : PONERPRI : PONERULT: LONGITUD: MAYOR: MENOR: OBTENER: SECUENCIA SECUENCIA SECUENCIA x ELEMENTO SECUENCIA x ELEMENTO SECUENCIA SECUENCIA x SECUENCIA SECUENCIA x SECUENCIA SECUENCIA x POSICIÓN RANGO ELEMENTO ELEMENTO SECUENCIA SECUENCIA ENTERO SECUENCIA SECUENCIA ELEMENTO 12
13 Especificación Semántica Función PRIMERO (S :SECUENCIA) : ELEMENTO precondición: ninguna postcondición: e1 o Fin (S) acción: si S = (e1,e2,, e n) entonces PRIMERO = e1 sino PRIMERO = Fin (S) if S =(e1,e2,, e n) then PRIMERO = e1 else PRIMERO = Fin (S) 13
14 Especificación Semántica Función ULTIMO (S :SECUENCIA) : ELEMENTO precondición: ninguna postcondición: en o Fin (S) acción: si S = (e1,e2,, e n) entonces ULTIMO = e n sino ULTIMO = Fin (S) if S =(e1,e2,, e n) then ULTIMO = e n else ULTIMO = Fin (S) 14
15 O Especificación Semántica Procedimiento PONERPRI (Var S :SECUENCIA, E: ELEMENTO) precondición: ninguna postcondición: S = (e1) o S = (e1,e2, e3,,en) acción: si S = ( ) entonces S = (e1) sino Si S = (e2, e3,,e n) entonces S = (e1,e2, e3,, e n) if S =( ) then S = e1 else if S = (e2, e3,, e n) then S = (e1,e2,e3,, e n) 15
16 Especificación Semántica Procedimiento PONERULT (Var S :SECUENCIA, E: ELEMENTO) precondición: ninguna postcondición: S = (en) o S = (e1,e2, e3,,e n) acción: si S = (e n) entonces S = (e n) sino Si S = (e1,e2, e3,,en-1) entonces S = (e1,e2, e3,,en-1,en) if S =(e n) then S = (e1,e2, e3,,e n) else if S = (e1,e2, e3,,e-1) then S = (e1,e2, e3,, e n -1,e n) 16
17 Especificación Semántica Función LONGITUD (S :SECUENCIA) : ENTERO precondición: ninguna postcondición: LONGITUD (S) acción: si S = ( ) entonces LONGITUD = 0 sino Si S = (e1,e2,,en) LONGITUD = n if S =( ) LONGITUD = o else if S = (e1,e2,,en) LONGITUD = n 17
18 Especificación Semántica Función MAYOR (S1, S2 :SECUENCIA) : SECUENCIA precondición: ninguna postcondición: MAYOR = S1 o MAYOR = S2 acción: si LONGITUD (S1) > LONGITUD (S2) entonces MAYOR := S1; si LONGITUD (S2) > LONGITUD (S1) entonces MAYOR := S2; 18
19 Especificación Semántica Función MENOR (S1, S2 :SECUENCIA) : SECUENCIA precondición: ninguna postcondición: MENOR = S1 o MENOR = S2 acción: si LONGITUD (S1) < LONGITUD (S2) entonces MENOR := S1; si LONGITUD (S2) < LONGITUD (S1) entonces MENOR := S2; 19
20 Especificación Semántica Función OBTENER (S :SECUENCIA, P : POSICIÓN) : ELEMENTO precondición: S < > ( ) postcondición: P tiene la posición del elemento ep en la Secuencia S acción: si S = (e1,e2, ep,..en) entonces OBTENER = ep 20
21 O Representación Interna Seleccionemos una estructura de datos existentes en los lenguajes de programación que nos permita simular una SECUENCIA. Asumamos que los ELEMENTOS que contiene la SECUENCIA son representados por letras del alfabeto (mayúsculas y minúsculas), dígitos y caracteres especiales. Por lo que el tipo debe ser CARACTER y la cantidad de ELEMENTOS que puede contener la SECUENCIA tiene un máximo de n ELEMENTOS. Por lo que la representación formal de este tipo se define de la siguiente manera: Tipo SECUENCIA = arreglo [1..n] de CARACTER; Var S SECUENCIA; 21
22 O Representación Gráfica Gráficamente podríamos ver la SECUENCIA S de esta forma: POSICIÓN 1 n 1 2 n e1: ELEMENTO : CARACTER 22
23 O Implementación O Implementación Función PRIMERO (S :SECUENCIA) : ELEMENTO var e : CARÁCTER; principio si S[1] <> entonces e : = S [1] sino e : = PRIMERO := e; fin; Función ULTIMO(S :SECUENCIA) : ELEMENTO var i : ENTERO; principio i.= 1; mientras (i <= n) y (S[ i ] <> ) hacer principio i := i + 1; fin; ULTIMO := S[ i 1]; fin; 23
24 Implementación Implementación Procedimiento PONERPRI (Var S :SECUENCIA; e: ELEMENTO) var i : entero; principio i := n; mientras (i > 0) hacer principio S[ i ]:= S [ i 1]; i := i 1; fin; S [ 1 ] := e; fin; Procedimiento PONERULT (Var S :SECUENCIA; e: ELEMENTO) var i : entero; principio i := 1; mientras ( i < = n) y (S[ i ] < > ) hacer principio i := i + 1; fin; S[ i ] := e; fin; 24
25 Implementación Función LONGITUD (S :SECUENCIA) : ENTERO var i : ENTERO; principio i:=1; mientras (i <= n) y (S [ i ] < > ) hacer principio i:= i + 1; fin; si i = n y S[ i ] <> entonces LONGITUD := i; sino LONGITUD := i -1; fin; Implementació n Función MAYOR (S1, S2 :SECUENCIA) : SECUENCIA principio si LONGITUD (S1) >= LONGITUD (S2) entonces MAYOR := S1 sino MAYOR := S2 fin; 25
26 O Implementación Función MENOR (S1, S2 :SECUENCIA) : SECUENCIA principio si LONGITUD (S1) <= LONGITUD (S2) entonces MENOR := S1 sino MENOR := S2 fin; 26
27 Referencias Aho A., Hopcroft J., Ullman J (1988). Estructura de Datos y Algoritmos. Addison Wesley Iberoamericana, Delaware, USA FUERTE BALDERRAMA URIEL Liskov, B. (1974). Programing with Abstract Data Types. ACM. Sygplan. Vol 9 4. Zambrano, N. y Sepúlveda, J. (1988). Tipos De Datos Y Estructuras De Datos Fondo editorial acta científica venezolana. Universidad Central de Venezuela. 27
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
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
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
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316
. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura: Diseño Estructurado de Algoritmos Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: SCB-9 Horas teoría Horas práctica
Verificación de programas. Algoritmos y Estructuras de Datos I. Semánticas formales: Primer cuatrimestre de 2016
Verificación de programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2016 Departamento de Computación - FCEyN - UBA Programación imperativa - clase 14 Verificación automática de programas
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
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
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Tema 2: Análisis léxico
Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis
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
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
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
PROGRAMACIÓN PLAN 2008
GUÍA DE APRENDIZAJE PROGRAMACIÓN COMPETENCIA GENERAL REALIZA PROGRAMAS COMPUTACIONALES BAJO UN ENFOQUE ESTRUCTURADO Y UN LENGUAJE DE PROGRAMACIÓN EN EL CAMPO DE LAS TELECOMUNICACIONES COMPETENCIAS PARTICULARES
Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Requerimientos de Software
Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar
Carrera: MTE Participantes Representante de las academias de ingeniería Mecatrónica de los Institutos Tecnológicos.
.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos: Lógica de Programación Ingeniería Mecatrónica MTE-05 --6.- HISTORIA DEL PROGRAMA
Lenguajes y Gramáticas
Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas
Tema: Análisis Léxico
Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Léxico Contenido En esta guía se dará a conocer la manera en que un compilador realiza el análisis
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo
INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN Métodos Numéricos 2008 - Carlos Zotelo Introducción a Fortran 77 / 90 1. El lenguaje Fortran 77 / 90 2. Tipos de datos básicos 3. Constantes y variables 4. Entrada
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Estructuras de Datos y Algoritmos. Programa de la asignatura
Estructuras de Datos y Algoritmos Programa de la asignatura Página Web: http://www.ctr.unican.es/asignaturas/eda Curso 2009-20010 DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour 1 4 Profesores Michael
Ficha de Aprendizaje N 13
Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que
2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA
CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas
Semántica: principales usos. Semántica: principales enfoques. Semántica Operacional. Sintaxis abstracta de un lenguaje (sujeto) Semántica Operacional
Semántica: principales enfoques Semántica Operacional Se define el significado mediante una máquina abstracta (con estados) y secuencias de cómputos sobre dicha máquina Semántica Denotacional El significado
Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
Definición de Tipo de Dato Abstracto (TDA)
Definición de Tipo de Dato Abstracto (TDA) 1 John Guttag (1974): Un tipo de dato abstracto es aquél definido por el programador que puede ser manipulado de forma similar a los definidos por el sistema.
Manual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Etapa 1: El Dialogo. Etapa 2: Las Especificaciones
Metodología para la Solución de Problemas Algorítmicos (MAPS) A continuación se describen las etapas de la Metodología para la Resolución de Problemas Algorítmicos propuesta por Tucker et al., denominada
Universidad de Managua
Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que
Los tipos de datos primitivos
Los tipos de datos primitivos El lenguaje de programación Java es de tipo estático, lo que significa que todas las variables debe ser declarado antes de que puedan ser utilizados visto. Se trata de la
Programación en java. Estructuras algorítmicas
Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica
Unidad III Análisis Léxico. M.C. Juan Carlos Olivares Rojas
Unidad III Análisis Léxico M.C. Juan Carlos Olivares Rojas Agenda 3.1 Introducción a los Autómatas finitos y expresiones regulares. 3.2 Analizador de léxico. 3.3 Manejo de localidades temporales de memoria
Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8
Planificaciones 9511 - Algoritmos y Programación I Docente responsable: CARDOZO MARTIN MIGUEL 1 de 8 OBJETIVOS Capacitar al alumno en el diseño y programación documentados de algoritmos y en la elección
Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7
Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos
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,
Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores
Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO ARAGUA VENEZUELA
FACULTAD: CIENCIAS ADMINISTRATIVAS Y SOCIALES. ASIGNATURA: INTRODUCCION A LA COMPUTACION CODIGO: INF-203 UNIDADES CRÈDITO: 3 U.C. DENSIDAD HORARIA: H.T.: 2 H.P.: 2 T.H.: 4 OBJETIVO TERMINAL DE LA ASIGNATURA:
Conceptos de Algoritmos, Datos y Programas
Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.
Introducción. Algoritmos y Complejidad. Algoritmos y Algoritmia. Introducción. Problemas e instancias. Pablo R. Fillottrani
Introducción Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Algoritmos y Algoritmia Problemas e instancias Primer Cuatrimestre 2014 Algoritmos
Introducción al Lenguaje "C++"
UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación
Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales
UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo
Fundamentos de Programación Visual Basic
Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280
Compiladores: Análisis Semántico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V.
Compiladores: Análisis Semántico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V. Verificaciòn de tipos Se puede hacer en forma Estàtica: en tiempo
TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad
TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)
Tema 1: Introducción. Teoría de autómatas y lenguajes formales I
Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo
Objetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:
09:19 1 2 Temas Funciones del Analizador Léxico Manejo de buffers de entrada Especificación y reconocimiento de tokens Generación automática de Analizadores Léxicos Objetivos Que el estudiante logre conocer,
Introducción a la Lógica y la Computación
Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales
- AnallogicA - Software para crear tablas de verdad
- AnallogicA - Software para crear tablas de verdad Henry Suarez [email protected] Año 2010 Proyecto de POO de la carrera de Ingeniería en Informática de la Universidad Nacional del Litoral. Módulos del
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
Apunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
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
Guía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE
Tema: Análisis Semántico
Compiladores. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Análisis Semántico Contenido En esta guía se desarrollará una tabla de símbolos y se asociará al analizador
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
Diseño estructural y propuesta de actividades. Desarrollo de software, metodología de proyectos IT, licenciatura en informática o afines
Formato 1 UNIVERSIDAD DE GUADALAJARA FASE 1 1. DATOS GENERALES DEL CURSO Nombre del curso Programación orientada a objetos Programa al que pertenece Créditos y horas Horas teoría 35 Horas práctica 70 Eje
El lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Programación Estructurada
Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes
Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos
Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el
El proceso del Análisis Léxico
El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente
CIENCIAS FORMALES CIENCIAS FÁCTICAS
UNA CLASIFICACIÓN DE LAS CIENCIAS CIENCIAS FORMALES CIENCIAS FÁCTICAS CIENCIAS FORMALES MATEMÁTICA LÓGICA CIENCIAS FÁCTICAS FÍSICA BIOLOGÍA QUÍMICA CIENCIAS SOCIALES OTRAS CIENCIAS FORMALES VOCABULARIO
SISTEMA DE NUMEROS REALES
SISTEMA DE NUMEROS REALES 1.1 Conjuntos Es una agrupación de objetos distintos (pero con algunas características en común), los que reciben el nombre de elementos. Generalmente se nombra a un conjunto
CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE
CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE 1 Estructura de Datos 1. Logica de Programación 2. Uso de Algoritmos usando Lenguaje Java 3. Ingreso de datos 4. Sentencias de Control 1.
Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa
PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial
Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto
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
LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
A continuación se presenta la información de la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes.
M150: Creciendo A) Presentación del problema LOS JOVENES CRECEN MAS ALTO A continuación se presenta la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes. B) Preguntas del problema
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
DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS
DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación Un dato
Diseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos 1 Sesión No. 1 Nombre: Conceptos de algoritmos Objetivo de la sesión: Al concluir la sesión el estudiante identificará los conceptos básicos sobre la definición de algoritmos
TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B)
APRENDERAPROGRAMAR.COM TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B) Sección: Cursos Categoría: Curso Aprender programación Java desde
Modelo Conceptual de datos. Yenifer Laurens.
Modelo Conceptual de datos Yenifer Laurens. Modelo de datos Es un conjunto de conceptos que pueden servir para describir la estructura de una Base de Datos; tipo de datos, las relaciones y que deben cumplirse
Anexo 2. Para los nombres de variable se aplican las siguientes normas:
UNIVERSIDAD DE CHILE PROFESORA: SARA ARANCIBIA C Nombres de variable Anexo 2 Para los nombres de variable se aplican las siguientes normas: El nombre debe comenzar por una letra. Los demás caracteres pueden
Programación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 3 Nombre: Estructuras de control Contextualización A lo largo de la evolución de los lenguajes de programación, se han implementado diversas
Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.
Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es
Representación de la información
Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS
Análisis semántico. Análisis semántico. Índice (I)
Análisis semántico Índice (I) Marina de la Cruz Alfonso Ortega Objetivo del análisis semántico Decisiones para la construcción de un analizador semántico Análisis semántico con Bison Nivel de indirección
Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica
Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de
Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
TAD CONJUNTOS Y MULTICONJUNTOS
TAD CONJUNTOS Y MULTICONJUNTOS INTRODUCCIÓN Qué es un conjunto? Un conjunto en matemática es una colección de objetos. Los objetos no mantienen ninguna relación aparente entre ellos y tampoco están obligados
Arreglos. Algoritmos y Estructuras de Datos I. Arreglos en C++ Arreglos y listas
Arreglos Algoritmos y Estructuras de Datos I Primer cuatrimestre 2007 Teórica de imperativo 3 Algoritmos de búsqueda secuencias de una cantidad fija de variables del mismo tipo se declaran con un nombre,,
Inteligencia Artificial
Inteligencia Artificial Conjunto de técnicas que se aplican en el diseño de programas de computador para la resolución de problemas que por su dificultad requieren el uso de un cierto grado de inteligencia.
Generación de Código Intermedio
Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede
Uno de los conceptos más útiles en ciencias de la computación es la pila.
23. PILA. (Stack). Tipos de Datos Abstractos. 23.1 Conceptos. Uno de los conceptos más útiles en ciencias de la computación es la pila. Una pila es una colección ordenada de elementos de igual tipo, en
UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS
UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN MATERIA : ESTRUCTURAS DE DATOS NIVEL : TERCER SEMESTRE FECHA DE ELABORACIÓN: Julio 19, 1999. DURACIÓN:
