LOCAL palavra, a, b, est * Estados * (1,b)=4 | Se for estado 1 e encontrar um b vai para estado 4 * Ele só finaliza com exito se o ponteiro parar em um estado que seja Final. * * Autômato: * (1,b)=4 (1,a)=2 (2,a)=2 (2,b)=3 (3,a)=2 (4,a)=4 (4,b)=4 * * Estado Final = 3 palavra = RTRIM(thisform.text1.Value) * Definindo valor de variáveis p/ análise b = LEN(palavra) est = 1 * Análise FOR a = 1 TO b DO CASE CASE est = 1 AND SUBSTR(palavra,a,a) = "a" est = 2 LOOP CASE est = 1 AND SUBSTR(palavra,a,a) = "b" est = 4 LOOP CASE est = 2 AND SUBSTR(palavra,a,a) = "a" est = 2 LOOP CASE est = 2 AND SUBSTR(palavra,a,a) = "b" est = 3 LOOP CASE est = 3 AND SUBSTR(palavra,a,a) = "a" est = 2 LOOP ENDCASE ENDFOR IF est = 3 MESSAGEBOX("Autômato Válido!") RETURN ENDIF IF est != 3 MESSAGEBOX("Autômato Não Válido!") RETURN ENDIF