Professional Documents
Culture Documents
----------------------------------------------------------------------------------------------------------
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}
{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}