Revisión DOS


LLC, LDC, GLC, GDC, AP, APD, APDo, lemmas de bombeo






Ivan Meza

Problema 1

Con $\Sigma=\{0,1\}$, demostrar que el lenguaje $0^{2n}1^{m+1}0^{m+1}1^n$ no es regular

Dar ejemplos de cadenas

Diseñar su autómata de pila y gramática

Problema 2

Con $\Sigma=\{0,1\}$, demostrar que el lenguaje $0^n1^m$ donde $0 \le n \le m \le 2n$ no es regular

Dar ejemplos de cadenas

Diseñar su autómata de pila y gramática

Problema 3

Con $\Sigma=\{a,b,c,d\}$, demostrar que el lenguaje $w$ done comienza y terminan con el mismo símbolo no es regular

Dar ejemplos de cadenas

Diseñar su autómata de pila y gramática

Problema 4

Con $\Sigma=\{a,b,c,d\}$, demostrar que el lenguaje $w_1w_2w_1$ no es regular, donde $w_1$ y $w_2 \in \{a,b\}^*$

Dar ejemplos de cadenas

Diseñar su autómata de pila y gramática

Problema 5

Con $\Sigma=\{0,1\}$, demostrar que el lenguaje formado por cadenas con el doble de unos que de ceros no es regular

Dar ejemplos de cadenas

Diseñar su autómata de pila y gramática

Problema 6

Investigue qué es la forma Backus-Naur para gramátics libres de contexto. Haga un resúmen de no más de 200 palabras al respcto

Para su lenguaje favorito (c, java, python, etc) encuentre la especificicación BNF e identifique la parte encargada del if

Reporte esta parte y explique su funcionamiento

Problema 7

Diseñar una gramática para expresiones while en tu propio lenguaje de programación

  • Solo se pueden hacer sumas, restas y asignaciónes
  • Solo se pueden checar si una cantidad es mayor o menor que otro
  • Solo existen variables $a$, $b$ y $c$
  • No hay números
  • Puede haber varios while dentro de otro

Problema 8

Diseñar una gramática para expresiones for en tu propio lenguaje de programación

  • Solo se pueden hacer sumas, restas y asignaciónes
  • Solo se pueden checar si una cantidad es mayor o menor que otro
  • Solo existen variables $a$, $b$ y $c$
  • No hay números
  • Puede haber varios if dentro de otro
  • No hay else

Problema 9

Diseñar una gramática para expresiones do...while en tu propio lenguaje de programación

  • Solo se pueden hacer sumas, restas y asignaciónes
  • Solo se pueden checar si una cantidad es mayor o menor que otro
  • Solo existen variables $a$, $b$ y $c$
  • No hay números
  • Puede haber varios do...while dentro de otro

Problema 10

Diseñar una gramática para expresiones switch en tu propio lenguaje de programación

  • Solo se pueden hacer sumas, restas y asignaciónes
  • Solo se pueden checar si una cantidad es mayor o menor que otro
  • Solo existen variables $a$, $b$ y $c$
  • No hay números
  • No puede haber un switch dentro de otro

Problema 11

Crear un autómata de pila doble para el lenguaje $0^i1^j0^i1^j$ con $\Sigma=\{0,1\}$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Problema 12

Crear un autómata de pila doble para el lenguaje $wmwmw$ con $\Sigma=\{0,1,m\}$ y $w \in \{0,1\}^*$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Problema 13

Crear un automata de pila doble para el lenguaje $w_1mw_2mw_3$ con $\Sigma=\{0,1,m\}$, $w_i \in \{0,1\}^*$ y $|w_1| \gt |w_2| \gt |w_3|$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Problema 14

Crear un autómata de pila doble para el lenguaje $0^n1^{2m}0^{n+m}1^m$ con $\Sigma=\{0,1,m\}$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Problema 15

Crear un autómata de pila doble para el lenguaje $0^i1^j0^k$ con $\Sigma=\{0,1\}$ y $i\lt j\lt k \lt 3i$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Problema 16

Crear un autómata de pila doble para el lenguaje $0^i1^j0^i1^j0^j$ con $\Sigma=\{0,1\}$ y $i\lt j$

Proponer 5 cadenas que están en el lenguaje y otras 5 cercanas que no estén

Lenguajes, gramáticas y autómatas

Teoría de autómatas y lenguajes formales

Introduccion a la Teoria de Automatas, Lenguajes y Computacion

Teoria de automatas y lenguajes formales

Lenguajes formales y teoría de la computación

Languages And Machines: An Introduction To The Theory Of Computer Science

Licencia de Creative Commons
Revisión dos by Ivan V. Meza Ruiz is licensed under a Creative Commons Reconocimiento 4.0 Internacional License.
Creado a partir de la obra en http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/revision_dos.html.