Qual é a Expressão Regular que denota a linguagem L = {w ∈ {a, b, c}* | |w| deve ser ímpar}?
Exemplos de palavras válidas: a, b, c, aaa, abc, aba, abb, abcba, ...
Exemplos de palavras inválidas: ε, aa, ab, bb, abcb, bcbc, abcabc, ...
a. (a + b + c)*
b. (a + b + c)* (a + b + c)* (a + b + c)*
c. ((a + b + c) (a + b + c) (a + b + c))*
d. (a + b + c) ((a + b + c)(a + b + c))*
e. (a + b + c)* ((a + b + c) (a + b + c))*
Para se descobrir a solução da questão, é necessário produzir palavras com as expressões regulares fornecidas e verificar se alguma palavra inválida é produzida ou se uma palavra válida não pode ser produzida.
a. (a + b + c)*
A presente expressão regular produz todas as palavras possíveis sobre o alfabeto {a, b, c}, como, por exemplo, {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, ...}.
b. (a + b + c)* (a + b + c)* (a + b + c)*
A presente expressão regular produz todas as palavras possíveis sobre o alfabeto {a, b, c}, como, por exemplo, {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, ...}.
c. ((a + b + c) (a + b + c) (a + b + c))*
A presente expressão regular produz palavras inválidas, pois produz palavras que serão divisíveis por três, como, por exemplo, {ε, aaa, aab, aac, aba, aaaaaa, aaaaab, aaaaac, aaaaba, ...}.
d. (a + b + c) ((a + b + c)(a + b + c))*
A presente expressão regular produz palavras cujos tamanhos são ímpares, como, por exemplo, {a, b, c, aaa, aab, aac, aba, aaaaa, aaaab, aaaac, aaaba, ...}.
e. (a + b + c)* ((a + b + c) (a + b + c))*
A presente expressão regular produz todas as palavras possíveis sobre o alfabeto {a, b, c}, como, por exemplo, {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, ...}.