Compiladores e Intérpretes

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

Download "Compiladores e Intérpretes"

Transcripción

1 Compiladores e Intérpretes Coordinador: Prof. Ing. Pablo Pandolfo 1

2 Contenido: Lenguajes Formales. Gramáticas Formales. Lenguajes Regulares. Lenguajes Incontextuales. Maquina de Turing. Proceso de compilación 2

3 Lenguajes Formales Lenguajes Formales: Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. 3

4 Lenguajes Formales Símbolo: Es el elemento constructivo básico; es la entidad fundamental, indivisible, a partir de la cual se forman los alfabetos. Ejemplos: La letra a es un símbolo o carácter que forma parte del alfabeto español, del alfabeto inglés, etc. Los símbolos >, = y + son elementos del alfabeto de los operadores de los lenguajes Pascal y ANSI C. 4

5 Lenguajes Formales Alfabeto: Es un conjunto (colección de objetos) no vacío y finito de símbolos. Se lo identifica, habitualmente, con la letra griega Σ (sigma) y con sus caracteres se construyen las palabras de un lenguaje. Ejemplo: El alfabeto Σ = {0, 1} proporciona los caracteres utilizados en la construcción de los números binarios. Los números enteros con signo en base 10 se construyen con símbolos del siguiente alfabeto: Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, +} 5

6 Lenguajes Formales Cadena Es una secuencia finita de caracteres tomados de cierto alfabeto y colocados uno a continuación de otro. Se construye CONCATENANDO (yuxtaponiendo) caracteres de un alfabeto dado. Ejemplo: abac (se lee a-b-a-c ) es una cadena formada con caracteres del alfabeto {a, b, c} ( uno-cero-uno-uno-uno-cero ) es una cadena construida con caracteres del alfabeto {0, 1}. 6

7 Lenguajes Formales Longitud de una cadena La LONGITUD de una cadena S (se representa S ) es la cantidad de caracteres que la componen. Ejemplo: La longitud de la cadena abac es: abac = 4. La longitud de la cadena b es: b = 1. Cadena vacía Se representa λ (lambda) Es la cadena que no tiene caracteres. Es la cadena de longitud 0 ( λ = 0). Este símbolo λ no forma parte de ningún alfabeto. 7

8 Lenguajes Formales Potenciación de un símbolo c n representa la repetición del carácter c, n veces. Simplifica la escritura de cadenas. Ejemplo: aaaaabbbbbbb = a 5 b 7. Concatenación de dos cadenas La operación de CONCATENACIÓN aplicada a cadenas (S1S2) produce una nueva cadena formada por los caracteres de la primera cadena seguidos inmediatamente por los caracteres de la segunda cadena. Ejemplo: Sean las cadenas S1 = aab y S2 = ba; entonces, S1S2 = aabba. NO ES CONMUTATIVA La cadena vacía (λ) es la IDENTIDAD para la concatenación. Esto es: para cualquier cadena S, S λ = λ S = S. 8

9 Lenguajes Formales Potenciación de una cadena Si S es una cadena, entonces S n (con n 1 y entero) representa la cadena que resulta de concatenar la cadena S, consigo misma, n-1 veces. S 0 es λ (la cadena vacía), para cualquier cadena S Ejemplo: Sea S = ab; entonces: S 3 = SSS = (ab) 3 = ababab. Prefijo de una cadena: Es una secuencia de cero o más caracteres iniciales de esa cadena. Ejemplo: Sea la cadena abcd. Entonces, sus prefijos son: λ, a, ab, abc y abcd (la cadena completa). Sufijo de una cadena: Es una secuencia de cero o más caracteres finales de esa cadena. Ejemplo: Sea la cadena abcd. Entonces, sus sufijos son: λ, d, cd, bcd y abcd. Subcadena de una cadena: es una secuencia de caracteres que se obtiene eliminando cero o más caracteres iniciales y cero o más caracteres finales de esa cadena. Ejemplo: Sea la cadena abcd. Entonces, sus subcadenas son: abcd, bcd, cd, d, abc, ab, a, bc, b, c y λ. 9

10 Lenguajes Formales Lenguajes Naturales Lenguajes Formales Lenguaje Natural Lenguaje hablado y/o escrito que es utilizado por los seres humanos para comunicarse. Características: EVOLUCIONAN con el paso del tiempo, incorporando nuevos términos y nuevas reglas gramaticales para mejorar y actualizar la comunicación Sus REGLAS GRAMATICALES surgen después del lenguaje, para poder explicar su estructura, es decir: su sintaxis El SIGNIFICADO (o sea, la semántica) de cada palabra y de cada oración de un Lenguaje Natural es, en general, más importante que su composición sintáctica. 10

11 Lenguajes Formales Lenguajes Naturales Lenguajes Formales Lenguaje Formal Conjunto de cadenas formadas con los caracteres de un alfabeto dado, y tiene una característica fundamental: es un lenguaje abstracto, en el que el término FORMAL pone de manifiesto que, en esta disciplina, solo estamos interesados en la forma de una cadena (sintaxis) y no en su significado (semántica). Definidos por reglas gramaticales PREESTABLECIDAS y se deben ajustar rigurosamente a ellas. En consecuencia, un LF nunca puede evolucionar. Un LF puede ser descripto por enumeración (extensión), por comprensión, mediante una frase en un lenguaje natural (castellano) o mediante otras formas especiales. Ejemplo: Sea Σ = {a}, un alfabeto con un solo símbolo. Los que siguen son algunos LFs que se pueden construir sobre este alfabeto: L1 = {a}; L2 = {aa, aaa}; L3 = {λ, a, a 18 }. 11

12 Lenguajes Formales Palabra Una cadena es vacía, o bien está compuesta por una sucesión de uno o más caracteres que pertenecen a un alfabeto dado. Si una cadena pertenece a un determinado lenguaje, decimos que es una PALABRA de ese lenguaje. Propiedades: longitud de una palabra palabra vacía concatenación de dos o más palabras potenciación de una palabra prefijos y sufijos de una palabra subpalabras 12

13 Lenguajes Formales Cardinalidad de un LF Es la cantidad de palabras que lo componen. Ejemplos: L = {a, ab, aab} es un lenguaje de cardinalidad 3 sobre el alfabeto {a, b}. El lenguaje L = {λ} es un lenguaje de cardinalidad 1, ya que contiene una sola palabra. Sublenguajes Dado que un Lenguaje Formal es un conjunto, un SUBLENGUAJE es un subconjunto de un lenguaje dado. Ejemplo: Sea L1 = {a, ab, aab}. Entonces, L2 = {ab, aab} es un sublenguaje de L1, mientras que L3 = { } es el sublenguaje vacío de L1. 13

14 Lenguajes Formales Lenguajes formales finito Lenguajes con un número finito de palabras Ejemplo: L1 = {a, ab, aab}. Lenguajes formales infinitos Lenguajes con una cantidad infinita de palabras, pero cada una de longitud finita (no existen las palabras de longitud infinita). Ejemplo: L = {a n / n 1} es un LF infinito ya que no existe un límite superior para el supraíndice n. Cada palabra de este lenguaje está formada por una secuencia de una o más aes. Por ello, la concatenación de dos palabras cualesquiera de este lenguaje producirá siempre otra palabra del lenguaje L. Por esta propiedad, se dice que este lenguaje L es cerrado bajo la concatenación. 14

15 Lenguajes Formales Lenguaje Universal Dado un alfabeto Σ, el LENGUAJE UNIVERSAL sobre este alfabeto es un lenguaje infinito que contiene todas las palabras que se pueden formar con los caracteres del alfabeto Σ, más la palabra vacía. Se lo representa con la notación Σ*, que se lee sigma clausura o sigma estrella. Es cerrado bajo concatenación. Cualquier lenguaje L sobre el alfabeto Σ es un sublenguaje de Σ*. Por lo tanto, existen infinitos lenguajes sobre un alfabeto dado. Ejemplo: Si Σ = {a, b}, entonces el Lenguaje Universal para este alfabeto es: Σ* = {λ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb,..., aabaabbbab, } 15

16 Lenguajes Formales Operaciones con Lenguajes: Unión: es el lenguaje que contiene las palabras de L1, de L2 o de ambos. L1 U L2 = {x ЄΣ* : xєl1 v x Є L2} Intersección: es el lenguaje que contiene las palabras de L1 y de L2. L1 L2 = {x ЄΣ* : xєl1 ^ x Є L2} Complementación: es el lenguaje que contiene todas las palabras sobre el alfabeto Σ que no pertenecen a L. Ī = {x ЄΣ* : xєl} Diferencia: L1 L2 = L1 Ī2 Diferencia simétrica L1 L2 = (L1 Ī2) U (Ī1 L2) Producto L1 L2 = {x,y ЄΣ* : xєl1 ^ x Є L2} Potencia L n = {{λ} si n=0 v L n-1 si n>0} Cierre estrella (de Kleene) L* = U L i i 0 Cierre positivo L + = U L i i > 0 16

17 Lenguajes Formales Operaciones con Lenguajes: L* = {λ} U L + L + = L* λ Є L λєl + L*L = LL* = L + L* = L* L + = L + L*L* = L* pero L + L + = L 2 L* (L*)* = (L + )* = (L * ) + = L* (L + ) + = L + Ø* = {λ} Ø + = Ø 17

18 Lenguajes Formales - Ejercicios (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) Describa, mediante una frase en castellano, el lenguaje del Ejercicio 2. (4) Escriba todas las palabras del lenguaje L = {a 2n+1 / 1 n 4}. (5) Sea el lenguaje L = {λ, a, ba, abc}. Cuál es el mínimo alfabeto Σ sobre el que se puede construir este lenguaje? (6) Sea el lenguaje L = {0, 00, 01, 010}. Escriba una concatenación de dos palabras que produce otra palabra de este lenguaje. (7) Sea el lenguaje anterior. Escriba una concatenación de dos palabras que produce una cadena que no es palabra del lenguaje. (8) Sea el lenguaje del Ejercicio (6). Escriba tres sublenguajes de L, de distinta cardinalidad. (9) Describa, mediante una frase en castellano, el lenguaje L = {a n b n / 1 n 3000}. (10) Sea Σ = {a, b} y sea el lenguaje Σ*. Cuántas palabras de longitud 3 tiene este lenguaje? Y cuántas de longitud 4? (11) Sea el lenguaje infinito L = {ab n / n 1}. Escriba las tres palabras de menor longitud. (12) Sea el lenguaje infinito L = {(ab) n / n 1}. Escriba las tres palabras de menor longitud. (13) Sea el alfabeto Σ = {0, 1}. Describa, por comprensión, un lenguaje infinito L sobre Σ (que no sea Σ*). (14) Describa, mediante una frase en castellano, el lenguaje definido en el ejercicio anterior. 18

