Você está na página 1de 18

SIMULADOR DE

AUTÔMATO NÃO
DETERMINÍSTICO
UFS - UNIVERSIDADE FEDERAL DE SERGIPE

Projeto simulador de autômato não determinístico


Professor: Alcides Xavier Benicasa
Disciplina: Teoria da Computação
Grupo: Gabriel, Gilmario, Magda Amaral, Igor
Data: 03/03/2018
REVISÃO DE
AUTÔMATO NÃO
DETERMINÍSTICO
AUTÔMATO NÃO DETERMINÍSTICO

Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto
aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu
texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite
seu texto aqui Digite seu texto aqui.

Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto
aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu
texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite
seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui
Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto
aqui Digite seu texto aqui Digite seu texto aqui Digite seu texto aqui Digite seu
texto aqui.
OBJETIVO DO PROJETO

Simular o funcionamento de uma


máquina não determinística.
SIMULADOR
SIMULADOR

Composto por:

❖ 4 classes: Autômato,
estado, processador,
transição;
❖ 4 classes de interface
JFrame: ViewCheckEstados,
ViewDefinirTransicoes,
ViewRun e ViewValidar;
CLASSES
CLASSES

Autômato Verifica se o estado é final e


reinicializa o autômato, zerando
seus valores; Além disso, seta os
valores de todos os estados,
transições, estados inicial e final e o
alfabeto;
Estado É setado o nome dos estados e o
id, além de retornar se o estado é
igual ou não ao que está sendo
lido;
CLASSES

Simula a leitura da palavra no


‘Autômato’ (objeto), percorrendo os
Processador ‘Estado’ (objeto). Compara o estado
atual com o caractere atual a ser
lido; Além disso, verifica se a
palavra foi toda consumida e se
chegou ao estado final;

Em caso de recursividade, ele


verifica se o caractere é aceito
naquele estado e cria uma nova
transição; Caso encontre um
caractere que não faz parte do
alfabeto, retorna false e encerra a
CLASSES

Transição Simula a transição do estado de


origem para o estado destino, além
de fazer o consumo do caractere
lido;
INTERFACE
VIEW CHECK ESTADOS

❖ Seta todos os estados e o alfabeto;


❖ O usuário entra com o estado inicial e uma tabela
é criada;
❖ São definidas as transições - conjunto de
estados, estado inicial, estado (s) final (is) e
alfabeto;
❖ Pega a coluna Table que está sendo lida e salva
em um array de objetos;
VIEW DEFINIR TRANSIÇÕES

❖ Simula o consumo da
palavra, enquanto é feita
as transições dos
estados;
VIEW RUN

❖ O usuário insere todos os estados e


símbolos do alfabeto da linguagem;
VIEW VALIDAR

❖ É feita a validação da palavra e


retorna a mensagem se ela é
aceita ou não;
VAMOS AO SIMULADOR!
Obrigado!

Você também pode gostar