Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Implementação de Autômatos
Message
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00826506
Message ID:
00827073
Views:
22
Eu esqueci de mencionar que:
Ele quer que faça por estados...
Senão eu podia utilizar o simbolo de $ (contido / contêm)
Vou colocar um exemplo aqui:

Autômato tem que começa com "a" e termina com "b"
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
Atenciosamente,

Thiago Oliveira Ferraz

Analista de Sistemas
Universidade de Uberaba (UNIUBE) - Campus Aeroporto
Tel: 0xx(34)3319-8906
Cel: 0xx(34)9136-1260
Previous
Reply
Map
View

Click here to load this message in the networking platform