19 Lenguajes Formales - Ejercicios IMPLEMENTACIÓN EN ANSI C o JAVA Para cada una de los ejercicios que siguen, construir en ANSI C O JAVA la función solicitada y un programa que la pruebe con todos los datos constantes que sean necesarios. (15) Longitud de una cadena (16) Determinar si una cadena dada es vacía. (17) Concatenación de dos cadenas. (18) Determinar si una subcadena es Prefijo de una cadena dada. 19

20 Gramáticas Formales Estructuras que generan las palabras que forman un Lenguaje Formal. Es un conjunto de producciones (reglas de re escritura) que se aplican para obtener cada una de las palabras del LF que la GF en cuestión genera. Ejemplo: Sea el lenguaje L = {a}, formado por una sola palabra. Este lenguaje es generado por una gramática con una única producción: S -> a (se lee S produce a ). Toda producción está formada por tres partes: el lado izquierdo, el lado derecho, y la flecha, que indica que el lado izquierdo de la producción produce (o es reemplazado por o equivale a ) el lado derecho. 20

21 Gramáticas Formales Definición formal: Toda GF es una 4-upla (V N, V T, P, S), donde: V N es el vocabulario de no terminales o variables (un conjunto finito), V T es el vocabulario de terminales o caracteres del alfabeto sobre el cual se construye el LF que es generado por la gramática descripta (otro conjunto finito), P es el conjunto finito de producciones S Є V N es un no terminal especial, llamado símbolo inicial (start) o axioma o símbolo distinguido, desde el cual siempre debe comenzar a aplicarse las producciones que generan todas las palabras de un determinado LF Ejemplo: G = ({S, T}, {a, b}, {S -> at, T -> a, T -> b}, S). 21

22 Gramáticas Formales Jerarquía de Chomsky: En 1956 y 1959, el lingüista norteamericano Noam Chomsky publicó dos trabajos sobre los Lenguajes Naturales que, aplicados al área de los Lenguajes Formales, produjeron lo que se conoce como Jerarquía de Chomsky. Establece una clasificación (según las restricciones que se imponen a sus producciones ) de cuatro tipos de GFs que, a su vez, generan cuatro tipos diferentes de LFs. Tipos: Gramáticas Regulares o Gramáticas Tipo 3 Gramáticas Independientes del Contexto o Gramáticas Tipo 2 Gramáticas Dependientes del Contexto o Gramáticas Tipo 1 Gramáticas Irrestrictas o Gramáticas Tipo 0 22

23 Gramáticas Formales Gramáticas Regulares o racionales o de Kleene o Gramáticas Tipo 3 Una GF es Regular si sus producciones tienen las siguientes restricciones: Tipos el lado izquierdo debe tener un solo no terminal, el lado derecho debe estar formado por un solo terminal, o un no terminal seguido de un terminal. el símbolo distinguido puede o no derivar a λ Lineales por la izquierda P={(S λ) (A Bv) (A v) / (A,B) Є V N, v Є V T } Lineales por la derecha P={(S λ) (A vb) (A v) / (A,B) Є V N, v Є V T } Ejemplo: P = {(S C0), (S D1), (C 1), (D C1)} 23

24 Gramáticas Formales Gramáticas Independientes del Contexto o incontextuales o algebraicas o de Chomsky o Gramáticas Tipo 2 Una GF es Independiente del Contexto si sus producciones tienen las siguientes restricciones: el lado izquierdo debe tener un solo no terminal, el símbolo distinguido puede o no derivar a λ P={(S λ) (A v) / A Є V N, v ЄΣ + } Ejemplo: P = {(S λ), (S 01S1), (S 0S10), (S A1), (A 0S10)} Estas GICs son de gran utilidad en la representación de la sintaxis de los Lenguajes de Programación. 24

25 Gramáticas Formales Gramáticas Dependientes del Contexto o Contextuales o Gramáticas Tipo 1 Una GF es Dependiente del Contexto si sus producciones tienen las siguientes restricciones: β α. el símbolo distinguido puede o no derivar a λ P={(S λ) (xay xvy) / (A Є V N, (x,y) ЄΣ*, v ЄΣ + } Ejemplo: P = {(S λ), (S 0A100), (0A1 011), (0A0 000)} 25

26 Gramáticas Formales Gramáticas Irrestrictas o con Estructura de frase o Gramáticas Tipo 1 Una GF es Irrestricta si sus producciones no tienen ningún restricción P={(u v) / u = xay, u ЄΣ +, (v,x,y) ЄΣ*, A Є V N } Ejemplo: P = {(S 0), (0SA 0A10), (A 1), (A 1S0)} 26

27 Gramáticas Formales Cada tipo de GF genera un tipo de LF cuyo nombre deriva del nombre general de la correspondiente gramática. Así, las GRs generan LENGUAJES REGULARES, las GICs generan LENGUAJES INDEPENDIENTES DEL CONTEXTO, las GDCs generan Lenguajes Sensibles al Contexto y las GIs generan Lenguajes Irrestrictos. 27

28 Gramáticas Formales Derivación: Es el proceso que permite obtener cada una de las palabras de un LF a partir del axioma de una GF que lo genera y aplicando sucesivamente las producciones convenientes de esa GF. Existen diferentes formas de representar una derivación: en forma horizontal, utilizando el símbolo => en cada paso de una derivación; S => asb => aasbb => aaabbb en forma vertical, reemplazado un no terminal por su lado derecho para producir una nueva línea; S asb aasbb aaabbb en forma de árbol. Se llama Lenguaje generado por una gramática G. al conjunto de todas las palabras que derivan a partir del axioma. L(G) = {x ЄΣ* : S x} Dos gramáticas G y G son equivalentes si generan el mismo lenguaje, es decir, si L(G) = L(G ) 28

29 Gramáticas Formales - Ejercicios (1) Describa el orden en que se aplican las producciones para generar las palabras del lenguaje formal L ={aa, aab} (2) La producción O λ Genera la palabra vacía? (3) Qué lenguaje formal genera la gramática G = ({S,T}, {a,b}, {S at, T a, T λ}, S)? (4) Sea la gramática formal con producciones: {S at bq, T a b, Q a λ} a) La gramática con estas seis producciones genera la cadena bab? Justifique b) Cuál es el lenguaje formal generado por esta gramática? Justifique. (5) Escriba la definición formal y las producciones de una GR que genere el Lenguaje Regular L = {a n b / 1 n 3} (6) Escriba la definición formal y las producciones de una GR que genere el Lenguaje Regular L = {a n b n / 0 n 2} (/) Indique cual es la mínima palabra del LR generado por la GR {S as at, T b}. Escriba la sucesión de producciones que aplicaría para generar la palabra aaab (8) Escriba una GR que genere cualquier secuencia de uno o más digitos decimales. (9) Justifique: a) Una GR es siempre una GIC b) Una GIC es siempre una GR 29

30 Gramáticas Formales - Ejercicios (10) Cual es la mínima palabra generada por la GIC {S asb a} Cual es la palabra que le sigue en longitud? Describa por comprensión, el LIC generado por la GIC (11) Sea el lenguaje L = {a n b n+1 / n 0}. Escriba las producciones de una GIC que lo genere. (12) Sea el lenguaje L = {a 2n b n+1 a r / n 1, r 0}. Escriba la definición formal de una GIC que lo genere. (13) Dada la GIC {S asb ab}, determine aplicando una derivación vertical, si la cadena aaabbbb es una palabra del LIC generado por esta GIC. Dibuje la misma derivación en forma de árbol. (14) Sea el LF infinito L = {a n bc n / n 1}. Describa la Definición Formal de una GIC que genere este LF. (15) Dada la GIC construida en el punto anterior, utilice DERIVACIÓN VERTICAL para determinar si las siguientes cadenas son o no palabras del LF generado: a) aaabccc b) aabbcc c) aaabcc d) aabccc e) aaaccc 30

31 Gramáticas Formales - Ejercicios (16) Supongamos un Lenguaje de Programación en el que sus expresiones aritméticas están formadas por los números enteros 2 y 6, el operador de suma y siempre termina con un punto y coma. Algunas expresiones aritméticas de este Lenguaje de Programación son: {6; 2+2+6; } Vamos a construir una GIC que genere la totalidad de estas expresiones aritméticas. Para ello, debemos definir el vocabulario de noterminales, el vocabulario de terminales, el axioma y el conjunto de producciones. Supongamos que el vocabulario de noterminales esta formado por: S (el axioma), E (de expresión) y T (de término). Los terminales son 2, 6, + y ; (punto y coma). Las producciones de la GIC que genera el lenguaje de estas expresiones aritméticas son: {S E; E T E+T T 2 6} a) Determine, aplicando derivación a izquierda, si 6; es una expresión correcta. b) Determine, aplicando derivación a izquierda, si ; es una expresión correcta. c) Determine, aplicando derivación a derecha, si ; es una expresión correcta. d) Determine, aplicando derivación a izquierda, si ; es una expresión correcta. 31

32 Lenguajes Regulares Son los lenguajes formales mas simples. Importancia en el diseño de los LENGUAJES DE PROGRAMACIÓN: los identificadores, las palabras reservadas, las constantes numéricas, los operadores y los caracteres de puntuación (Técnicas de reconocimiento de patrones). La tarea de reconocimiento de patrones es manejada por el analizador léxico del compilador. Un LENGUAJE es REGULAR si: Si el LF es FINITO, Si existe una GRAMÁTICA REGULAR que lo genere. Si se puede representar mediante una EXPRESIÓN REGULAR. Si puede ser reconocido por un AUTÓMATA FINITO 32

