Linguagens Formais e Autômatos

Boa tarde turma, preciso de ajuda por favor

Este trabalho consiste de desenvolver um autômato finito determinístico em C++. O programa
deve fazer a leitura da definição de um autômato (sempre lembrando que ele é determinístico) e em
seguida uma lista de entradas que serão apresentadas ao autômato. Para cada das entradas deve-se
imprimir ‘Aceita’ caso ao final do processamento da entrada um estado final esteja ativo, e ‘Rejeitada’
caso contrário.
O autômato será descrito como uma quíntupla. A primeira linha vai conter um inteiro n indicando
a quantidade de estados, cada estado vai ser identificado de 0 a n-1. A segunda linha vai conter uma
string de m caracteres, e cada carácter será um símbolo do alfabeto. A terceira linha terá um valor
inteiro com a identificação do estado de início. A quarta linha começará com um número inteiro k,
seguido por k’s números inteiro separados por carácteres de tabulação, representado o conjunto de
estados finais. As próximas nxm linhas serão as transições de cada um dos estados na forma de uma
tripla, portanto cada uma dessas linhas vai conter o identificador do estado atual, um símbolo do
alfabeto e um identificador para o estado transicionado (todos separados por caracteres de tabulação).
O restante das linhas são entradas apresentadas ao autômato.

1 curtida

Exercício interessante, espero que você consiga fazer.

Ah, você quer ajuda? Mas que tipo de ajuda? Você só postou o enunciado… :thinking:

Recomendo a leitura: Ajuda Com Exercício Java c/ Diagramas de Classe

Abraço.

tipo como começar, não tenho nem ideia :frowning:

Eu suponho que você ao menos saiba começar um programa em C++, algo como:

#include <iostream>

void exibeOutraMensagem()
{
  std::cout << "Outra Mensagem! Huzzah!!!!" << std::endl;
}

    int main()
    {
      std::cout << "Mensagem qualquer" << std::endl;
      int x = 10;
      if ( x >= 5 ) {
        exibeOutraMensagem();
      }
    }

Referência: http://www.cplusplus.com/doc/tutorial/program_structure/ .

Se nem isso você sabe, que é o básico de C++, então vai ficar terrivelmente difícil te ajudar. Está fazendo algum curso? Aprendeu alguma coisa já?

Mesmo que você não saiba resolver, você ao menos entendeu o exercício? Se não, pediu explicação para quem está te ensinando? Por exemplo:

  • é requisito usar orientação a objetos (mesmo que simples)? Ou pode ser feito num estilo mais “C”?
  • você sabe o que é um autômato? Consegue fazer um na mão (com lápis e papel)?
  • sabe o que é um autômato determinístico?
  • sabe o que é uma quíntupla nesse contexto?
  • sabe o que é um estado num autômato?
  • sabe o que é um caractere de tabulação?
  • sabe como funcionam transições num autômato?

Comece pesquisando e respondendo essas perguntas antes de sair programando.

Abraço.