1 GAM - Um Simulador para Auxiliar o Ensino de Linguagens Formais e de Autômatos Anibal S. Jukemura 1 , Hugo A. D. do Nascimento 1 , Joaquim Q. Uchôa 2 1 Instituto de Informática – Universidade Federal de Goiás (UFG) CEP 74001-970, Caixa Postal 131, Goiânia, GO 2 Departamento de Ciências da Computação, Universidade Federal de Lavras (UFLA), CEP: 37200-000, Lavras, MG {anibal,hadn}@inf.ufg.br, joukim@comp.ufla.br Abstract. A Finite Automaton is a mathematical model of a finite-state machine that reads symbols from a tape and accepts or rejects its input. The Theory of Finite Automata is important for modeling real machines with a finite set of states, for compacting dictionaries, and for several others applications. This paper describes a tool for helping students and teachers to study the Theory of Finite Automata. The tool provides conditions for simulating different types of abstract machines in order to perform several operations and conversions that are common in this area of study. Keywords: finite automata, simulator, learning tool. Resumo. Um Autômato Finito é um modelo matemático de uma máquina de estados finitos que lê símbolos de uma fita e aceita ou rejeita sua entrada. A Teoria de Autômatos Finitos é importante para a modelagem de máquinas reais com um conjunto finito de estados, para compactação de dicionários, e para várias outras aplicações. Este artigo descreve uma ferramenta para auxiliar estudantes e professores a estudarem a Teoria dos Autômatos Finitos. A ferramenta fornece condições de simular diferentes tipos de máquinas abstratas a fim de executar diversas operações e conversões que são comuns nessa área de estudo. Palavras-chave: autômatos finitos, simulador, ferramenta de aprendizagem. 1. Introdução O estudo de Linguagens Formais e Autômatos é imprescindível para a formação de profissionais em Ciências da Computação e em áreas de conhecimento afins. As definições e os problemas vistos nesse estudo são a base para compreender conceitos mais complexos em Teoria da Computação, tais como decidibilidade e complexidade de problemas. Além disso, a Teoria de Autômatos tem aplicações diretas na modelagem de vários sistemas físicos de estados finitos e na construção de compiladores e interpretadores para linguagens de programação. Até mesmo processadores de texto fazem uso de autômatos finitos para realizarem a busca de substrings (sub-cadeias de XIII WEI 2432