33 Lenguajes Regulares Ejemplos: L1 = {a n b n / 1 n 4} Es Regular L2 = {a n / n 1} Es Regular L3 = {a n b n / n 1} No es Regular L4 = {a n / 1 n 1000} Es Regular L5 = {a n b t / n 1, t 1} Es Regular L6 = {(ab) n (cde) t a z / n 1, t 1, z 1} Es Regular L7 = {1 2n+1 0 / n 0} Es Regular 33

34 Lenguajes Regulares Expresiones Regulares Es la forma mas precisa y útil de REPRESENTAR a los Lenguajes Regulares. Mecanismo alternativo al igual que las gramáticas regulares para definir los lenguajes regulares. Forman un metalenguaje. Componentes: Caracteres del alfabeto Símbolo λ Operadores: Concatenación. Unión 34

35 Lenguajes Regulares Expresiones Regulares Una expresión regular sobre un Σ se define en forma inductiva como sigue: Ø es una ER que denota al lenguaje vacío. λ es una ER que denota el lenguaje que contiene únicamente a la cadena vacía {λ} a ЄΣ, a es una ER que denota el lenguaje que contiene únicamente a cadena a, {a} Sea r una ER que denota el lenguaje Lr, entonces (r) es también una expresión regular para el mismo lenguaje. r s es una ER que denota la unión de los lenguajes denotados por r y s r.s es una ER que denota la concatenación de los lenguajes denotados por r y s r* es una ER que denota la clausura del lenguaje denotado por r. 35

36 Lenguajes Regulares Expresiones Regulares Propiedad de los operadores aa* <> (aa)* ( ) paréntesis * clausura. concatenación unión Ejemplos: (aa)* aa* (0 1)* (0 1)*00(0 1)* (1 10)* 36

37 Lenguajes Regulares Expresiones Regulares Propiedades de equivalencia. Sean a,b,c expresiones regulares sobre el alfabeto Σ Asociatividad de la unión a (b c) = (a b) c Conmutatividad de la unión a b = b a Asociatividad de la concatenación (ab)c = a(bc) Distributividad de la concatenación respecto de la unión a(b c) = ab ac Elemento neutro de la concatenación aλ = λa = a Elemento neutro de la unión a Ø = Ø a = a λ* = λ Øa = a Ø = Ø Ø* = λ a*a* = a* aa* = a*a (a*)* = a a* = λ a aa a n a n+1 a* a* = λ aa* a* = (λ a) n-1 a n a* (a* b*)* = (a*b*)* = (a b)* (ab)*a = a (ba)* (a*b)*a* = (a b)* (a*b)* = (a b)*b λ a+ = aa* = a*a 37

38 Lenguajes Regulares Expresiones Regulares Dos expresiones regulares son equivalentes si representan el mismo lenguaje regular Ejemplo: a b = b a ambos representan al L = {a,b} Dos expresiones regulares son diferentes si representan a diferentes lenguajes regulares Ejemplo: a(a b) <> (a b)a Expresión regular universal (ERU) Expresión regular que representa al Lenguaje Universal sobre un alfabeto dado. Representa al LR que contiene la palabra vacía y todas las palabras que se pueden formar con caracteres del alfabeto dado. Ejemplo: Σ = {a,b}, la ERU es (a b)* 38

39 Lenguajes Regulares Expresiones Regulares Operaciones sobre lenguajes regulares Unión: Si L1 es representado por la ER a*b y L2 es representado por la ER ba b*, L1 U L2 es representado por la ER (a*b) (ba b*) = a*b ba b* Concatenación: Si L1 es representado por la ER a*b y L2 es representado por la ER a b*, el LR concatenación L1L2 es representado por la ER a*b(a b*). Clausura de Kleene: Si L es representado por la ER a*b, L* es representado por la ER (a*b)* Clausura positiva: Si L es representado por la ER a*b, L+ es representado por la ER (a*b)+ Complemento: Si L es representado por la ER a(a b)*, L c es representado por la ER b(a b)* λ Intersección: Si L1 es representado por la ER a(a b)* y L2 es representado por la ER (a b)*b, L1 L2 es representado por la ER a(a b)*b 39

40 Lenguajes Regulares Expresiones Regulares y Lenguajes de programación Los componentes léxicos de un LP identificadores, palabras reservadas, constantes, operadores constituyen diferentes LRs. Ejemplos: Identificador L(L D)* Constante real D+.D* Palabras reservadas if else while Expresiones regulares extendidas Las ERs también se emplean para representar datos que serán procesados por diversas herramientas de software. Toda herramienta de software que necesite representar ERs para su posterior procesamiento, considera a estas expresiones como un lenguaje: El Lenguaje de las Expresiones Regulares. Un metalenguaje es un lenguaje que se usa para describir otro lenguaje. 40

41 Lenguajes Regulares Expresiones Regulares en Java (string.matches(regex)) Intervalos de caracteres [abc] a, b, o c [^abc] Cualquier carácter excepto a, b, o c (negación) [a-za-z] Desde la a a la z o desde la A hasta la Z, incluidos Intervalos de caracteres predefinidos. Cualquier carácter d Un numero: [0-9] D Todo menos un numero: [^0-9] s Un espacio en blanco: [ x0bf ] S Todo menos un espacio en blanco: [^s] w Una letra: [a-za-z_0-9] W Todo menos letras: [^w] Cuantificadores de cantidad X? X, una o ninguna vez X* X, cero o ninguna vez X+ X, una o mas veces X{n} X, exactamente n veces X(n,} X, por lo menos n veces X{n,m} X, por lo menos n veces pero no mas de m veces Operadores lógicos XY X seguido de Y X Y X o Y (X) X, como un grupo 41

42 Lenguajes Regulares Ejercicios ER (1) Escriba una ER que defina el siguiente lenguaje: identificadores de cualquier longitud que comience con a y contenga a, b o c. No pueden terminar con c y además no pueden contener dos c seguidas. (2) Escriba una ER que represente al LR L = {a n b n / 1 n 3} (3) Describa mediante una frase sin ambigüedades, el LR representado por la ER a(b a)b (4) Determine si las siguientes ERs son equivalentes: aa ab ba, a(a b) ba y ab ba aa. Justifique su respuesta. (5) Escriba una ER que represente al LR: Todas las palabras sobre el alfabeto {a,b} que tienen longitud 100 y terminan con 28 bes. (6) Sea el LR: Todas las palabras sobre el alfabeto {a,b,c} que: a) Comienzan con 16 aes, terminan con 16 aes y tienen una longitud total de 1200 caracteres. b) Comienzan con 342 bes y terminan con 100 repeticiones de cualquiera de los caracteres del alfabeto (pero siempre uno solo de ellos) (7) Compare las ER a 1000 y a*. Informe sus conclusiones. 42

43 Lenguajes Regulares Ejercicios ER (8) Escriba las tres palabras de menor longitud de LR representado por la ER (aba)* (9) La cadena a 24 b 24 a 24 es una palabra de LR representado por la ER (aba)*? Justifique su respuesta. (10) Describa, mediante una frase, el LR representado por la ER (a b)+ (11) Sea la ER a+ba+. Describa por comprensión, el LR representado por esta ER (12) Escriba las únicas palabras comunes a los LRs representados por las ERs (ab)* y a*b* (13) Defina mediante una frase, el LR representado por la ER (b*ab*ab*)* (14) Construya la ER que representa al LR: Todos los números binarios que comienzan con un 1 o con un 0. el cual puede estar seguido por una secuencia de 1s. (15) Construya la ER que representa al LR: Todas las palabras que comienzan con una secuencia de dos o mas 1s seguida de un 0 como último carácter o que comienzan con una secuencia de dos o más 0s seguida de un 1 como último carácter. (16) Si el alfabeto fuera todos los dígitos decimales, Cuál sería la ERU sobre ese alfabeto? (17) Dado dos LRs representados, respectivamente, por las ERs (a b)*a* y a 24 b, escriba dos ERs que representen la unión de los dos LRs. Escriba cinco palabras del LR unión (18) Sean los LRs representados por las ERs a*bc y b(a b)*. Escriba la ER que representa a la concatenación de estos dos LRs. Escriba las cinco palabras de menor longitud del LR concatenación. (19) Sea L = {a n bc t / n,t >= 1}. Escriba la ER que representa a L+ 43

44 Lenguajes Regulares Autómatas Finitos Es una herramienta abstracta que se utiliza para reconocer un determinado Lenguaje Regular. Es un modelo formal de un sistema que trabaja con entradas y salidas discretas. Es un modelo matemático de un sistema que recibe una cadena constituida por caracteres de cierto alfabeto Σ y tiene capacidad de determinar si esa cadena pertenece al Lenguaje Regular que el Autómata Finito reconoce. Es una máquina de estados finitos. Una máquina es una abstracción matemática que capturan solamente el aspecto referente a las secuencias de eventos (transiciones) que ocurren. RECONOCER un lenguaje regular aceptar cada cadena que es una palabra del Lenguaje Regular y rechazar cada cadena que no pertenece al lenguaje. Una palabra es aceptada si: Cadena ha sido consumida (se ha analizado todos los caracteres de la cadena) El autómata finito se encuentra en un estado especial llamado ESTADO FINAL o ESTADO DE ACEPTACION. 44

45 Lenguajes Regulares Autómatas Finitos Definición formal <Q, Σ, q0, F, δ> Q: Conjunto finito de estados Σ: Alfabeto de entrada reconocidos por el autómata q0: Estado inicial q0 Є Q, único en un conjunto. F: Conjunto de estados finales F C Q δ: Función de transición Q x Σ Q Ejemplo: ab (lenguaje regular finito) ACTIVIDAD 0 a 1 b 2 RECONOCE a b

