You are on page 1of 5

AUTOMATAS Y COMPILADORES

----------------------------------------------------------------------------------------------------------
Ejercicios
1. Escribir 3 ejemplos de cadenas pertenecientes a los lenguajes definidos por cada una de las
siguientes expresiones regulares:
a) (0|1)*00(0|1)*
{0,1}*00{0,1}*
S={0,1}
S2={0,1}{0,1}={00,01,10,11}
S3= {S^2} {S}={00,01,10,11} {0,1}={000, 010,100,110,001,011,101,111}
S*={e,0,1,00,01,10,11,000,010,100,110,001,011,101,111}

V={000,001}
V2={000,001}{000,001}={000000,000001,001000,001001}
V3={000000,000001,001000,001001}{000,001}={000000000,001000000,…………}
V*={e,000,001,000000,000001,001000,001001,000000000,001000000,…………}

{e,0,1,00,01,10,11,…}{000,001}*
{e,0,1,00,01,10,11,…}{e,000,001,000000,000001,001000,001001,…}
{e,000,001,000000,000001,001000,001001,…,0,0000,0001,0000000,0000001,0001000
,0001001,…,1,1000,1001,1000000,1000001,1001000,1001001,…,00,00000,00001,00000
000,00000001,00001000,00001001,…,01,01000,01001,01000000,01000001,01001000,
01001001,…}

b) (a*|ba|b)+
{e,a,aa,…,ba,b}+
S={e,a,aa,…,ba,b}
S2={e,a,aa,…,ba,b}{e,a,aa,…,ba,b}={e,a,aa,…,ba,b,a,aa,aaa,…,aba,ab,aa,aaa,aaaa,…,aaba,aab
,…,ba,baa,baaa,…,baba,bab,b,ba,baa,…,bba,bb}
S3={e,a,aa,…,ba,b,a,aa,aaa,…,aba,ab,aa,aaa,aaaa,…,aaba,aab,…,ba,baa,baaa,…,baba,bab,b,
ba,baa,…,bba,bb}{e,a,aa,…,ba,b}={e,a,aa,…,ba,b,a,aa,aaa,…,aba,ab,aa,aaa,aaaa,…,aaba,aab,
…,ba,baa,baaa,…,baba,bab,b,ba,baa,…,bba,bb,...}

S+={a,aa,…,ba,b,aa,aaa,…,aba,ab,aaa,aaaa,…,aaba,aab,baa,baaa,…,baba,bab,ba,baa,…,bba,b
b,…}

c) (0(0|1)+1 | 1(1|0)*0)

(0{0,1}+1 | 1{1,0}*0)
(0{0,1,00,01,10,11,…….}1 | 1{e,1,0,11,10,01,00,….…}0)
({00,01,000,001,010,011,…….}1 | {1,11,10,111,110,101,100,……}0)
({001,011,0001,0011,0101,0111,……} | {10,110,100,1110,1100,1010,1000,……})
{00110,001110,001100,0011110,0011100,0011010,0011000,…,01110,011110,011100,011111
0,0111100,0111010,0111000,…,000110,0001110,0001100,00011110,00011100,00011010,0
0011000,…}
AUTOMATAS Y COMPILADORES
----------------------------------------------------------------------------------------------------------

d) (1+(0|1)*2)+

({1,11,…}{0,1}*2)+
({1,11,…}{e,0,1,00,01,10,11,...}2)+
({1,10,11,100,101,110,111,…,11,110,111,1100,1101,1110,1111,…}2)+
({12,102,112,1002,1012,1102,1112,…,112,1102,1112,11002,11012,11102,11112,…})+
{12,102,112,1002,1012,1102,1112,…,112,1102,1112,11002,11012,11102,11112,…,1212,12102,
12112,121002,121012,121102,121112,…,12112,121102,121112,1211002,1211012,1211102,12
11112,…}

e) x(x|y)+z | yx*y

x{x,y}+z | y{e,x,xx,………}y
x{x,y,xx,xy,yx,yy,………..}z | {y,yx,yxx,………..}y
{xx,xy,xxx,xxy,xyx,xyy,……….}z | {yy,yxy,yxxy,………..}
{xxz,xyz,xxxz,xxyz,xyxz,xyyz,…….} | {yy,yxy,yxxy,………}
{xxz,xyz,xxxz,xxyz,xyxz,xyyz,…….,yy,yxy,yxxy,……..}

f) (ba)*((a|b)(b|aa))+

{e,ba,baba,…}({a,b}{b,aa})+
{e,ba,baba,…}({ab,aaa,bb,baa})+
{e,ba,baba,…}{ab,aaa,bb,baa,abab,abaaa,abbb,abbaa,aaaab,aaaaaa,aaabb,aaabaa,…}
{ab,aaa,bb,baa,abab,abaaa,abbb,abbaa,aaaab,aaaaaa,aaabb,aaabaa,…,baab,baaaa,babb,b
abaa,baabab,baabaaa,baabbb,baabbaa,baaaaab,baaaaaaa,baaaabb,baaaabaa,…}

2. Determinar en cada caso si las cadenas pertenecen al lenguaje descrito por la expresión
regular:
a) 10100010  (0*10)*

({e,0,00,…………}10)*
({10,010,0010,………})*
S1={10,010,0010,………}
S2={1010,10010,100010,…….,01010,010010,010,0010,………}
S3={101010,1010010,10100010,……….} LA CADENA 10100010 SI ESTA DENTRO DE LA
EXPRESION REGULAR

b) 011100  (0|(11)*)*

