Ed
há 2 meses
Vamos analisar a expressão regular L = x*(y+z)x(y)* e verificar quais cadeias pertencem ou não a essa linguagem. A expressão pode ser interpretada assim: - x* : zero ou mais ocorrências de 'x' - (y+z) : um símbolo que pode ser 'y' ou 'z' - x : um símbolo 'x' - (y)* : zero ou mais ocorrências de 'y' Ou seja, a cadeia deve ter: - zero ou mais 'x' no início, - seguido de um único 'y' ou 'z', - seguido de um 'x', - seguido de zero ou mais 'y'. Agora, vamos analisar cada cadeia: 1. xyxxy - Começa com 'x' (ok, x*) - Depois 'y' (ok, y+z) - Depois 'x' (ok) - Depois 'x' e 'y' (aqui, só pode ter y*, ou seja, só 'y' repetido, mas tem um 'x' extra) - Portanto, não pertence. 2. xzx - x* = 'x' (ok) - y+z = 'z' (ok) - x = 'x' (ok) - y* = vazio (ok) - Pertence. 3. xyxxy (repetida, mesma análise do item 1) - Não pertence. 4. xyxy - x* = 'x' (ok) - y+z = 'y' (ok) - x = 'x' (ok) - y* = 'y' (ok) - Pertence. 5. zx - x* = vazio (ok) - y+z = 'z' (ok) - x = 'x' (ok) - y* = vazio (ok) - Pertence. 6. xxyxy - x* = 'xx' (ok) - y+z = 'y' (ok) - x = 'x' (ok) - y* = 'y' (ok) - Pertence. Resposta final: A cadeia que não pertence à linguagem é xyxxy (aparece duas vezes na lista).
Cadastre-se ou realize login
Mais perguntas desse material