46 Lenguajes Regulares Autómatas Finitos Casos La cadena ab pertenece al LR reconocido por este AF? ACTIVIDAD 0 a 1 b 2 RECONOCE Se dice que la cadena x es aceptada por el AF M cuando δ(q0, x) Є F Se define el Lenguaje aceptado por el AF M como L(M) = {x ЄΣ* / δ(q0, x) Є F} La cadena a es reconocida? ACTIVIDAD 0 a 1 RECHAZA La cadena abab es reconocida? ACTIVIDAD 0 a 1 b 2 a?? RECHAZA La cadena baa es reconocida? ACTIVIDAD 0 b?? RECHAZA Ejemplo: a*b (lenguaje regular infinito) 46

47 Lenguajes Regulares a*b 0 b 1 a (a b)* a 0 b 47

48 Lenguajes Regulares Autómatas Finitos. Hay dos maneras de equivocarse al diseñar un AF Sobren palabras : El autómata acepte algunas palabras que no debería aceptar. Solución INCORRECTA Falten palabras : palabras en el lenguaje que no son aceptadas por el autómata cuando debería serlo. Solución INCOMPLETA 48

49 Lenguajes Regulares Autómatas Finitos. Tipos: Autómatas Finitos Deterministas (AFD). Deterministic Finite Automaton Para cualquier estado en que se encuentre el autómata en un momento dado, la lectura de un carácter determina, SIN AMBIGUEDADES, cuál será el estado de llegada en la próxima transición. (unívocamente determinado) Es un AFN (ya que es un caso especial) Se puede encontrar un AFD por cada AFN que acepte el mismo lenguaje. Autómatas Finitos No Determinitas (AFN). Non-deterministic Finite Automaton Permite cero, una o más transiciones a partir de un estado con un determinado símbolo de entrada. Una cadena de entrada se dice que es aceptada por un AFN si existe una secuencia de transiciones, correspondiente a la cadena de entrada, que lleva del estado inicial a algún estado final. Acepta transiciones vacías: el autómata puede cambiar de estado sin tener que leer ningún símbolo de la entrada (arcos sin etiquetas entre pares de estados). 49

50 Lenguajes Regulares a(a ba*) 0 a 1 a 2 M = (Q, Σ, q0, F, δ) Q = {0,1,2,3} Σ = {a,b} q0 = 0 F = {2,3} δ = {0=>a=>1, 1=>a=>2, 1=>b=>3, 3=>a=>3} b 3 δ a a b

51 Lenguajes Regulares AFD completo Un AFD es completo si cada estado tiene exactamente una transición por cada carácter del alfabeto. Un AFD es completo cuando su tabla de transiciones no tiene huecos ; si los tiene, el AFD es incompleto. Completar un AFD significa eliminar los huecos de su tabla de transiciones, agregando un nuevo estado, que se denomina ESTADO DE RECHAZO o ESTADO DE NO ACEPTACION. AFD equivalentes Dos AFDs son EQUIVALENTES si reconocen al mismo Lenguaje Regular. 51

52 Lenguajes Regulares Autómata Finito No Determinista (a b)*abb a 0 a b b b Sea M = (Q, Σ, q0, F, δ) un AFN, Se define el lenguaje aceptado por el AFN M como: L(M) = {x ЄΣ* / δ(qo,x) F Ø} δ a {0,1} b

53 Lenguajes Regulares Autómata Finito Determinista (a b)*abb a a 0 a b b a b El número de estado de un AFN puede llegar a ser logarítmicamente menor que el número de estados del mínimo AFD que reconozca el mismo lenguaje. b δ a b

