You are on page 1of 3

Ingeniera en Sistemas Computacionales

Lenguaje y Autmatas I

ING. Romana Carolina Novelo Can


David Montiel Ramrez

ISMA 6

2.1.- Escriba expresiones regulares para los siguientes conjuntos de caracteres o explique las razones por las que no se pueden escribir expresiones regulares: a) Todas las cadenas de letras minsculas que comiencen y finalicen en a. Letra [a-z]= a Letra*a b) Todas las cadenas de letras minsculas que o comiencen o finalicen con a (o ambos). Letra [b-z]= a Letra+a c) Todas las cadenas de dgitos que no contengan ceros al principio. Digito=[1,2,3,4,5,6,7,8,9,0]= Digito+ d) Todas las cadenas de dgitos que representen nmeros pares. Nmero= *2,4,6,8,14,20,+= Nmero+ e) Todas las cadenas de dgitos tales que todos los nmeros 2 se representen antes que todos los 9. Digito=[0-9]= 2 Digito* 9 f) Todas las cadenas de a y b que no contengan tres b consecutivas. Cadena= [a,b]= not bbb Cadena g) Todas las cadenas de a y b que contenga un nmero impar de a o un nmero o un nmero impar de b (o ambos). Cadena= *a,b+, Impara*aaa.aaaaaa,aaaaaa,..+, Imparb[bbb, bbbbbb,bbbbbb,..+= Impara+Cadena*Imparb. h) Todas las cadenas de a y b que contengan un nmero par de a y un nmero par de b. Cadena= [a,b], Para[aa.aaaaaa,aaaa,..+, Parb*bb, bbbb,bbbb,..+= Para+Cadena*Parb+ i) Todas las cadenas de a y b que contengan exactamente tantas a como b. Cadena=[a,b]= Cadena+ 2.2.- Escriba descripciones en espaol para los lenguajes generados por las siguientes expresiones regulares. a) (ab)*a(ab)= (Cadena Cadena)* Cadena (Cadena Cadena Cadena) Cadena =[a,b]

b) (ABZ(abz)*= (Letra Letra Letra (Letra Letra Letra)* Letra=[A-Za-z] c) (aab)*(abb)*= (Letra Letra)*( Letra Letra)* Letra=[a,b]= Letra* d) (019ABCDEF)+(xX)= (Nmero Nmero Nmero Letra Letra Letra Letra Letra Letra)+( Letra Letra). Nmero=[0-9], Letra=[A-Za-z] 2.4.- En la definicin de las expresiones regulares describimos la procedencia de las operaciones pero no su asociatividad. Por ejemplo, no especificamos si abc significa (ab) c o a (bc), y lo mismo para la concatenacin. A que debi esto? A que al realizar las operaciones se puede tomar cualquier valor para la realizacin de dicha expresin, ya que es una sola operacin a realizar. Estas operaciones se realizan de acuerdo al valor de cada metasmbolo que se utiliza en la expresin. 2.6.- Al describir los tokens de un lenguaje de programacin utilizando expresiones regulares no es necesario tener los metasmbolos (para el conjunto vaco) o (para la cadena vaca). Expliqu por qu. Porque los metasmbolos no los reconoce el programa, y cuando se utilizan se ponen como string para que la computadora los pueda reconocer. Resuelve 1.- (ab)*c) = ,a, c, bc, bbc, bbbc,..2.- (a+b+ce+dz)= ,abc, ed, aabc, eedz, aabbc, eedzdz, ..3.- (abc)*z= ,z, abcz, abcabcz, abc.abcz,..4.- (ab) (cd)|d*= {a, b, cd, , d, dd , ddd, dddd,.Escribe la ER: 5.- L1= {abc,c, cc, abab, abccc, ababc,.} (ab)+c= *abc, ab, c, abab,.] 6.- L2={,a,b,ab,aab,abb,aaab,} (a*b*)={,a,b,ab,aab,abb,aaab,} 7.-L3={aba,aa,ab,abaaa,baa,.} (a*ba* )={ba,ab,aba,baa,abaa,baaa,..-

You might also like