(0|{e,11,1111,…})*
({0,e,11,1111,…})*
S1={e,0,11,1111,…}
S2={e,0,11,1111,…,0,00,011,01111,…,110,11,1111,111111,…}
S3={0,00,110,11110,...,000,00,0011,001111,…,1100,110,11110,1111110,…,}
AUTOMATAS Y COMPILADORES
----------------------------------------------------------------------------------------------------------
S4={0,00,011,…} LA CADENA 011100 NO ESTA DENTRO DE LA EXPRESION REGULAR

c) 000111100  ((011|11)*(00)*)*
({011,11}*{e,00,0000,…})*
({e,011011,01111,…}{e,00,0000,…})*
{e,00,…,011011,…,01111,0111100,…}*
S1={e,00,..,011011,…,01111,0111100,..}
S2={00,…} LA CADENA 000111100 SI ESTA DENTRO DE LA EXPRESION REGULAR

d) 011100101  01*10*(11*0)*
{e,01,0101,…}{e,10,1010,…}({e,11,1111,…}0)*
{e,10,1010,…,01,0110,011010,…0101,010110,011010,…}{0,110,11110,…}*
S1={e,0,110,11110,…,100,10110,1011110,…,10100,1010110,101011110,…} LA CADENA
011100101 NO ESTA DENTRO DE LA EXPRESION REGULAR

3. Escribir expresiones regulares que denoten los siguientes lenguajes definidos sobre Σ = {0,
1, …, 9, +, -, e, E, . }
a) Números naturales = [0-9]*
b) Números naturales que no contengan dos o más ceros al principio: 0, 10, 121,…
c) Números pares. –?[0-9]*[0,2,4,6,8]
d) Números impares. –?[0-9]*[1,3,5,7,9]
e) Números reales con formato de punto fijo: 2.343, -12.0, +12.02, 0.0001, 505.00,...
f) Números reales con formato de punto flotante: -323.3e+7, 0.3E-12,...
g) Números reales con formato de punto fijo o con formato de punto flotante.
h) Números reales con formato de punto fijo o con formato de punto flotante pero que no
tengan ceros superfluos, es decir,
 son permitidos los números del tipo 0.0, 132.0, 0.526, 1203.0494,
 pero no son permitido los números de la forma 00.12, 124.000, 001.7270, 52.7002

4. Escribir expresiones regulares que definan los lenguajes definidos sobre Σ = {0, 1}:
a) Cadenas: 101, 1001, 10001, 100001,… = 1{0}+1
b) Cadenas que terminan con 110 = {0,1}*{110}
c) Cadenas que empiezan con 011 o terminan con 110 = ({011}{0,1}* | {0,1}*{110})
d) Cadenas que contienen la subcadena 101 = {0,1}*{101}{0,1}*
e) Cadenas que contienen la subcadena 01 y la subcadena 10
f) Cadenas donde cada 0 esta precedido y seguido por un 1.
g) Cadenas que tienen una secuencia impar de 0s y una secuencia par de 1s
h) Cadenas que terminan con 1 y no contiene la subcadena 00
i) Cadenas que no contienen a la subcadena 01
j) Cadenas que no contienen ni la subcadena 00 ni la subcadena 11
AUTOMATAS Y COMPILADORES
----------------------------------------------------------------------------------------------------------
5. Describir los lenguajes denotados por las siguientes expresiones regulares
a) (0|10)* =
{e,0,10,00,010,100,1010,000,0010,0100,01010,…}
Cadena que cada 1 lo precede un 0 =

b) (00*1)*
({e,00,0000,…}1)*
{1,001,00001,…}*
Cadena que termina en 1 y contiene la subcadena 00
c) (1 | 00)*
{1,00}*
{e,1,00,11,100,001,0000,111,1100,1001,10000,….}
Cadena que termina en 1 y en 0, contiene la subcadena 00 y su respectiva cadena
vacía

d) (1 | ) (00)*1+
({1,e}) (00)*1+
{1,e}{e,00,0000,000000,..}1+
{1.e}{e,00,0000,000000,..}{1,11,111,…}
{1,e}{1,11,111,….,001,00001,0000001,…,00001,000011,000000111,….,0000001,00000011,
000000111,….}
{11,111,1111,….,0011,000011,00000011,…,000011,0000111,0000001111,….,00000011,0000
00111,0000001111,….,
1,11,111,….,001,00001,0000001,…,00001,000011,000000111,….,0000001,00000011,0000
00111,….}
Cadena que termina en 1
e) ((a*a)b)|b
({e,a,aa,aaa,..}a)b)|b
({a,aa,aaa,aaaa,…}b)|b
{ab,aab,aaab,aaaab,….}|b
{a.b.aab.aaab.aaaab,…}
Cadena que termina en b

6. Escribir cinco cadenas de longitud ≥ 6 pertenecientes al lenguaje que definen las siguientes
expresiones regulares:
a) (10)*|(01)*
{101010,10101010,1010101010,010101,01010101}
b) (10 | 01)*
{101010,101001,100110,100101,011010}

c) (11 | 0)*(00 | 1)*


{11,0}*{00,1}*
{e,11,0,1111,110,011,00,…}{e,00,1,0000,001,100,11,…}
{e,11,0,1111,110,011,00,…}{e,00,1,0000,001,100,11,…}

{110000,111100,11110000,1111001,11111,}
AUTOMATAS Y COMPILADORES
----------------------------------------------------------------------------------------------------------

d) (1 | 01 | 001)*(λ | 0 | 00)
{1,01,001}*{e,0,00}
{e,1,01,001,11,101,1001,011,0101,01001,0011,00101,001001,…,e,0,00}

{001001,010010,001010,0010010,100100}

You might also like