54 Lenguajes Regulares Autómatas Finitos. Operaciones: Complementación: Se define el autómata complementario M c como aquel que se obtiene a partir de M dando a los estados no aceptadores el carácter de aceptadores y viceversa L(M c ) = ~L(M) M c = (Q, Σ, q0, F=Q-F, δ) Intersección: M1 M2 M = (Q=Q1xQ2, Σ, q0=q1,q2, F=F1xF2 p Є Q1 q Є Q2 w ЄΣ* δ((p,q), w) = (δ1(p,w), δ2(q,w)) (p,q)w = (pw, qw) Unión: M1 U M2 M = (Q=Q1UQ2, Σ, q0=q1uq2, F=F1UF2, δ= δ1uδ2) δ(q,w) = δ1(q,w) si q Є Q1 δ(q,w) =δ2(q,w) si q Є Q2 Concatenación: M1.M2 M = (Q=Q1UQ2, Σ, q0=q1, F=F2 δ(q,a) = δ1(q,a) si q Є Q1 y a ЄΣ δ(q,a) = δ2(q,a) si q Є Q2 y a ЄΣ δ(q,λ) = q2 para cada q Є F1 54

55 Lenguajes Regulares Ejercicios AF (1) Sea el Σ {a, b} y el LR {a, aba} (a) Dibuje el AF que reconoce este LR (b) Describa los diferentes casos posibles y sus actividades. (2) Diseñe un AF que reconozca la ER a*bb*a (3) Diseñe un AF que reconozca la ER (a b c d)* (4) Diseñe un AF que reconozca la ER a(ab)+ (5) Diseñe un AF que reconozca la ER a* ab (6) Escriba la definición formal de un AF que reconozca el LR Todas las palabras sobre el alfabeto {a,b,c} que tienen por lo menos tres letras (7) Sea el AFD definido formalmente de la siguiente manera: M = (Q, Σ, q0, F, δ) Q={0,1,2,3}; Σ={a,b,c}; q0=0; F={2,3}; δ ={0=>a=>1, 1=>c=>2, 1=>b=>3, 3=>a=>3} (a) Describa formalmente el AFD equivalente con la δ completa. (b) Escriba una ER que represente al LR reconocido por este AFD. (c) Describa las actividades de este AFD para todos los casos posibles. (8) Diseñar un AFD que acepte las palabras en el alfabeto {a,b} en que la cantidad de a s es impar. (9) Diseñar un AFD que acepte las palabras en el alfabeto {0,1} en que las cadenas empiecen con 1 no tienen un par de 0 s consecutivos. (1 10)* (10) Diseñe un AFD que reconozca la ER (a) 1(1 0 -)*(1 0) 1 (g) (0 1)*00 (b) (a b)(a b(a b))* (h) (b bab)+ (c) (0 1)(10)* (i) (ab ba)+ (d) a(bb*a)* (j) ba* (e) a(aa)* (k) (ba)* (f) (aa)+ (l) b*a* 55

56 Lenguajes Incontextuales Es un lenguaje formal. Generado por una Gramática Independiente de Contexto. Ejemplos: expresiones aritméticas, sentencias de un lenguaje de programación. 56

57 Lenguajes Incontextuales Lema del bombeo Sea L un lenguaje regular. Entonces existe un entero ("longitud de bombeo") Tal que cualquier cadena w perteneciente a L, de longitud mayor o igual que p, Puede ser escrita como w = xyz (p. ej. dividiendo w en tres subcadenas), de forma que se satisfacen las siguientes condiciones: 1. y 1 2. xy p 3. i / i 0, xy i zєl y es la subcadena que puede ser bombeada (borrada o repetida un número i de veces como se indica en (3), y la cadena resultante seguirá perteneciendo a L). (1) significa que la cadena y que se bombea debe tener como mínimo longitud uno. (2) significa que y debe estar dentro de los p primeros caracteres. No hay restricciones acerca de x o z. 57

58 Lenguajes Incontextuales Autómata Finito Con Pila Conocidos como autómatas push-down Mas poderosos que los AF, porque además de reconocer a los Lenguajes Regulares tienen la capacidad de reconocer a los Lenguajes Independientes de Contexto. Además de tener estados y transiciones, tiene una memoria en forma de PILA (stack) que permite almacenar, retirar y consultar cierta información que será útil para reconocer los LICs. Su lógica es LIFO (Last In First Out) Los AFD no tienen memoria: no pueden representar el lenguaje: L = {x n y n, n Є N} Es un dispositivo no determinístico. 58

59 Lenguajes Incontextuales Autómata Finito Con Pila Definición formal: AP = <Q, Σ, Ґ, q0, p0, F, > Q: Conjunto finito de estados. Σ: Alfabeto de entrada Ґ : Alfabeto de la pila (terminales, símbolos de la pila) q0: Estado inicial p0: Símbolo inicial de la pila, el que indica que la pila no tiene símbolos. Ejemplo: $ F: Conjunto de estados finales. : Relación de transición ((Q, Σ, Ґ),(Q, Ґ)) (estado actual, símbolo del alfabeto que se lee en la entrada, símbolo que se extrae de la pila, nuevo estado, símbolo que se inserta en la pila) Transiciones especiales: δ(p,x,λ)=(q,z) (transita sin extraer nada de la pila) δ(p,λ,s)=(q,λ) (transita sin avanzar en la cinta de entrada) δ (p,λ,λ)=(q,λ) (transita sin avanzar en la cinta de entrada y sin extraer nada de la pila) δ(p,x,λ)=(q,λ) Autómata finito!!!!! 59

60 Lenguajes Incontextuales Autómata Finito Con Pila Un AP puede reconocer un LIC de dos maneras: Por estado final, como en los AF s Por pila vacía. Lenguaje aceptado por el AP: L(M) Es la colección de todas las cadenas que acepta M Los lenguajes aceptados por los autómatas de pila incluyen los lenguajes regulares Teorema: Para cada autómata de pila que acepte cadenas sin vaciar su pila, existe un autómata que acepta el mismo lenguaje pero que vacía su pila antes de llegar a un estado de aceptación. Vaciado de pila: 1) Se crea un nuevo estado inicial y se añade la transición:δ(i,λ,λ)=(q0,#) 2) Para cada uno de los estados finales se añade un nuevo estado mediante la transición δ(f,λ,λ)=(s, λ) 3) Para cada símbolo de pila x se añade la transición: δ(s,λ,x)=(s, λ) 4) Se añade un estado final nuevo y la transición δ(s,λ, #)=(F, λ) 60

61 Lenguajes Incontextuales Ejemplo: Cualquier cadena que contenga un número de y s menor o igual a que de x s. Pueden estar intercaladas. L={xyx, xxy, xxyxyx, } leo / saco / pongo q x / λ / x y / x / λ 61

62 Lenguajes Incontextuales Ejemplo: S asb λ p a / λ / a leo / saco / pongo FALTA LEER aabb abb LEO a PILA λ a b / a / λ bb a aa b b a q b / a / λ λ b λ 62

63 Lenguajes Incontextuales Ejemplo: L = {ww -1 / w,w -1 ЄΣ*} S A λ A aa bb aaa bab a / λ / a FALTA LEER LEO PILA p b / λ / b abba a λ bba a λ / λ / λ ba b ba λ ba ba q a / a / λ b / b / λ a b a a λ λ 63

64 Lenguajes Incontextuales Ejemplo: S cac A b ba FALTA LEER LEO PILA p cbbc c λ c / λ / c bbc b c q b / λ / λ bc c b c c c c / c / λ λ λ r 64

65 Lenguajes Incontextuales Ejemplo: x n y n x n x / λ / x y / λ / λ x / x / λ p q r s t λ / λ / # λ / λ / λ λ / λ / λ λ / # / λ 65

66 Lenguajes Incontextuales Autómata Finito Con Pila Para cada gramática G independiente del contexto, existe un autómata de pila M tal que L(G)=L(M) Dada una gramática G independiente del contexto, construimos un autómata de pila M de la manera siguiente: Designe el alfabeto de M como los símbolos terminales de G, y los símbolos de pila de M como los símbolos terminales y no terminales de G, junto con el símbolo especial #. 2) Designe los estados de M como i, p, q y f, donde i es el estado inicial y f es el único estado de aceptación. 3) Introduzca la transición (i, λ, λ; p, #). 4) Introduzca una transición (p, λ, λ; q, S) donde S es el símbolo inicial de G. 5) Introduzca una transición de la forma (q, λ, N; q, w) para cada regla de reescritura N w en G (aquí empleamos nuestra nueva convención que permite que una sola transición inserte más de un símbolo de pila. W puede ser una cadena de cero o más símbolos, incluyento terminales y no terminales. 6) Introduzca una transición de la forma (q, x, x; q, λ) para cada terminal x de G (es decir, para cada símbolo del alfabeto de M 7) Introduzca la transición (q, λ, #; f, λ) 66

67 Lenguajes Incontextuales Ejemplo: S zmnz M ama z N bnb z 67

68 Lenguajes Incontextuales Análisis completo de la cadena zazabzbz que efectúa el autómata: 68

69 Lenguajes Incontextuales Ejemplo: S aa A Sb b λ / Aa / S λ / b / A λ / bs / A b / λ / b a / λ / a p q r r λ / λ / # λ / S / λ λ / # / λ 69

70 Lenguajes Incontextuales Ejemplo: S xsy λ λ / S / xsy λ / S / λ y / y / λ x / x / λ p q r r λ / λ / # λ / λ / S λ / # / λ 70

71 Lenguajes Incontextuales Compilador LL Es un analizador sintáctico. L: left to right: lee la entrada de izquierda a derecha. L: left derivation: produce una derivación por la izquierda. Principio de previsión ( lookahead ): observar un carácter de la palabra de entrada que aún no ha sido leído El carácter leído por adelantado nos permite en algunas ocasiones decidir adecuadamente cual de las transiciones del AP conviene aplicar. 71

72 Lenguajes Incontextuales Compilador LL FALTA LEER abcba LEO PILA λ Ejemplo: S asa bsb c abcba λ S λ p abcba a asa bcba Sa λ λ / λ / S bcba bsba b λ / S / asa cba Sba q λ / S / bsb λ / S / c a / a / λ b / b / λ cba ba a λ c b cba ba a c / c / λ λ a λ 72

73 Lenguajes Incontextuales Compilador LL FALTA LEER aabbb LEO PILA λ Ejemplo: S asb asbb λ aabbb λ S λ p aabbb a asbb abbb Sbb λ λ / λ / S abbb asbbb a λ / S / asb bbb λ Sbbb q λ / S / asbb λ / S / λ bbb bb b bbb bb a / a / λ b / b / λ b b b b λ λ 73

74 Lenguajes Incontextuales Compilador LR Es un analizador sintáctico. L: left to right: lee la entrada de izquierda a derecha. R: righmost derivation: produce una derivación mas a la derecha. No tratan de adivinar una derivación, sino que tratan de ir reconociendo cadenas que correspondan al lado derecho de una regla gramatical, para reemplazar por el lado izquierdo. Recorren el árbol de derivación de abajo hacia arriba, por lo que se llaman también compiladores ascendentes. Cadena reconocida con el símbolo distinguido en el tope de la Pila. Se analiza el tope de la Pila Operaciones: Desplazar: pasar un carácter de la entrada al tope de la pila Reducir: reemplazar en el tope de la pila el lado derecho de una regla gramatical por el lado izquierdo de la misma. 74

75 Lenguajes Incontextuales Compilador LR Ejemplo: S aa; A Sb b i λ / λ / # λ / Aa / S FALTA LEER aabb aabb PILA λ # ACCION λ / λ / # DESP p λ / bs / A λ / b / A abb bb b a# aa# baa# DESP DESP RED q λ / S / λ λ / # / λ a / λ / a b / λ / b b b λ λ λ Aaa# Sa# bsa# Aa# S# RED DESP RED RED λ / S / λ f λ λ # λ λ / # / λ FIN 75

76 Lenguajes Incontextuales Compilador LR Ejemplo: S asa bsb c i λ / λ / # λ / asa / S FALTA LEER abcba abcba PILA λ # ACCION λ / λ / # DESP p λ / bsb / S λ / c / S bcba cba ba a# ba# cba# DESP DESP RED q λ / S / λ λ / # / λ a / λ / a b / λ / b c / λ / c ba a a λ λ Sba# bsba# Sa# asa# S# DESP RED DESP RED λ / S / λ f λ λ # λ λ / # / λ FIN 76

77 Lenguajes Incontextuales Compilador LR Ejemplo: S cac; A ba b i p q λ / λ / # λ / S / λ λ / # / λ λ / cac / S λ / Ab / A λ / b / A b / λ / b c / λ / c FALTA LEER cbbc cbbc bbc bc bc c c λ λ λ PILA λ # c# bc# Ac# bac# Ac# cac# S# # ACCION λ / λ / # DESP DESP RED DESP RED DESP RED λ / S / λ λ / # / λ f λ λ FIN 77

78 Lenguajes Incontextuales Compilador LR Ejemplo: S asb asbb λ i p q λ / λ / # λ / S / λ λ / # / λ λ / bsa / S λ / bbsa / S λ / λ / S a / λ / a b / λ / b FALTA LEER aabbb aabbb abbb bbb bbb bb bb b λ λ PILA λ # a# aa# Saa# bsaa# Sa# bsa# bbsa# S# ACCION λ / λ / # DESP DESP DESP DESP RED DESP DESP RED λ / S / λ f λ λ # λ λ / # / λ FIN 78

79 Lenguajes Incontextuales Ejercicios (1) En uno de sus viajes, Alicia pasó por un pueblo dispuesta a encontrar alojamiento para pasar la noche. Sin embargo, pronto se dio cuenta de que no entendía una palabra a ninguno de los habitantes. Al cabo de un tiempo de intentar, infructuosamente, establecer comunicación con alguno de ellos, se le acercó un muchacho de aspecto bonachón que la saludó cortésmente: Buenos días. Alicia respiró aliviada. Buenos días. Menos mal que me encuentro a alguien que me entiende! Estaba ya a punto de marcharme de aquí. Qué lengua hablan en este pueblo? A decir verdad, hay en el pueblo dos dialectos diferentes. Si le interesa, puedo hablarle sobre ellos. Me gustaría mucho. 79

80 Lenguajes Incontextuales Ejercicios (cont.) Pues verá, en el lenguaje oficial, se utiliza una única vocal, la a, combinada con dos consonantes, la s y la b, para formar sílabas. Una sílaba puede ser, o bien una vocal, o bien una consonante seguida por una vocal. Además, para complicar las cosas, cuando una sílaba comienza por consonante, la sílaba precedente puede terminar en s. Eso es fácil, en mi idioma las sílabas son muy similares. Y cómo se forman las palabras? Una palabra siempre tiene una o varias sílabas. Sin embargo, se da el caso de que todas las palabras han de tener el mismo número de sílabas acabadas en s, que de sílabas acabadas en a. Ah, sí? Qué lenguaje tan original! Entonces, basba es una palabra válida, pero asbaa no lo es, no? Exacto. Pero eso no es todo, porque, como te dije, en el norte del pueblo se habla otro dialecto. En qué se diferencia? Las palabras se forman de manera parecida, pero no hay eses al final de las sílabas, por lo que no existe la restricción de que haya el mismo número de sílabas acabadas en s que acabadas en a. Entonces, palabras válidas del sur serían bassa y basba, y palabras válidas del norte serían aa, basa, o sasasa, verdad?. Así es! 80

81 Lenguajes Incontextuales Ejercicios (cont.) Se pide, para cada uno de estos dos dialectos: En el caso de que sea un lenguaje regular, a. Proporcionar una Expresión Regular para el lenguaje. b. Construir un autómata finito determinista que acepte las palabras del mismo. c. Proporcionar una gramática regular para el lenguaje. En el caso de que sea independiente del contexto no regular, a. Proporcionar una gramática independiente del contexto para el lenguaje. b. Proporcionar un autómata a pila LL que acepte las palabras del lenguaje. c. Analizar la palabra basba con un autómata de pila de tipo LR. 81

82 Lenguajes Incontextuales Ejercicios (2) Cual es el lenguaje que acepta el siguiente AP q 0 / λ / 0 0 / 1 / λ 1 / 0 / λ 1 / λ / 1 (3) Diseñe el AP que reconoce el lenguaje generado por esta gramática: S λ A A aab baa ab ba 82

83 Lenguajes Incontextuales Ejercicios (4) Obtenga la gramática G tal que L(G) = {xyxy n zy 2n+1 ; n 0} Solución: S xyxa; A yayy zy (5) Construya la tabla de análisis sintáctico LR para la cadena zxzxyzyz S zabz A xax z B yby z (6) Grafique y defina el AP de análisis sintáctico LL para la siguiente gramática: S AA 0 A SS 1 83

84 Máquina de Turing Los autómatas son insuficientes: AF modelan adecuadamente mecanismos que requieren una memoria pequeña. AP modelan adecuadamente mecanismos que requieren memoria infinita que sólo puede ser replicada con una pila LIFO (Last In First Out) {a n b n c n n > 0} no es un lenguaje libre de contexto pero sí es sensitivo al contexto, es decir, es generado por una gramática sensitiva al contexto. {a n b n c n n 0} no es un lenguaje sensitivo al contexto (porque contiene λ) pero sí es un lenguaje recursivamente numerable, es decir, es generado por una gramática sin restricción. 84

85 Máquina de Turing {a n b n c n n > 0} es un lenguaje sensitivo al contexto 1. S abtc abc 2. T ABTc 3. T ABc 4. BA BX 5. BX YX 6. YX AX 7. AX AB 8. aa aa 9. ab ab 10. bb bb {a n b n c n n 0} es un lenguaje recursivamente enumerable 1. S abtc abc λ 2. T ABTc 3. T ABc 4. BA BX 5. BX YX 6. YX AX 7. AX AB 8. aa aa 9. ab ab 10. bb bb 85

86 Máquina de Turing LR {a n b m } {a n b n } X α LSC LLC {a n b n c n } α X β α γ β 86

87 Máquina de Turing Máquina abstracta definida por el matemático inglés Alan Turing en Proceedings of the London Mathematical Society 2: , Turing empezó tratando de modelar a una computadora humana, es decir, a un humano tratando de resolver algorítmicamente un problema utilizando papel y lápiz. Reglas básicas: Sólo se pueden escribir símbolos que pertenecen a un conjunto finito. Cada acción que la computadora toma sólo depende del símbolo que está siendo examinado y del estado mental en ese momento. Aunque el estado mental puede cambiar como resultado de los símbolos o cálculos que se han efectuado, el número de estados mentales distintos es finito. Máquina abstracta Examinar un símbolo individual en el papel. Borrar un símbolo o reemplazarlo por otro. Trasladar la atención de una parte del papel a otra. 87

88 Máquina de Turing Se tiene un alfabeto de entrada y un alfabeto, posiblemente mayor, de los símbolos utilizados durante la operación o cálculos de la máquina. Un conjunto finito de estados que representan los distintos estados mentales. En lugar de una hoja de papel, se tiene una cinta lineal semi-infinita con inicio en el extremo izquierdo e infinita hacia la derecha. Esta cinta esta dividida en cuadros, en cada uno de los cuales puede estar un símbolo o un espacio en blanco (#). 88

89 Máquina de Turing Caricatura de una MT 89

90 Máquina de Turing Operación de la MT: La acción está determinada por el estado actual y el símbolo en la cinta y consiste de tres partes Reemplazar el símbolo en el cuadrado actual por otro que puede ser distinto o el mismo. Mover la cabeza lectora a la derecha o a la izquierda (a menos que se encuentre en el extremo izquierdo de la cinta) o quedarse donde está. Hacer una transición de estado, que puede ser distinto o el mismo. La cinta sirve como dispositivo de entrada y salida así como la memoria disponible para utilizar durante la operación o cálculos de la máquina. Diferencias de una MT con un autómata La cabeza lectora se puede mover a la izquierda o derecha o quedarse donde está. Puede modificar los datos de entrada. Puede examinar parte de los datos de entrada, modificarlos, irse a otro lugar de la cinta y ejecutar ciertos cálculos, regresar a re-examinar los datos de entrada, repetir cualquiera de estas acciones y quizás detener el proceso antes de procesar todos los datos de entrada. En lugar de que un subconjunto de los estados sean estados finales o de aceptación, tendremos dos estados de paro que son un estado de aceptación h a y un estado de rechazo h r. 90

91 Máquina de Turing Definición formal: Una Máquina de Turing es un quinteto T = (Q, Σ, Γ, q 0, δ) Q es un conjunto finito de estados en el que no está incluído los estados de paro h a y h r. Σ es el alfabeto de entrada con el que se forman las cadenas a procesar. Γ es el alfabeto de la cinta que contiene a Σ pero no al espacio en blanco (#). q 0 es el estado inicial y pertenece a Q. La función de transición δ: Q (Γ {#}) Q {h a, h r } (Γ {#}) {#}) {R, L, S} δ(q, X) = (r, Y, D) significa que si la máquina se encuentra en el estado q y leyendo el símbolo X en la cinta, entonces la máquina reemplaza X por Y, se mueve al estado r y mueve la cabeza lectora en la dirección D. 91

92 Máquina de Turing Notación gráfica: δ(q, X) = (r, Y, D) se puede representar gráficamente de la siguiente manera: X/Y, D q r 92

93 Máquina de Turing Configuración inicial # a b b a # # #... 93

94 Máquina de Turing Aceptación de palabras por MT Una palabra x Σ* es aceptada por una MT T si empezando con la configuración inicial correspondiente a la palabra x, eventualmente se llega al estado de aceptación h a. Note que no es necesario procesar toda la palabra para aceptarla. El lenguaje aceptado por T es el conjunto de palabras aceptadas por T. Rechazo de palabras por MT Una palabra x Σ* es rechazada por una MT T si empezando con la configuración inicial correspondiente a la palabra x, eventualmente se llega al estado de rechazo h r. Note que no es necesario procesar toda la palabra para rechazarla. Es costumbre omitir el estado de rechazo y rechazar una palabra cuando no existe una transición, es decir, cuando la máquina se queda colgada. 94

95 Máquina de Turing Ejemplo 1: MT que acepta palabras sobre {a, b} que inician con a #/#,R a/a,s 1 2 h a b/b,s #/#,S h r 95

96 Máquina de Turing Ejemplo 2: MT palabras en {a, b} que terminan con a a/a,r b/b,r 1 #/#,R #/#,L a/a,s 2 3 h a b/b,s #/#,S h r 96

97 Máquina de Turing Ejemplo 3: MT que acepta (a b)*aba (a b)* 97

98 Máquina de Turing Ejemplo 4: MT que acepta (a b)*aba 98

99 Máquina de Turing Ejemplo 5: MT que acepta palíndromos sobre {a, b}. 99

100 Máquina de Turing Ejemplo 6: MT que acepta el lenguaje L = {ss s (a + b)*} Este lenguaje no es libre de contexto 100

101 Máquina de Turing Ejemplo 7: MT que acepta la reversa de un string 101

102 Máquina de Turing Ejemplo 8: MT que calcula n % 2 102

103 Máquina de Turing Ejemplo 9: MT que copia strings 103

104 Máquina de Turing Ejemplo 10: MT que borra un símbolo 104

105 Máquina de Turing Configuración de una Máquina de Turing Definida por: El estado en el que se encuentra El contenido de la cinta La posición de la cabeza lectora. Representada como uqv cuando la MT se encuentra en el estado q, el contenido de la cinta es la cadena uv (en ese orden, de izquierda a derecha) y la cabeza lectora se encuentra en el primer símbolo de v. La cinta sólo contiene espacios blancos (#) a la derecha del último símbolo de v; para abreviar, estos blancos a la derecha de la palabra no se indican en la configuración. Por ejemplo, #1011q representa la configuración cuando el contenido de la cinta es # ###..., el estado es q 7 y la cabeza lectora se encuentra sobre el segundo 0. # # # #... q 7 105

106 Máquina de Turing Aceptabilidad Un lenguaje L es Turing-aceptable si existe una máquina de Turing que dá halt para toda entrada w L, es decir, la palabra w es aceptada por la máquina de Turing. Ejemplo: Máquina de Turing que acepte el lenguaje L = {1 x x = 2 n para n 0}, es decir, cadenas de 1 s cuya longitud es una potencia de 2. Idea de construcción: 1) Barrer la palabra de izquierda a derecha tachando un 1 sí y otro no. 2) Si en el paso 1) la cinta contiene sólo un 1, entonces parar y aceptar. 3) Si en el paso 1) la cinta contiene más de un 1 y el número de 1 s es impar, entonces rechazar. 4) Regresar la cabeza lectora al extremo izquierdo de la cinta. 5) Ir al paso 1). 106

EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA

EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA EXÁMENES DE REPASO Teoría de Autómatas y Lenguajes Formales UNIVERSIDAD FRANCISCO DE VITORIA 1ER PARCIAL TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Examen parcial 12/02/2003 1.- Usa el lema de bombeo para

Más detalles

NÚMEROS NATURALES Y NÚMEROS ENTEROS

NÚMEROS NATURALES Y NÚMEROS ENTEROS NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de

Más detalles

Capítulo 1 Lenguajes formales 6

Capítulo 1 Lenguajes formales 6 Capítulo 1 Lenguajes formales 6 1.8. Operaciones entre lenguajes Puesto que los lenguajes sobre Σ son subconjuntos de Σ, las operaciones usuales entre conjuntos son también operaciones válidas entre lenguajes.

Más detalles

Autómatas Finitos. Leopoldo Altamirano, Eduardo Morales. Verano, 2011 INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico

Autómatas Finitos. Leopoldo Altamirano, Eduardo Morales. Verano, 2011 INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico los s s s s Leopoldo Altamirano, Eduardo Morales INAOE Verano, 2011 (INAOE) Verano, 2011 1 / 60 Contenido los s s 1 los s 2 3 4 s 5 (INAOE) Verano, 2011 2 / 60 los s los s los s s : Conjunto de estados

Más detalles

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Números 2 Polinomios 3 Funciones y su Representación

Más detalles

Estructuras de Datos y Algoritmos. Árboles de Expresión

Estructuras de Datos y Algoritmos. Árboles de Expresión Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.

Más detalles

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ. Alfabetos, Cadenas y Lenguajes Definición 1 Un Alfabeto es cualquier conjunto finito, no vacío. Ejemplo 1 Sea Σ = {0, 1, 2, 3,..., 9} donde 0 Σ Definición 2 Una cadena sobre Σ es cualquier secuencia de

