TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 4
|
|
- Gabriel Olivares Lagos
- hace 6 años
- Vistas:
Transcripción
1 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 4 1. Introducción 2. Recordatorio de programación en Mathematica 3. Representación de gramáticas formales 4. Actividades 1. Introducción. El lenguaje de programación escogido para las prácticas es Mathematica [Wolfram,91]. En las implementaciones que se van a llevar a cabo, hay que manejar objetos abstractos como son los autómatas y las gramáticas, sobre los que se realizarán una serie de transformaciones. Tanto unos como otras pueden ser concebidos como estructuras más complejas realizadas en base a otras más sencillas. El interés de las prácticas no estriba en conseguir implementaciones eficientes, sino en utilizar un lenguaje que facilite la construcción de estos objetos abstractos y el manejo de los mismos. Teniendo en cuenta todos estos aspectos, veamos a continuación algunas de las características de Mathematica que lo hacen adecuado para su uso en dichas prácticas. Mathematica es un paquete de desarrollo para aplicaciones de tipo general en las que los aspectos de desarrollo matemático, algebraico, numérico, simbólico y gráfico juegan un papel preponderante. Mathematica está diseñado para tratar tanto cálculos matemáticos, así como aquellos cálculos numéricos tradicionalmente llevados a cabo en FORTRAN. La mayoría de funciones especiales de la física matemática y funciones matriciales, ya están construidas en Mathematica. Además, tiene una extensa capacidad gráfica para la visualización de los resultados de los cálculos. La aplicaciones de Mathematica engloban prácticamente todas las áreas de investigación y desarrollo tanto en investigaciones científicas, de ingeniería, económicas, arquitectura, etc. Dentro de estas mismas áreas se pueden utilizar tanto como herramienta de trabajo como herramienta docente para aquellas materias que conlleven un alta carga de desarrollo matemático. Mathematica como lenguaje de programación se diferencia del FORTRAN o C o PASCAL, por una parte por su habilidad en el tratamiento de expresiones matemáticas, números, expresiones simbólicas, etc., y por otra en que es un lenguaje interpretado. Como consecuencia de ser interpretado, un cálculo tarda más tiempo en ejecutarse que en un lenguaje compilado, sin embargo, el escribir un programa en Mathematica requiere una fracción del tiempo necesario para escribir el mismo programa en C, y lo que es más importante, permite concentrar los esfuerzos en los detalles conceptuales y no en los de implementación. El sistema Mathematica es interactivo, lo cual significa que no hay que compilar programas. En lugar de eso, los cálculos se hacen típicamente ejecutando una línea cada vez, y por tanto, los resultados intermedios pueden verse inmediatamente. Mathematica es potente, puede usarse para realizar grandes cálculos interactivos, evitando los típicos errores algebraicos, y los resultados se pueden comprobar al instante. El lenguaje Mathematica es conciso, cálculos complicados pueden ser escritos en pocas líneas (aunque hay que controlar las limitaciones de memoria del ordenador usado). Es también flexible, pueden establecerse conexiones con otros programas ya existentes, etc..
2 Mathematica está siendo desarrollado por Wolfram Research, Inc. Actualmente está disponible en prácticamente todas las plataformas de ordenadores. Los códigos se pueden transportar en ficheros ASCII o en ficheros Mathematica Notebook, si se trabaja con versiones compatibles. En esta primera práctica se pretende introducir algunos conceptos elementales del lenguaje asociado a la aplicación Mathematica, así como el desarrollo de aplicaciones relacionadas con palabras y lenguajes empleando esta herramienta. 2. Recordatorio de programación en Mathematica Quizá la estructura de datos más importante en Mathematica (y, sin duda la que nosotros emplearemos más) es la lista. Se pueden emplear listas tanto para las palabras de los lenguajes con los que trabajemos, como para las transiciones de los autómatas que reconozcan dichos lenguajes. list1 = {a, b, {c, d}} asigna a la variable "list1" la lista con primer elemento "a", segundo "b" y tercero la lista {c, d}". El elemento i-ésimo de una lista se referencia como nombre[[i]]. Así, list1[[3]] es {c, d}. Operaciones con listas Notas: Las mayoría de las operaciones no actualizan las listas a menos que se asignen a una variable. Mathematica es sensible a las mayúsculas. No es lo mismo Table que table. En lo sucesivo, l1, l2... designarán listas, x, y... designarán elementos o variables, mientras que m, n... designarán enteros positivos. Las funciones definidas a continuación admiten variantes no especificadas aquí para no hacer demasiado larga esta exposición. Solo se indica alguno de los usos más frecuentes. Para conocer todas las posibilidades se puede teclear?nombre. Table[f(x), {x,n}] Range[m] Length[l1] Position[l1,x] Join [l1, l2] Union[l1, l2] Significado Devuelve la lista {f(1), f(2)...f(n)} Devuelve una lista con los m primeros números naturales. Devuelve la longitud de la lista. Devuelve una lista con las posiciones de x en l1. ( cuidado!) Concatena dos listas. Devuelve una lista con los elementos que se encuentran en l1 o l2 y los ordena.
3 Intersection[l1, l2] Devuelve una lista con los elementos que se encuentran en l1 y l2 Complement[l1, l2] Lista con los elementos de l1 que no estan en l2. Sort[l1] Devuelve l1 ordenada de menor a mayor (no actualiza l1). Reverse[l1] Devuelve el reverso de l1. Devuelve l1 con los elementos desplazados RotateRight[l1] un lugar a la derecha (el último pasa a ser el primero). RotateLeft[l1] Idéntico al anterior pero desplazando hacia la izquierda First[l1] Devuelve el primer elemento de la lista. Rest[l1] Lista l1 sin el primer elemento. Drop[l1, n] Devuelve la lista sin los primeros n elementos. Take[l1, n] Devuelve los primeros n elementos de la lista. Append[l1, x] Añade el elemento x al final. Prepend[l1, x] Añade el elemento x al comienzo. AppendTo[l1, x], PrependTo[l1, x] Delete[l1,n] Select[l1, condición] l1 /. izq -> dcha Pueden ser de utilidad las siguientes funciones de Mathematica: Cases[lista, patrón]: Devuelve una lista con los elementos de lista que concuerdan con patrón. Son operadores que dan como resultado True o False: Idénticas a las anteriores pero actualizan la lista. Elimina el elemento n-ésimo de la lista. Lista con los elementos de l1 que cumplen condición. Sustituye en l1 los elementos que se llaman izq por dcha). Operación Operador Negación! Conjunción && Disyunción Igualdad == No igualdad =!= Además están los conocidos: >, <, >=, <=. MemberQ[l1,x] : Devuelve True si x pertenece a l1 y False si no. Programación
4 Mathematica lleva incorporado un lenguaje de programación propio que permite incorporar funciones para realizar tareas específicas al mismo nivel que las funciones predefinidas. Al ser un intérprete, el modo de trabajo puede ser totalmente interactivo; Así si ejecutamos la expresión For[i = 1, i < 10, i++, Print[i]] se escriben en pantalla los dígitos del 1 al 9 (se ha introducido la sentencia For cuya sintaxis es totalmente idéntica a la que tiene en C). Módulos El concepto de módulo es totalmente parecido al de procedure en Pascal. Su esquema genérico es : nombre[parámetros] : = Module [{variables locales separadas por comas}, Acciones (separadas por ;); Return[nvar] (si el módulo devuelve un valor) ] Ejemplo: Módulo que toma como entrada un número positivo n y devuelve la suma de los n primeros números enteros. suma[n_integer]:=module[{i,suma1}, suma1=0; For[i =1,i <= n,i++,suma1 = suma1 + i]; Return[suma1]; ] Para ejecutarlo se escribiría por ejemplo suma[3] (que dará como resultado 6). Estructuras condicionales y de repetición Condicional Estructuras de repetición If[condición, sent_verdad, sent_falso] Do[sentencias,
5 {var,com,fin}] Se ejecuta repetidamente sentencias desde var = com hasta var = fin. Por defecto el incremento de la variable es 1. Se puede utilizar alternativamente{var, com, fin, paso} For[comienzo, test, incremento, sentencias] Se evalúa comienzo y se ejecutan sentencias e incremento hasta que test falla. Se ejecuta sentencias mientras condición es cierta. 3. Representación de gramáticas formales. Representaremos una cadena mediante una lista que contendrá los símbolos de la misma. Por ejemplo, la cadena aabc se representará como la lista {a,a,b,c }, y la cadena vacía como {}. Representaremos una gramática formal G=(N,T,P,S) mediante una lista con cuatro elementos: 1. El primer elemento de la lista representará el conjunto de símbolos no terminales de la gramática, N, mediante una lista de los nombres de los símbolos. Utilizaremos las letras mayúsculas para representar los símbolos no terminales. 2. El segundo elemento de la lista representará el conjunto de símbolos terminales (alfabeto) de la gramática, T, mediante una lista de los nombres de los símbolos. Utilizaremos las letras minúsculas o los dígitos para representar los símbolos terminales. 3. El tercer elemento de la lista representará el conjunto de reglas P de la gramática mediante una lista de la siguiente manera: Sea A un símbolo de N, el conjunto de A-reglas, si existe, se representará mediante una lista con dos componentes, el primero de ellos será el propio símbolo A y el segundo será a su vez una lista que contendrá como elementos las cadenas (representadas a su vez como listas) que conforman la parte derecha de las A-reglas. Veamos el siguiente ejemplo se representará por la lista While[condición, sentencias] A -> Aba λ abb {A,{{A,B,a},{},{a,b,B}}} El conjunto de reglas P se presentará por la lista de todas las A-reglas. Veamos un ejemplo con el siguiente conjunto de producciones
6 se representará como la siguiente lista S -> ab λ Ab A -> bba S {{S,{{a,b},{},{A,b}}},{A,{{b,b,a},{S}}}} 4. El último elemento de la gramática, S, se representa como el propio símbolo. Veamos un ejemplo de representación completo de una gramática. Así, para la gramática G= (N,T,P,S) con N={S,A}, T={a,b} y P el conjunto de producciones mostrado anteriormente, tendríamos la siguiente lista 4. Actividades. Actividad 1 {{S,A},{a,b},{{S,{{a,b},{},{A,b}}},{A,{{b,b,a},{S}}}},S} True si la gramática contiene alguna regla vacía y False en caso contrario. Nota.- Una regla vacía es de la forma A -> λ donde A es un símbolo auxiliar. Actividad 2 True si la gramática contiene alguna regla simple o unitaria y False en caso contrario. Nota.- Una regla simple o unitaria es una regla de la forma A -> B donde A y B son símbolos no terminales. Actividad 3 True si la gramática está en Forma Normal de Chomsky (FNC) y False en caso contrario. Nota.- Una gramática está en FNC si todas sus reglas son de la forma A -> BC o A -> a, donde A,B y C son símbolos no terminales y a es un símbolo terminal. Actividad 4 True si la gramática está en Forma Normal de Greibach (FNG) y False en caso contrario. Nota.- Una gramática está en FNG si todas sus reglas son de la forma A -> a w, donde A es un símbolo no terminal, a es un símbolo terminal y w es una cadena de símbolos no terminales que puede ser la cadena vacía. Actividad 5
7 Se pide escribir un módulo Mathematica que, teniendo como entrada una gramática formal G, devuelva como salida una gramática formal G1 tal que L(G1)=L(G) r. Actividad 6 Se pide escribir un módulo Mathematica que, teniendo como entrada una par de gramáticas formales G1 y G2, devuelva como salida una gramática formal G tal que L(G)=L(G1) U L(G2). Actividad 7 Se pide escribir un módulo Mathematica que, teniendo como entrada una gramática formal G= (N,T,P,S) y un homomorfismo h:t * -> T *, devuelva como salida una gramática formal G1 tal que L (G1)=h(L(G)). Nota.- El homomorfismo se puede definir mediante una lista cuyos elementos son a su vez listas con dos componentes, la primera representa un símbolo de T y la segunda componente representa la cadena que el homomorfismo asigna a dicho símbolo. Por ejemplo, el homomorfismo h(a)=001, h(b) =λ y h(c)=0 se representa mediante la lista {{a,{0,0,1}},{b,{}},{c,{0}}}. Aplicar un homomorfismo al lenguaje representado a través de una gramática consiste en sustituir en sus producciones cada símbolo terminal por la cadena que le asigna el homomorfismo. Referencias bibliográficas [Wolfram,91]. S. Wolfram. Mathematica : A System for doing mathematica by computer. Addison Wesley, 1991.
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 5 - Simplificación de gramáticas incontextuales 1. Objetivos 2. Representación de los datos en Mathematica 3. Eliminación de símbolos inútiles 3.1. Símbolos
Más detallesTema 3.- Predicados y sentencias condicionales
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Más detalles1. Cadenas EJERCICIO 1
LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada
Más detalles$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
Más detallesIntroducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas
Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del
Más detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Más detallesTema: Estructuras de Selección en C#.
Programación I, Guía 4 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de selección if e
Más detallesSISTEMAS 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 detallesFundamentos 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
Más detallesElementos 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
Más detallesCONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle
CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas
Más detallesInformá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
Más detallesEl 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
Más detallesSSL Guia de Ejercicios
1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.
Más detallesFicha 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
Más detalles1. 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
Más detallesAlgoritmos. 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 detallesProgramació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
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesLenguajes 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
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
Más detallesTEMA 1: LÓGICA. p p Operador conjunción. Se lee y y se representa por. Su tabla de verdad es: p q p q
TEMA 1: LÓGICA. Definición. La lógica es la ciencia que estudia el razonamiento formalmente válido. Para ello tiene un simbolismo que evita las imprecisiones del lenguaje humano y permite comprobar la
Más detallesGRAMATICAS 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 detallesSISTEMA 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
Más detallesTEMA 6 GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO
TEMA 6 GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO TEMA 6.- GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO 6.1. Gramáticas independientes del contexto. 6.2. Limpieza de Gramáticas Independientes del contexto. 6.3.
Más detallesÁlgebra y Trigonometría
Álgebra y Trigonometría Conceptos fundamentales del Álgebra Universidad de Antioquia Departamento de Matemáticas 1. Números Reales El conjunto de los números reales está constituido por diferentes clases
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Más detallesTeoría de Lenguajes. Gramáticas incontextuales
Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.
Más detallesESCUELA TÉCNICA SUPERIOR DE NÁUTICA Y MÁQUINAS NAVALES / NAUTIKAKO ETA ITSASONTZI MAKINETAKO GOI ESKOLA TEKNIKOA FUNDAMENTOS MATEMÁTICOS
ESCUELA TÉCNICA SUPERIOR DE NÁUTICA Y MÁQUINAS NAVALES / NAUTIKAKO ETA ITSASONTZI MAKINETAKO GOI ESKOLA TEKNIKOA FUNDAMENTOS MATEMÁTICOS ESTRUCTURAS ALGEBRAICAS B.1 Operaciones (leyes de composición interna).
Más detallesIII. Generación de Código orientado a objetos
III. Generación de Código orientado a objetos UNIDAD III Aspectos fundamentales Del código orientado a objetos. MÓDULOS DE CÓDIGO 1 DE FORMULARIO Almacenan el código en VB 2 ESTÁNDAR 3 DE CLASE Contiene
Más detallesESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
Más detallesConjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.
NÚMEROS REALES Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación. Un conjunto es una colección bien definida
Más detallesLógica Matemática. Tema: Los conectores lógicos y sus símbolos
Lógica Matemática Tema: Los conectores lógicos y sus símbolos Los conectores lógicos y sus símbolos Además de simbolizar las proposiciones, también se pueden emplear símbolos para los mismos conectores
Más detallesTema 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.
Más detallesEnteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.
LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado
Más detallesNúmeros enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.
Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación
Más detallesGUÍA BÁSICA DE SCHEME v.4
Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los
Más detallesTodo 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 detallesTeoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales
Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Más detallesTUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación
TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas
Más detallesPROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control
PROPIEDADES DE LOS CAMPOS Cada campo de una tabla dispone de una serie de características que proporcionan un control adicional sobre la forma de funcionar del campo. Las propiedades aparecen en la parte
Más detallesUniversidad 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 detallesINTRODUCCIÓN A LA MATEMÁTICA DISCRETA PRÁCTICA 1
INTRODUCCIÓN A LA MATEMÁTICA DISCRETA PRÁCTICA 1 I N T R O D U C C I Ó N A S A G E Q U É E S S A G E? G U Í A D E I N S T A L A C I Ó N C O N C E P T O S B Á S I C O S B I B L I O G R A F Í A Qué es Sage?
Más detallesGRAMÁTICAS LIBRES DE CONTEXTO
GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto
Más detallesVamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo
Tipos de datos. Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo Valores Constantes: Es un dato que se introduce directamente en
Más detallesTeoría de Autómatas y Lenguajes Formales.
Teoría de Autómatas y Lenguajes Formales Prueba de Evaluación de Lenguajes y Gramáticas Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel
Más detallesTeoría de la Computación
Teoría de la Computación Grado en Ingeniería Informática Prácticas de Laboratorio Profesor: Gregorio de Miguel Casado * email: gmiguel@unizar.es Dpto. de Informática e Ingeniería de Sistemas Escuela de
Más detallesÁrea: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.
Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:
Más detallesPHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
Más detalles1 FILTROS 2 2 CONFIGURAR FILTROS Cadenas Numérico Horas Intervalo de tiempo (Horas:Minutos) 4
Contenido 1 FILTROS 2 2 CONFIGURAR FILTROS 2 2.1 Cadenas 3 2.2 Numérico 3 2.3 Horas 3 2.4 Intervalo de tiempo (Horas:Minutos) 4 2.5 Intervalo de tiempo (Horas:Minutos:Segundos) 4 3 SÍMBOLOS 4 1 Filtros
Más detallesConceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Más detallesRECORDAR TIPOS DE DATOS
RECORDAR TIPOS DE DATOS VARIABLES: OBJETO CUYO valor cambia: A510 nombres NOTAS Int A=0; float B=1; CONSTANTES: OBJETO cuyo valor no cambia PI= 3.14159 LAS COMAS NO SE PERMITEN Int PI=3.1415 EXPRESIONES:
Más detallesConstante: 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
Más detallesARITMÉTICA MODULAR. Unidad 1
Unidad 1 ARITMÉTICA MODULAR 9 Capítulo 1 DE LA TEORÍA DE CONJUNTOS Objetivo general Presentar y afianzar algunos conceptos de la Teoría de Conjuntos relacionados con el estudio de la matemática discreta.
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesmi la sol fa si Un conjunto está bien definido si se puede establecer sin dudar si un elemento pertenece o no al conjunto.
CONJUNTOS LENGUJE SIMÓLICO Cada día, en nuestra conversación, por la televisión, en la lectura de por ejemplo un diario, o en el trabajo está presente la idea de conjunto. En matemática utilizaremos la
Más detallesUnidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas
Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación
Más detallesTema 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 detallesTema 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 detallesPROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES
UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA
Más detallesRAZONAMIENTO LÓGICO LECCIÓN 1: ANÁLISIS DEL LENGUAJE ORDINARIO. La lógica se puede clasificar como:
La lógica se puede clasificar como: 1. Lógica tradicional o no formal. 2. Lógica simbólica o formal. En la lógica tradicional o no formal se consideran procesos psicológicos del pensamiento y los métodos
Más detallesOperadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
Más detallesManual 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
Más detallesMANUAL DE RUBY (PARTE I) Luis José Sánchez González
MANUAL DE RUBY (PARTE I) Luis José Sánchez González 1. QUÉ ES RUBY? Ruby es un lenguaje de programación interpretado y orientado a objetos muy potente y al mismo tiempo muy sencillo. Para apreciar la extrema
Más detallesTEMA V SISTEMAS DE NUMERACIÓN
TEMA V SISTEMAS DE NUMERACIÓN En la vida diaria el hombre se expresa, se comunica, almacena y maneja información desde el punto de vista alfabético con un determinado idioma y desde el punto de vista numérico
Más detallesGuí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
Más detallesTeoría de Conjuntos y Conjuntos Numéricos
Teoría de Conjuntos y Conjuntos Numéricos U N I V E R S I D A D D E P U E R T O R I C O E N A R E C I B O D E P A R T A M E N T O DE M A T E M Á T I C A S P R O F A. Y U I T Z A T. H U M A R Á N M A R
Más detallesOPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Más detallesTema 3. Patrones y Definiciones de Funciones
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones para listas Patrones
Más detallesTEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES.
TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES. 1. INTRODUCCIÓN. PLANTEAMIENTO DE PROBLEMAS EN INGENIERÍA QUÍMICA 2. PROBLEMAS EXPRESADOS MEDIANTE
Más detallesTema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares 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
Más detallesINTRODUCCIÓ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
Más detallesInformática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani
Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:
Más detallesCapítulo 9. Introducción a los lenguajes formales. Continuar
Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre
Más detallesUnidad 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 detallesCIRCUITOS LÓGICOS. Lógica FCE 1. ALGEBRA DE BOOLE
Lógica FE IRUITOS LÓGIOS 1. LGER DE OOLE 1.1 Introducción Tanto la teoría de conjuntos como la lógica de enunciados tienen propiedades similares. Tales propiedades se utilizan para definir una estructura
Más detalles2.1. TEORÍA DE CONJUNTOS
2.1. TEORÍA DE CONJUNTOS Saber: Definir los conceptos relacionados con conjuntos, Explicar las operaciones básicas entre conjuntos Describir el método de construcción del diagrama de Venn Euler. Hacer:
Más detallesEjercicios Tema 6. Funciones
Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.
Más detallesTema 3. POLINOMIOS Y FRACCIONES ALGEBRAICAS. APLICACIONES AL CÁLCULO
Tema 3. POLINOMIOS Y FRACCIONES ALGEBRAICAS. APLICACIONES AL CÁLCULO Introducción. Simplificar epresiones. Desarrollar epresiones. Factorizar epresiones. Otras funciones del menú Transformación. Aplicaciones
Más detallesHerramientas computacionales para la matemática MATLAB:Introducción
Herramientas computacionales para la matemática MATLAB:Introducción Verónica Borja Macías Marzo 2013 1 Variables predefinidas MATLAB tiene un conjunto de variables predefinidas Variables predefinidas ans
Más detallesTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Más detallesMatemáticas Básicas para Computación
Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 6 Nombre: Álgebra Booleana Objetivo Durante la sesión el participante identificará las principales características
Más detallesPROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 NOMBRE CURSO: ESCUELA: PRE-REQUISITO: Organización de Lenguajes y Compiladores
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesDOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT
DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores La función printf Índice de contenidos Introducción...2 La función printf...2
Más detallesALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las
Más detallesGuía de estudio Introducción a la teoría de conjuntos Unidad A: Clase 4
Guía de estudio Introducción a la teoría de conjuntos Unidad A: Clase 4 Camilo Ernesto Restrepo Estrada, Félix Ruiz de Villalba, Lina María Grajales Vanegas y Sergio Iván Restrepo Ochoa 1. 3. Teoría de
Más detallesProgramació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
Más detalles2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.
U.R.J.C. Ingeniera Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales Junio 2009 2do. Parcial Normas : La duración del examen es de 2 horas. Todos los ejercicios se entregarán
Más detallesUn enunciado es toda frase u oración que se emite
OBJETIO 2: Aplicar la lógica proposicional y la lógica de predicados en la determinación de la validez de una proposición dada. Lógica Proposicional La lógica proposicional es la más antigua y simple de
Más detallesCapítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores
Más detallesTema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Más detallesIntroducción. El uso de los símbolos en matemáticas.
Introducción El uso de los símbolos en matemáticas. En el estudio de las matemáticas lo primero que necesitamos es conocer su lenguaje y, en particular, sus símbolos. Algunos símbolos, que reciben el nombre
Más detallesTexto estructurado (ST)
17 Texto estructurado (ST) El texto estructurado se compone de una serie de instrucciones que se pueden ejecutar, como sucede con los lenguajes superiores, de forma condicionada ("IF..THEN..ELSE") o en
Más detallesEJERCICIOS del TEMA 3: Lenguajes independientes del contexto
EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )
Más detallesEspecificació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 detallesProgramación MODULAR: Subalgoritmos - funciones y procedimientos
Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas
Más detallesPROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS
Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican
Más detalles