This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PROBLEMAS UNIDAD 1 Y 2 NOTA: Todos los trabajos podrían exponerse, por tanto deben realizarlos en un formato de exposición (PDF, PPT, etc.). NO SE DEBEN PEGAR IMÁGENES cuyo contenido sean los ejercicios resueltos. SECCIÓN A): 1.- Investigar las ER del lenguaje de programación de su preferencia, al menos para:
Estructuras condicionales
Estructuras de control y/o repetitivas
Identificadores (Variables, Constantes)
Tipos de Datos definidos por los usuarios. 2.- Construir la ER para el comando findstr del Sistema Operativo DOS, al menos para 20 llamadas del comando que sean validas.
Representar, mediante una expresión regular, los siguientes lenguajes:
6) Considerando que Σ= {a}, el lenguaje formado por cadenas de a’s de longitud par. (a2)+
7) Considerando que Σ= {a}, el lenguaje formado por cadenas de a’s de longitud impar. a(a2)*
8) Considerando que Σ= {a, b}, el lenguaje formado por cadenas de a’s y b´s, de longitud impar, en las que se van alternando los dos sımbolos, es decir, nunca aparece el mismo símbolo dos veces seguidas. Por ejemplo: abababa o bab.
b(ab)+| a(ba)+
Dadas las siguientes expresiones regulares escribir, para cada una de ellas, una
palabra que pertenezca al lenguaje que la expresión representa y otra que no pertenezca a dicho lenguaje.
24) El conjunto de todas las cadenas formadas por ceros y unos tales que cada pareja de 0s adyacentes aparece antes que cualquier pareja de 1s adyacentes.
00(01)+11|00(10)+11|00(1|0)*11
25) El conjunto de todas las cadenas formadas por ceros y unos que contienen 101 como subcadena.
(01)*101(01)* |(10)*101(10)* |(1|0)*101(1|0)*
26) El conjunto de todas las cadenas formadas por ceros y unos cuyo número de ceros
es divisible por cinco y cuyo número de unos es par.
L (0*1*)= { ε , 1, 11, 111,…,1n, 0, 01, 011, 0111,…,01n, 00, 001, 0011, 00111,…,001n, 000, 0001, 00011, 000111,…,0001n, 0n, 0n1, 0n11, 0n111,…, 0n1n } donde 𝒏 ≥ 𝟒; 𝒏 ∈ ℤ+ Todas las cadenas de 0’s, 1’s y combinación de 0’s con 1’2 que tengan como subcadena 000.
29) (0 U 10)*1* L (0) = {0} L (10)= {1} · {0} = {10} L (1)= {1}
L (1*)= { ε , 1, 11, 111,…,1n} donde 𝒏 ≥ 𝟒; 𝒏 ∈ ℤ+ L (0U10)= {0} U {10} = {0, 10}
números+)))+) ) { TiposDeDatos| Mostrar+ | Capturar+ | IF | SubFor } SECCIÓN B): Simplificar las siguientes ER:
i. (𝛆 ∪ 𝐚𝐛)∗ Aplicando teorema 9.5
(ε U ab)* Ξ (ab)* De acuerdo con el teorema 9 r*=( ε U r)* Por tanto (ε U ab)* = (ab)*
ii. 𝐚(𝛆 ∪ 𝐚𝐚)∗𝐚 ∪ 𝛆
Aplicando teorema 9.5
a(ε U aa)*a U ε Ξ a(aa)*a U ε Aplicando teorema 11
a(aa)*a U ε Ξ (aa)*aa U ε Aplicando teorema 15.2
(aa)*aa U ε Ξ (aa)+ U ε Aplicando teorema 1
(aa)+ U ε Ξ ε U (aa)+
Aplicando teorema 9.16
ε U (aa)+ Ξ (aa)*
iii. (𝐚 ∪ 𝛆)𝐚∗𝐛 Aplicando teorema 9.7
(a U ε)a*b Ξ a*b De acuerdo al teorema 9 (r U ε) r* = r* Por tanto (a U ε) a*b = a*b
iv. (((𝐚∗𝐚)𝐛) ∪ 𝐛)
Aplicando teorema 15.2 (((a*a)b) U b) Ξ ((a+b) U b) Aplicando el teorema 15 r+ = r*r Por tanto (((aa*)b) U b) = ((a+b) U b) = (a+b) U b
v. (𝛆 ∪ 𝐚𝐚)(𝛆 ∪ 𝐚𝐚)∗ Aplicando teorema 9.5
(ε U aa) (ε U aa)* Ξ (ε U aa)(aa)* Aplicando teorema 1
(ε U aa)(aa)* Ξ (aa U ε)(aa)* Aplicando teorema 9.7
(aa U ε)(aa)* Ξ (aa)* Aplicando el teorema 15 r+ = rr* (ε U aa)( ε U aa)* = (ε U aa)+
Teorema 9.15 r*= (ε U r)+
(ε U aa)+ = (aa)+
Ahora aplicando el teorema 9 r*=( ε U r)* (ε U aa)( ε U aa)* = (ε U aa)aa* Teorema 8 r(sUt) = rs U rt
(ε U aa)aa* = (εaa* U aaaa*) Teorema 9 r+ = rr* & Teorema 3 εr = r (aa* U aa+) Y como aa* contiene las cadenas de aa+, tenemos que: (aa* U aa+) = aa*
vi. (𝐚𝐚)∗𝐚 ∪ (𝐚𝐚)∗ Aplicando teorema 8.1
(aa)*a U (aa)* Ξ (aa)* (a U ε) Aplicando el Teorema 8 r(sUt) = rs U rt (aa)*a U (aa)* = (aa)*(a U ε)
vii. (𝐚 ∪ 𝐛)∗𝐚(𝐚 ∪ 𝐛)∗ Aplicando teorema 10.3 (a U b)*a(a U b)* Ξ (a*b*)*a(a*b*)* Aplicando Teorema 10 (r U s)* = (r*s)*r* = r*(sr*)* (a u b)* a (a U b)* = (a*b)* a* a a* (ba*)* Aplicando el teorema 15 rr* = r+ (a*b)* a* a a* (ba*)* = (a*b)* a* a+ (ba*)* Aplicando el teorema 15 r+ r* = r+ (a*b)* a* a+ (ba*)* = (a*b)* a+ (ba*)*
viii. 𝐚(𝛆 ∪ 𝐚𝐚)∗(𝛆 ∪ 𝐚𝐚) ∪ 𝐚
Aplicando teorema 9.5
a(ε U aa)*(ε U aa) U a Ξ a(aa)*(ε U aa) U a Aplicando teorema 1
a(aa)*(ε U aa) U a Ξ a(aa)*(aa U ε) U a Aplicando teorema 9.6
a(aa)*(aa U ε) U a Ξ a(aa)* U a Aplicando teorema 2 a(aa)*
ix. ⦰∗ ∪ 𝐚∗ ∪ 𝐛∗ ∪ (𝐚∗ ∪ 𝐛∗)+ Aplicando teorema 5 Ø* U a* U b* U (a* U b*)+ Ξ a* U b* U (a* U b*)+ Aplicando teorema 15.1 a* U b* U (a* U b*)+ Ξ a* U b* U (a* U b*)(a* U b*)*
Aplicando teorema 2 a* U b* U (a* U b*)(a* U b*)* Ξ (a* U b*)(a* U b*)* Aplicando teorema 15.3 (a* U b*)(a* U b*)* Ξ (a* U b*)+
x. ((𝐚∗𝐛∗)∗(𝐛∗𝐚∗)∗)
Aplicando teorema 10 (a U b)*(b U a)* Aplicando el teorema 10 ((a*b*)* (b*a*)*) = (a b)* (b a)*
SECCIÓN C): Interprete en Lenguaje Natural el significado o patrón de cada una de las siguientes ER:
i. (𝟎𝟎)∗ Lenguaje formado por la cadena vacía y las cadenas de 2 0’s consecutivamente. L (0)= {0} L (00)= L (0) · L (0) = {00}
L (00) += (L (0) · L (0))* = {00}* = { ε, 00, 0000, 000000, … , 00n| 𝒏 ≥ 𝟒; 𝒏 ∈ ℤ+} Otra manera de explicarlo. Sería todas las potencias desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '00'
Donde la potencia de una cadena sería como las concatenaciones de la cadena '00' con la cadena '00' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(00)0 = ε
(00)1 = 00 (00)0 = 00
(00)2 = 00 (00)1 (00)0 = 0000
Y así consecutivamente… Dando como resultado
L*(00) = { ε,00,0000,000000,…}
ii. 𝟎∗𝟏∗ Lenguaje formado por la cadena vacía, por todas las combinaciones de 1’s, de 0’s y concatenación de 0’s con 1’s. L (1)= {1}
L (1*)= { ε, 1, 11, 111,…,1n| 𝒏 ≥ 𝟒; 𝒏 ∈ ℤ+} L (0)= {0}
Otra manera de explicarlo. Sería todas las potencias desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '0'
Donde la potencia de una cadena sería como las concatenaciones de la cadena '0' con la cadena '0' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0. Todo lo anterior concatenado con
todas las potencias desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '1'
Donde la potencia de una cadena sería como las concatenaciones de la cadena '1' con la cadena '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(0)1 = 0 (0)0 = 0
(0)2 = 0 (0)1 (0)0 = 00
Y así consecutivamente…
Concatenado con
(1)0 = ε
(1)1 = 1 (1)0 = 1
(1)2 = 1 (1)1 (1)0 = 11
Y así consecutivamente… Dando como resultado
L= { εε, ε1,0ε,01,001,0001,0000…1,011,0111,0111…, 000…111..} donde los puntos significan posibles secuencias más del elemento sea 1 o 0.
iii. 𝟏(𝟎│𝟏)∗ Lenguaje formado por la cadena 1, y todas las cadenas de 0’s y 1’s que empiecen con 1. L (0)= {0} L (1)= {1} L (0|1) = {0,1}
Otra manera de explicarlo. Sería el elemento 1 concatenado con (0|1)* que son todas las potencias
desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '0' o '1'.
Donde la potencia de una cadena sería las concatenaciones de la cadena '0' o '1' con la cadena '0' o '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(1)0 = ε
(0 o 1)1 = ( 0 o 1)(0 o 1)0 = 0 o 1
(0 o 1)2 = 0 o 1 (0 o 1)1 (0 o 1)0 = 00 o 01 o 10 o 11
Y así consecutivamente…
Y como el elemento 1 se concatena con estas posibles combinaciones, quedaría de la siguiente manera.
Otra manera de explicarlo. Sería todas las potencias desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '0' o '1'.
Donde la potencia de una cadena sería las concatenaciones de la cadena '0' o '1' con la cadena '0' o '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(1)0 = ε
(0 o 1)1 = ( 0 o 1)(0 o 1)0 = 0 o 1
(0 o 1)2 = 0 o 1 (0 o 1)1 (0 o 1)0 = 00 o 01 o 10 o 11
Y así consecutivamente…
Todos estos elementos y los posibles concatenados con la cadena '00', quedando de la siguiente manera:
L = { ε00,000,100,0000,0100,1000,1100,…}
v. (𝟎│𝟏)∗𝟏𝟎(𝟎│𝟏)∗ Lenguaje formado por todas las combinaciones de 0’s con 1’s. L (0)= {0} L (1)= {1} L (10) = {10} L (0|1) = {0,1}
Otra manera de explicarlo. Sería todas las potencias desde la 0 hasta n donde 𝒏 ∈ ℤ+ para la cadena '0' o '1'. Donde la potencia de una cadena sería las concatenaciones de la cadena '0' o '1' con la cadena '0' o '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(1)0 = ε
(0 o 1)1 = ( 0 o 1)(0 o 1)0 = 0 o 1
(0 o 1)2 = 0 o 1 (0 o 1)1 (0 o 1)0 = 00 o 01 o 10 o 11
Y así consecutivamente…
Esto concatenado con la cadena '10' para cada elemento resultante.
Y todo lo anterior concatenado nuevamente con todas las potencias desde la 0 hasta n donde para la cadena '0' o '1'. Donde la potencia de una cadena sería las concatenaciones de la cadena '0' o '1' con la cadena '0' o '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(1)0 = ε
(0 o 1)1 =( 0 o 1)(0 o 1)0 = 0 o 1
(0 o 1)2 = 0 o 1 (0 o 1)1 (0 o 1)0 = 00 o 01 o 10 o 11
1m01m0110, 1m01m0111,…, 1m01m{0,1}n } donde 𝒏 ≥ 𝟒; 𝒏 ∈ ℤ+ y 𝒎 ≥ 𝟐; 𝒎 ∈ ℤ+ Otra manera de explicarlo. Sería todas las posibles series de la cadena '1' y ε (potencias de la cadena 1), ejemplo { ε,1,11,111,1111,11111…}.
Concatenadas con todas las posibles series de la cadena '01' y ε(potencias de la cadena 01),
ejemplo { ε,01,0101,010101,01010101..}.
Concatenadas con la cadena '0'.
Todo lo anterior concatenado con todas las potencias desde la 0 hasta n donde para la cadena '0' o '1'.
Donde la potencia de una cadena sería las concatenaciones de la cadena '0' o '1' con la cadena '0' o '1' las veces que especifique n, pero siendo la cadena vacía ε cuando n=0.
Siendo así entonces.
(0)0 = ε
(1)0 = ε
(0 o 1)1 =( 0 o 1)(0 o 1)0 = 0 o 1
(0 o 1)2 = 0 o 1 (0 o 1)1 (0 o 1)0 = 00 o 01 o 10 o 11
SECCIÓN D): Obtener la ER de cada uno de los siguientes casos: 1.- El lenguaje L formado por todas las cadenas de 1’s (unos) y 0’s (ceros) que contenga un número de 0’s divisible entre 3. Solución. 1
Con esta solución no sería posible generar cadenas en este fragmento
(1*021*01*)+| (1*01*021*)+ Para cuando necesitemos un número arbitrario de 0´s en el primer cero (01) y un número arbitrario en el segundo cero (02), pero que estos sumados den un número que se divisible entre 3. Para esto hemos implementado la solución 2.
Para 𝒏 ∈ ℤ+. Con esta solución acepta cadenas correctas, pero siempre múltiplos de 1 y múltiplos de 2. Con potencias iguales (n). 2.- El lenguaje L formado por todas las cadenas de 1’s y 0’s que contengan a lo mucho dos ceros.
1*|1*01*|1*01*01*
3.- El lenguaje L formado por todas las cadenas de dígitos que representen un 𝒏 ∈ ℤ+ base
10 correctamente escrito. Definición regular: Digito= [1|2|3|4|5|6|7|8|9] Digito2= [0|1|2|3|4|5|6|7|8|9] Digito+·Digito2* 4.- El lenguaje L formado por todas las cadenas de 1’s y 0’s cuya longitud es múltiplo de 5.