Más detalles

INSTITUTO VALLADOLID PREPARATORIA página 9

INSTITUTO VALLADOLID PREPARATORIA página 9 INSTITUTO VALLADOLID PREPARATORIA página 9 página 10 FACTORIZACIÓN CONCEPTO Para entender el concepto teórico de este tema, es necesario recordar lo que se mencionó en la página referente al nombre que

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice 1 Polinomios Dedicaremos este apartado al repaso de los polinomios. Se define R[x] ={a 0 + a 1 x + a 2 x 2 +... +

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Tema 07. LÍMITES Y CONTINUIDAD DE FUNCIONES

Tema 07. LÍMITES Y CONTINUIDAD DE FUNCIONES Tema 07 LÍMITES Y CONTINUIDAD DE FUNCIONES Límite de una función en un punto Vamos a estudiar el comportamiento de las funciones f ( ) g ( ) ENT[ ] h ( ) i ( ) en el punto Para ello, damos a valores próimos

Más detalles

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones:

Cualquier lenguaje de contexto libre, L, puede ser generado por medio de una GCL, G, que cumpla las siguientes condiciones: Teoría de Autómatas y Lenguajes Formales Boletín de Autoevaluación 5: Cómo se simplifica una Gramática de Contexto Libre?. 1. Objetivos. El objetivo de este boletín es ilustrar cómo proceder para simplificar

Más detalles

Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte

Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte En esta unidad vamos a estudiar los números racionales, esto es, los que se pueden expresar en

Más detalles

EXPRESIONES ALGEBRAICAS. POLINOMIOS

EXPRESIONES ALGEBRAICAS. POLINOMIOS EXPRESIONES ALGEBRAICAS. POLINOMIOS 1. EXPRESIONES ALGEBRAICAS. Estas expresiones del área son expresiones algebraicas, ya que además de números aparecen letras. Son también expresiones algebraicas: bac,

Más detalles

Teclado sobre una PDA para Personas con Parálisis Cerebral

Teclado sobre una PDA para Personas con Parálisis Cerebral Manual de Usuario - 1 - - 2 - Teclado sobre una PDA para Personas con Parálisis Cerebral Capítulo 1. MANUAL DE USUARIO 12.1 Descripción de la aplicación Este programa le permitirá llevar a cabo las siguientes

Más detalles

UNIDAD I NÚMEROS REALES

UNIDAD I NÚMEROS REALES UNIDAD I NÚMEROS REALES Los números que se utilizan en el álgebra son los números reales. Hay un número real en cada punto de la recta numérica. Los números reales se dividen en números racionales y números

Más detalles

SSL Guia de Ejercicios

SSL 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 detalles

martilloatomico@gmail.com

martilloatomico@gmail.com Titulo: OPERACIONES CON POLINOMIOS (Reducción de términos semejantes, suma y resta de polinomios, signos de agrupación, multiplicación y división de polinomios) Año escolar: 2do: año de bachillerato Autor:

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x Los polinomios Los polinomios Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x Elementos de un polinomio Los términos: cada

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas

MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas Universidad de Cádiz Departamento de Matemáticas MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas Tema 4 La recta en el plano Elaborado por la Profesora Doctora María Teresa

Más detalles

Teoría de Lenguajes. Teoría de la Programación I

Teoría de Lenguajes. Teoría de la Programación I Teoría de Lenguajes Soluciones Consideraciones generales i) Escriba nombre y C.I. en todas las hojas. ii) Numere todas las hojas. iii) En la primera hoja indique el total de hojas. iv) Comience cada ejercicio

Más detalles

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006 Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 11 de Octubre de 2006 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Revisar sus apuntes todos los días en la tarde

Más detalles

INSTITUTO VALLADOLID PREPARATORIA página 37

INSTITUTO VALLADOLID PREPARATORIA página 37 INSTITUTO VALLADOLID PREPARATORIA página 37 página 38 SUMA DE FRACCIONES CONCEPTO Las cuatro operaciones fundamentales, suma, resta, multiplicación y división, con fracciones algebraicas se realizan bajo

Más detalles

Lección 9: Polinomios

Lección 9: Polinomios LECCIÓN 9 c) (8 + ) j) [ 9.56 ( 9.56)] 8 q) (a x b) d) ( 5) 4 k) (6z) r) [k 0 (k 5 k )] e) (. 0.) l) (y z) s) (v u ) 4 f) ( 5) + ( 4) m) (c d) 7 t) (p + q) g) (0 x 0.) n) (g 7 g ) Lección 9: Polinomios

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces

Más detalles

Conceptos básicos: 1,2 puntos

Conceptos básicos: 1,2 puntos Procesadores del Lenguaje 1 Universidad Rey Juan Carlos Departamento de Lenguajes y Sistemas Informáticos I 8 de junio de 2009 Parcial primero. Conceptos básicos y problemas. Entrega en 90 minutos. Lea

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

Números Reales. MathCon c 2007-2009

Números Reales. MathCon c 2007-2009 Números Reales z x y MathCon c 2007-2009 Contenido 1. Introducción 2 1.1. Propiedades básicas de los números naturales....................... 2 1.2. Propiedades básicas de los números enteros........................

Más detalles

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009 Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios Dra. Noemí L. Ruiz Limardo 2009 Objetivos de la Lección Al finalizar esta lección los estudiantes: Identificarán, de una lista de expresiones

Más detalles

TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc

TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc TEMA 5: HOJAS DE CÁLCULO Edición de hojas de cálculo con OpenOffice Calc Qué vamos a ver? Qué es una hoja de cálculo y para qué sirve El entorno de trabajo de OpenOffice Calc Edición básica de hojas de

Más detalles

Índice general de materias LECCIÓN 7 74

Índice general de materias LECCIÓN 7 74 Índice general de materias LECCIÓN 7 74 BUSCAR 74 BUSCAR CON FORMATO 77 REEMPLAZAR 78 REEMPLAZAR CON FORMATO 79 NOTAS AL PIE DE PÁGINA 79 CONFIGURAR LAS NOTAS 81 INSERTAR NOTAS AL PIE 83 MODIFICAR NOTAS

Más detalles

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas. Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.

Más detalles

Tema : ELECTRÓNICA DIGITAL

Tema : ELECTRÓNICA DIGITAL (La Herradura Granada) Departamento de TECNOLOGÍA Tema : ELECTRÓNICA DIGITAL.- Introducción. 2.- Representación de operadores lógicos. 3.- Álgebra de Boole. 3..- Operadores básicos. 3.2.- Función lógica

Más detalles

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales.

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Introducción Por qué La Geometría? La Geometría tiene como objetivo fundamental

Más detalles

Teoría del Juego - Juegos Combinatoriales Imparciales

Teoría del Juego - Juegos Combinatoriales Imparciales Teoría del Juego - Juegos Combinatoriales Imparciales Carlos Gámez Taller de Resolución de Problemas Escuela de Matemática Universidad de El Salvador Estudio de Casos Esquema Introducción Juegos de Agarrar

Más detalles

Matrices Invertibles y Elementos de Álgebra Matricial

Matrices Invertibles y Elementos de Álgebra Matricial Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices

Más detalles

PROPORCIONALIDAD - teoría

PROPORCIONALIDAD - teoría PROPORCIONALIDAD RAZÓN: razón de dos números es el cociente indicado de ambos. Es decir, la razón de los dos números a y b es a:b, o lo que es lo mismo, la fracción b a. PROPORCIÓN: es la igualdad de dos

Más detalles

Hoja1!C4. Hoja1!$C$4. Fila

Hoja1!C4. Hoja1!$C$4. Fila CAPÍTULO 6......... Cálculo y funciones con Excel 2000 6.1.- Referencias De Celdas Como vimos con anterioridad en Excel 2000 se referencian las celdas por la fila y la columna en la que están. Además como

Más detalles

REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS

REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS SUMA REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS NÚMEROS NATURALES (N) 1. Características: Axiomas de Giuseppe Peano (*): El 1 es un número natural. Si n es un número natural, entonces el sucesor (el siguiente

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS Unidad 6: Polinomios con coeficientes enteros. Al final deberás haber aprendido... Expresar algebraicamente enunciados sencillos. Extraer enunciados razonables

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

COLEGIO APUNTES ACCESS

COLEGIO APUNTES ACCESS COLEGIO APUNTES ACCESS Índice Introducción al Access... 3 Conocimientos básicos... 6 Tablas... 7 Formularios... 10 Consultas... 12 Consultas de eliminación... 15 Consulta de actualización... 15 Informes...

Más detalles

Matemáticas para la Computación

Matemáticas para la Computación Matemáticas para la Computación José Alfredo Jiménez Murillo 2da Edición Inicio Índice Capítulo 1. Sistemas numéricos. Capítulo 2. Métodos de conteo. Capítulo 3. Conjuntos. Capítulo 4. Lógica Matemática.

Más detalles

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN Ejercicio 1. Diseñar una planilla EXCEL que tome como dato de entrada un número entero y devuelva la representación en base 2. Testearla con los números 23, 245, 673,

Más detalles

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut Este texto intenta ser un complemento de las clases de apoyo de matemáticas que se están realizando en la

Más detalles

Tema 3. Espacios vectoriales

Tema 3. Espacios vectoriales Tema 3. Espacios vectoriales Estructura del tema. Definición y propiedades. Ejemplos. Dependencia e independencia lineal. Conceptos de base y dimensión. Coordenadas Subespacios vectoriales. 0.1. Definición

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases

Más detalles

TEMA 3: EN QUÉ CONSISTE?

TEMA 3: EN QUÉ CONSISTE? Módulo 7 Sesión 3 5/16 TEMA 3: EN QUÉ CONSISTE? La metodología seguida para aplicar correctamente la técnica de RGT se basa en cuatro fases (Figura 1). En la primera de ellas, se seleccionan los elementos

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

Ejercicios de Programación Lineal

Ejercicios de Programación Lineal Ejercicios de Programación Lineal Investigación Operativa Ingeniería Informática, UCM Curso 8/9 Una compañía de transporte dispone de camiones con capacidad de 4 libras y de 5 camiones con capacidad de

Más detalles

Fórmulas y funciones

Fórmulas y funciones Fórmulas y funciones Uso de fórmulas Las fórmulas son el corazón y el alma de la hoja de cálculo. Si no las necesitáramos sería lo mismo que trabajáramos en un procesador de textos. Excel 2007 ofrece un

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Trabajar con tablas Las tablas permiten organizar la información y crear atractivos diseños de página con columnas paralelas de texto y gráficos. Las tablas pueden utilizarse para alinear números en columnas

Más detalles

Relaciones entre conjuntos

Relaciones entre conjuntos Relaciones entre conjuntos Parejas ordenadas El orden de los elementos en un conjunto de dos elementos no interesa, por ejemplo: {3, 5} = {5, 3} Por otra parte, una pareja ordenada consiste en dos elementos,

Más detalles

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano.

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano. UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano. EL PLANO CARTESIANO. El plano cartesiano está formado

Más detalles

Los elementos que usualmente componen la identidad digital son:

Los elementos que usualmente componen la identidad digital son: Enero 2016 Programa Civismo Digital - Escolar Material Educativo Lección: TU IDENTIDAD EN INTERNET v. 1.0 Topico: Alfabetización Digital, Huella Digital Objetivo: Fomentar en los alumnos la importancia

Más detalles

Fórmulas y funciones

Fórmulas y funciones 05... Fórmulas y funciones En este tema vamos a profundizar en el manejo de funciones ya definidas por Excel, con el objetivo de agilizar la creación de hojas de cálculo, estudiando la sintaxis de éstas

Más detalles

6. VECTORES Y COORDENADAS

6. VECTORES Y COORDENADAS 6. VECTORES Y COORDENADAS Página 1 Traslaciones. Vectores Sistema de referencia. Coordenadas. Punto medio de un segmento Ecuaciones de rectas. Paralelismo. Distancias Página 2 1. TRASLACIONES. VECTORES

Más detalles

VECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define.

VECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define. VECTORES El estudio de los vectores es uno de tantos conocimientos de las matemáticas que provienen de la física. En esta ciencia se distingue entre magnitudes escalares y magnitudes vectoriales. Se llaman

Más detalles

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente. 1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).

Más detalles

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁCTICAS DE GESTIÓN GANADERA: PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta

Más detalles

Módulo 2: Expresiones polinómicas. Factorización

Módulo 2: Expresiones polinómicas. Factorización CURSO DE NIVELACIÓN Apunte teórico - práctico Módulo 2: Expresiones polinómicas. Factorización 1 FACTORIZACIÓN Una expresión polinómica es (justamente) una expresión formada por sumas y restas de términos,

Más detalles

e-conocimiento Manual de uso

e-conocimiento Manual de uso 2 Índice 1. Qué es e-conocimiento?... 3 Web del I+CS... 3 Web de los profesionales... 4 2. Cómo puedo acceder a la Web de los profesionales?... 6 3. Qué puedo encontrar en la Web de los profesionales?...

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Vamos a ver los principales conceptos básicos que debemos

Vamos a ver los principales conceptos básicos que debemos 1. LIBROS Y HOJAS EN EXCEL Vamos a ver los principales conceptos básicos que debemos tener en cuenta a la hora de trabajar con los documentos de Excel. Antes que nada, veremos la manera de organizar las

Más detalles

Informática Bioingeniería

Informática Bioingeniería Informática Bioingeniería Representación Números Negativos En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo. Sin embargo, en una computadora,

Más detalles

Programación Lineal. Ficha para enseñar a utilizar el Solver de EXCEL en la resolución de problemas de Programación Lineal

Programación Lineal. Ficha para enseñar a utilizar el Solver de EXCEL en la resolución de problemas de Programación Lineal Programación Lineal Ficha para enseñar a utilizar el Solver de EXCEL en la resolución de problemas de Programación Lineal Ejemplo: Plan de producción de PROTRAC En esta ficha vamos a comentar cómo se construyó

Más detalles

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia

Más detalles

Lógica Proposicional IIC2212. IIC2212 Lógica Proposicional 1 / 56

Lógica Proposicional IIC2212. IIC2212 Lógica Proposicional 1 / 56 Lógica Proposicional IIC2212 IIC2212 Lógica Proposicional 1 / 56 Inicio de la Lógica Originalmente, la Lógica trataba con argumentos en el lenguaje natural. Ejemplo Es el siguiente argumento válido? Todos

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Instrucciones para la familiarización de los alumnos con el instrumento de evaluación de EECL (ES)

Instrucciones para la familiarización de los alumnos con el instrumento de evaluación de EECL (ES) Instrucciones para la familiarización de los alumnos con el instrumento de evaluación de EECL (ES) Índice 1 INTRODUCCIÓN 3 2 REALIZACIÓN DE LAS PRUEBAS 3 2.1 Entrada al sistema 3 2.2 Prueba de sonido para

Más detalles

Divisibilidad y números primos

Divisibilidad y números primos Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos

Más detalles

EMPLEO NTIC`S II SEGUNDO SEMESTRE

EMPLEO NTIC`S II SEGUNDO SEMESTRE UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE CONTABILIDAD Y AUDITORIA EMPLEO NTIC`S II SEGUNDO SEMESTRE Ing. Luz Perez SEMESTRE MARZO JULIO 2009 EXCEL Excel es un programa del tipo Hoja de Cálculo que permite

Más detalles

Instructivo de Microsoft Excel 2003

Instructivo de Microsoft Excel 2003 Instructivo de Microsoft Excel 2003 El presente instructivo corresponde a una guía básica para el manejo del programa y la adquisición de conceptos en relación a este utilitario. Que es Microsoft Excel?

Más detalles

Lección 24: Lenguaje algebraico y sustituciones

Lección 24: Lenguaje algebraico y sustituciones LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce

Más detalles

Módulo II - PowerPoint

Módulo II - PowerPoint Módulo II - PowerPoint Índice Copiando diapositivas Menú Edición... 2 Copiando diapositivas utilizando la barra de herramientas... 3 Copiando diapositivas utilizando el menú contextual... 3 Copiando diapositivas

Más detalles

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO Identifica los tipos de datos y funciones - Tipos de Datos: Excel soporta 5 tipos de datos, estos son: a) Numéricos: Están formados por cualquiera de los 10 dígitos (del 0 al 9) y pueden estar acompañados

Más detalles

Operaciones con polinomios

Operaciones con polinomios Operaciones con polinomios Los polinomios son una generalización de nuestro sistema de numeración. Cuando escribimos un número, por ejemplo, 2 354, queremos decir: 2 354 = 2 000 + 300 + 50 + 4 = 2)1 000)

Más detalles

INSTITUTO VALLADOLID PREPARATORIA página 57

INSTITUTO VALLADOLID PREPARATORIA página 57 INSTITUTO VALLADOLID PREPARATORIA página 57 página 58 RESTA DE FRACCIONES RESTA La resta de fracciones está basada, por ser el inverso de la operación suma, en las mismas reglas y leyes de la suma, es

Más detalles

2.1 Funcionamiento del MPLS

2.1 Funcionamiento del MPLS Capítulo 2 MPLS Básico En este capítulo se va a hablar sobre el funcionamiento de las redes MPLS para su mayor comprensión. Se habla sobre la red MPLS en general y las versatilidades que este tiene. También

Más detalles

Profr. Efraín Soto Apolinar. Números reales

Profr. Efraín Soto Apolinar. Números reales úmeros reales En esta sección vamos a estudiar primero los distintos conjuntos de números que se definen en matemáticas. Después, al conocerlos mejor, podremos resolver distintos problemas aritméticos.

Más detalles

Una desigualdad se obtiene al escribir dos expresiones numéricas o algebraicas relacionadas con alguno de los símbolos

Una desigualdad se obtiene al escribir dos expresiones numéricas o algebraicas relacionadas con alguno de los símbolos MATEMÁTICAS BÁSICAS DESIGUALDADES DESIGUALDADES DE PRIMER GRADO EN UNA VARIABLE La epresión a b significa que "a" no es igual a "b ". Según los valores particulares de a de b, puede tenerse a > b, que

Más detalles

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows 1 APUNTES DE WINDOWS Unidad 1: Windows y sus Elementos Elementos de Windows Escritorio: Es la pantalla que aparece cuando se inicia una sesión con Windows, desde aquí es de donde se administra el computador.

Más detalles

La suma y la resta. Introducción. Capítulo

La suma y la resta. Introducción. Capítulo Capítulo II La suma y la resta Introducción En el capítulo anterior, vimos que los números permiten expresar la cantidad de objetos que tiene una colección. Juntar dos o más colecciones, agregar objetos

Más detalles

PROYECTO EDUCATIVO LA CALERA

PROYECTO EDUCATIVO LA CALERA Introducción a Excel2000. Es una de las planillas de cálculo, más utilizadas en todo el mercado informático - ahora con la novedosa versión de Excel2000 incorpora un conjunto de características nuevas

Más detalles

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

a < b y se lee a es menor que b (desigualdad estricta) a > b y se lee a es mayor que b (desigualdad estricta) Desigualdades Dadas dos rectas que se cortan, llamadas ejes (rectangulares si son perpendiculares, y oblicuos en caso contrario), un punto puede situarse conociendo las distancias del mismo a los ejes,

Más detalles

NÚMEROS RACIONALES Y DECIMALES

NÚMEROS RACIONALES Y DECIMALES NÚMEROS RACIONALES Y DECIMALES Unidad didáctica. Números racionales y decimales CONTENIDOS Fracciones Fracciones equivalentes Amplificar fracciones Simplificar fracciones Representación en la recta numérica.

Más detalles

Microsoft Excel 2003. Unidad 6. La Hoja de Cálculo

Microsoft Excel 2003. Unidad 6. La Hoja de Cálculo Microsoft Excel 2003 Unidad 6. La Hoja de Cálculo Las hojas de cálculo son aplicaciones informáticas que se suelen incluir con frecuencia dentro de conjuntos de programas más amplios destinados normalmente

Más detalles

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES 1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS

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