Laboratório de Linguagens Formais - LabLF

Tamanho: px
Começar a partir da página:

Download "Laboratório de Linguagens Formais - LabLF"

Transcrição

1 Laboratório de Linguagens Formais - LabLF Robson da Silva Aguiar 1, Janne Yukiko Yoshikawa Oeiras 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais Universidade Federal do Pará (UFPA). Caixa Postal Belém PA Brasil [email protected], [email protected] Abstract. This paper presents LabLF, a virtual environment to practice exercises of Theory of Computation. There are many learning environments in the literature developded for studying Theory of Computation, and the advantage of LabLF is the possibility for the student to receive feedback about his answer and for the teacher to correct automatically or semi-automatically all the students assessments. Resumo. Este artigo apresenta um ambiente computacional de suporte à aprendizagem de disciplinas de Teoria da Computação, denominado Laboratório de Linguagens Formais (LabLF). Na literatura podem ser encontrados diversos outros ambientes que possibilitam ao aluno criar e testar modelos formais que solucionam problemas computacionais propostos pelo professor. O diferencial do LabLF está no fato de permitir a elaboração de listas de exercícios ou avaliações que podem ser corrigidas de modo automático ou semi-automático. 1. Introdução O estudo de Teoria da Computação envolve disciplinas que se apóiam em um alicerce baseado em teorias e conceitos matemáticos, para muitos alunos difíceis de compreender. Por essa razão, na literatura foram propostos diversos softwares para auxiliar a aprendizagem de Teoria da Computação a fim de permitir que alunos possam averiguar a corretude de suas soluções a exercícios propostos pelo professor. O aluno, por meio do manuseio da ferramenta, pode ampliar e consolidar conhecimentos e habilidades na resolução de problemas. Embora o auxílio proporcionado pelo software ajude no processo de aprendizagem, para cada exercício os alunos também têm que aprender a testar a corretude de sua solução, por exemplo, no caso do estudo de Autômatos eles precisam definir um conjunto de palavras que acusem que a resposta está certa ou que está errada, o que não é uma tarefa fácil para quem está iniciando esses estudos. Assim, essa dificuldade pode levar os alunos a buscar a ajuda de monitores ou do professor da disciplina para verificarem a sua resposta em busca de feedback. Além dos exercícios, a tarefa de correção de avaliações feita pelos professores também é árdua, já que as soluções dos alunos para os problemas propostos advêm de um processo criativo e muitas vezes são diferentes entre os alunos. A fim de ajudar os alunos em feedbacks rápidos sobre sua solução e auxiliar os professores na tarefa de correção de avaliações que o Laboratório de Linguagens

2 Formais (LabLF) foi construído. Na seção 2 deste artigo, serão apresentados softwares de ensino à aprendizagem de Teoria da Computação que tiveram grande importância para a construção e motivação do LabLF. A seção 3 apresenta o LabLF com ênfase no processo de correção automática de Autômatos Finitos Determinísticos e Não- Determinísticos. Por fim, a seção 4 apresenta as Considerações finais. 2. Ferramentas de auxílio ao ensino e aprendizagem em Teoria da Computação A principal motivação que fundamenta a criação de softwares de auxílio ao ensino aprendizagem em Teoria da Computação é a dificuldade de assimilação que a maioria dos alunos apresenta quando eles devem resolver exercícios com diferentes graus de dificuldade. Assim, é válida a coexistência de diferentes tipos de ferramentas voltadas ao estudo desta área. Conforme a dificuldade enfrentada pelo aluno um software pode ser mais indicado que outro, por exemplo, em Autômatos se há necessidade em estudar a definição formal dos diferentes modelos, alguns softwares são mais adequados, pois imprimem ao aluno construir o modelo formal desde a definição do alfabeto, passando pelo conjunto de estados, definição do estado inicial, definição da tabela de transições e construção do conjunto de estados finais. Outra necessidade seria no processo de aceitação e recusa de uma palavra pelo modelo formal. A Tabela 1 organiza alguns softwares encontrados na literatura, os modelos formais que podem ser estudados nelas e se possuem ou não saída gráfica. Tabela 1. Ferramentas e seus modelos formais implementados. Modelo Formal Ferramenta Autômato Finito Gramática Regular Expressão Regular Autômato com Pilha Máquina de Turing Saída Gráfica GAM X X VAS X X X SCTMF X X X X X LANGUAGE EMULATOR X X X JFLAP X X X X X X O Ginux Abstract Machine (GAM), proposto por Jukemura et al. (2005), tem como principal vantagem a utilização de interface gráfica que pode ser manipulada pelo usuário para a criação de Autômatos Finitos. Além disso, permite o estudo da conversão de Autômatos Finitos Não-Determinísticos (AFND) para Autômatos Finitos Determinísticos (AFD) e a minimização deste último.

3 O Visual Automata Simulator (VAS), criado por Bovet (2006), visa o estudo de Autômatos Finitos (AF) e Máquinas de Turing (MT) com interfaces gráficas que permitem manipulação direta do AF ou da MT criada. O estudo de AF se restringe à construção de AF Determinísticos e Não-Determinísticos e a conversão de AFNDs para AFDs não sendo implementado o processo de minimização. O ponto forte do VAS é sua manipulação de MT: a interface permite uma manipulação diferente das demais ferramentas, pois possui botões que facilitam o processo de ida e volta realizada pela cabeça de leitura sobre a fita no processamento da máquina e uma visualização da fita após o processo de reconhecimento ter sido completado. O Sistema de Criação e Teste de Modelos Formais (SCTMF), desenvolvido por Costa et al. (2008), embora tenha interface mais simples em relação às duas ferramentas discutidas anteriormente (GAM e VAS) permite o estudo de outros modelos, pois implementa AFDs, AFNDs, ERs, AF com Pilha, Gramáticas Livre de Contexto e MT. O grande diferencial é a forma analítica de validar uma palavra: exibe todos os passos de processamento da entidade criada (AF, ER, Autômatos com Pilha, Gramáticas e MT) durante o processo de reconhecimento. O Language Emulator (Vieira et al., 2002) segue a mesma linha do SCTMF e apresenta uma interface simples de entrada dos parâmetros de AFs, Gramáticas, Expressões Regulares e Máquinas de Moore e Mealy. Não implementa MT, mas permite várias conversões como de Máquina de Moore para Máquina de Mealy. O Java Formal Languages and Automata Package (JFLAP), criado por Rodger (2008), é dentre todas as ferramentas apresentadas a mais completa. Além de implementar AFs e MT como todas as outras quatro ferramentas, também permite o estudo de MT com múltiplas fitas, Gramáticas e ERs e mais recentemente Máquinas de Moore e Mealy. Acredita-se que mesmo com todas essas ferramentas, muitas disciplinas devem apresentar resultados pouco satisfatórios, a exemplo do que ocorre na Universidade Federal do Pará, em seu curso Bacharelado em Ciência da Computação. A Tabela 2 apresenta dados relativos à reprovação em ofertas da disciplina de Linguagens Formais entre o segundo semestre de 2005 e o segundo semestre de Tabela 2. Percentual de reprovação em Linguagens Formais. Ano/Semestre Número de Alunos Número de Alunos Reprovados Percentual de Reprovação 2005 / ,73% 2006 / ,48% 2006 / ,58% 2007 / % A partir desses dados verifica-se que existe um percentual elevado de reprovações na disciplina de Linguagens Formais. Obviamente, esse resultado deve pode ter vários fatores e acredita-se que um deles está relacionado à não resolução por parte dos alunos de questões de listas de exercícios fornecidas ao longo do curso, sendo agravado principalmente pelo freqüente baixo índice de procura dos alunos aos monitores da disciplina para tirar dúvidas e solucionar um problema. A experiência do autor deste trabalho ao longo de quatro semestres como monitor das disciplinas de

4 Linguagens Formais e de Teoria da Computação (Computabilidade) demonstrou um quadro de ausência de dúvidas. Embora estivesse à disposição durante o período todo da disciplina em horários flexíveis, a procura dos alunos era, na maioria das vezes, pequena não ultrapassando dois atendimentos por dia. A procura só aumentava dias antes das avaliações, geralmente na véspera, surtindo pouco ou nenhum efeito nas médias da avaliação, pois é necessário que o aluno treine a mente para desenvolver maneiras de solucionar problemas das disciplinas de Teoria da Computação. A grande dificuldade dos alunos em entender modelos formais, que pôde ser constatada pelo alto número de reprovações da Tabela 2 e pelas experiências adquiridas pelo autor ao longo das sessões de monitoria, torna significativa a introdução de ferramentas que auxiliem o aluno no processo de aprendizagem. Desta forma a seção seguinte (seção 3) visa mostrar brevemente o LabLF e a maneira que se encontrou para utilizar o JFLAP para um melhor aprendizado dos alunos com feedback rápido de exercícios propostos e facilitar a tarefa do professor em corrigir avaliações rapidamente de forma automática. 3. O Laboratório de Linguagens Formais O Laboratório de Linguagens Formais surgiu da necessidade de aproximar os alunos de exercícios propostos pelo professor e de auxiliar os alunos na tarefa de correção de sua solução. Partindo desse princípio, esse software deve ser capaz de possibilitar ao professor a criação de avaliações e ajudá-lo a corrigi-las de modo automático sempre que possível, além de permitir ao aluno praticar, sempre que desejar, antes da avaliação, maneiras de se resolver questões de listas de exercícios, pois é desta forma que o aluno adquire competência frente um problema de Teoria da Computação, resolvendo-o e buscando saber se sua solução está correta. Duas funcionalidades principais do LabLF serão abordadas neste artigo: Correção Automática de Avaliações e Feedback rápido de soluções propostas pelo aluno a questões de exercícios livres Correção Automática de Avaliações A correção automática de avaliação é uma funcionalidade exclusiva de professores e monitores. O LabLF disponibiliza ao professor oito tipos de questões: Discursivas, Verdadeiro ou Falso, Múltipla Escolha, Autômato Finito, Autômato com Pilha, Gramática Regular, Expressão Regular e Máquina de Turing. Ao se criar uma questão de cada tipo o LabLF busca verificar se a solução do aluno corresponde a solução dada pelo professor na hora de sua criação. As questões de Verdadeiro ou Falso e Múltipla Escolha têm verificação da solução imediata por meio de um gabarito cadastrado pelo professor. Seguindo estes princípios destas questões objetivas as questões de Autômato Finito, Gramática Regular e Expressão Regular são corrigidas automaticamente. Isto é possível, mesmo sabendo que inúmeras soluções podem ser dadas. A idéia é utilizar os editores correspondentes a cada um destes modelos formais da ferramenta JFLAP e armazenar a solução dada a um problema (o autômato finito determinístico mínimo correspondente a solução dada) na forma de texto no Banco de Dados do LabLF. O

5 software internamente realiza conversões sobre as respostas fornecidas pelo professor e pelo aluno gerando os respectivos Autômatos Finitos Determinísticos Mínimos, que devem ser iguais, já que por definição deve ser único. Além de inserir sua resposta (gabarito), o professor pode ainda informar palavras de teste que auxiliem o aluno a detectar problemas na sua solução, caso haja. Com essas palavras, o aluno pode verificar se todas as palavras cadastradas como aceitas são realmente aceitas por sua solução e se todas as rejeitadas são recusadas pelo seu AF. A Figura 1 mostra a tela de construção de uma questão de Autômato Finito no LabLF. Figura 1. Questão de Autômato Finito no LabLF A correção de Autômatos Finitos com Pilha e Máquinas de Turing é similar ao processo apresentado anteriormente. Porém neste caso a correção é semi-automática, pois não existe um algoritmo que teste a equivalência entre duas soluções usando esses modelos. A correção então é feita pelas palavras que o professor insere na hora da elaboração da questão. Como isto não é o bastante para saber se a solução está correta em todas as questões é aconselhável que professor possa averiguar a exatidão da correção do LabLF. Por fim, as questões Discursivas devem ser lidas pelo professor para julgar se a resposta do aluno está correta Feedback rápido A mesma idéia utilizada no processo de correção de avaliações é reaproveitada para garantir um feedback rápido para a solução do aluno a um exercício livre. O professor antecipadamente constrói as questões de exercícios livres de acordo com os oito tipos disponíveis e, posteriormente, o aluno poderá respondê-las e receber sempre que possível feedback automático sobre a sua solução. A Figura 2 apresenta a construção de

6 uma solução pelo aluno ao problema: Forneça um autômato finito que contenha a seqüência 000 dado o alfabeto K = (0,1).. Figura 2. Exercício Livre no LabLF A Figura 3 apresenta o feedback após o aluno apertar o botão corrigir, ou seja, o LabLF informa ao aluno se sua resposta está correta ou incorreta. Figura 3. Exercício Livre no LabLF

7 É importante notar que para o caso em que o aluno erra a questão a tela apresentada na Figura 3 muda a informação dada ao aluno, passa a ser informado que o aluno não alcançara a solução e que não desista de tentar encontrar a resposta correta. A seguir as considerações finais sobre o artigo. 4. Considerações O LabLF é um ambiente criado para ser utilizado tanto pelos professores quanto pelos alunos, por meio do cadastro e da resolução de exercícios e avaliações. Com a sua utilização, espera-se estimular os alunos a buscarem uma solução cada vez melhor para um problema e ajudar o professor na tarefa de correção de avaliações de uma forma mais imparcial (correção automática e semi-automática). Alguns testes com alunos que já cursaram a disciplina no segundo semestre de 2008 foram realizados ao fim do primeiro semestre de 2009, com a finalidade de testar a usabilidade da ferramenta e detectar eventuais bugs. Com um número inicial de 18 alunos e com a disponibilidade de 4 laboratórios de informática contendo em média 20 computadores cada, uma amostra de 1/3 dos alunos (6 alunos) foi submetida ao LabLF para resolver exercícios livres. Nos testes realizados a maior parte dos alunos enunciou como ponto forte a idéia de percentual de corretude de sua solução com relação à resposta do professor. Os alunos que já tinham familiaridade com o JFLAP gastaram menos tempo para realizar as questões e os alunos que ainda não tinham experiência no uso desse software foram adquirindo a habilidade necessária e resolvendo, cada vez mais rápido, as questões conforme entendiam a forma de se manipular os estados e transições do modelo formal a ser construído. Além de pontos positivos, pontos fracos foram encontrados, como a necessidade de mudança de nomes de botões que não estão intuitivos e possibilidade de testes rápidos para saber se o modelo formal aceita ou não uma palavra sem a necessidade de realizar o reconhecimento dela passo a passo. O Laboratório de Linguagens Formais ainda está em plena construção para permitir que cada vez mais os estudos na Área de Teoria da Computação avancem e tornem a vida daquele que aprende e daquele que ensina facilitada. Novos testes estão ocorrendo ao longo do segundo semestre de 2009 em uma turma da disciplina de Linguagens Formais. Com essa experiência também se espera desenvolver uma metodologia de uso do ambiente aliado às aulas teóricas de sala de aula.

8 Referências BOVET, Jean. Visual Automata Simulator: A tool for simulating, visualizing and transforming finite state automata and Turing Machines. Disponível em: < Acesso em: 11 out COSTA, Yandre Maldonado e Gomes da. Máquina de Turing. Disponível em: < Acesso em: 11 out COSTA, Yandre M. e G. da; MENESES, Rafael C. de; UBER, Flavio R.. Uma Ferramenta para Auxílio Didático no Ensino de Teoria da Computação. In: CONGRESSO DA SBC - WEI - WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO, 28., 2008, Belém. Anais do XXVIII Congresso da SBC. Belém: Sbc, p Disponível em: < Acesso em: 25 out JUKEMURA, Anibal S.; NASCIMENTO, Hugo A. D. do; UCHÔA, Joaquim Q.. GAM - Um Simulador para Auxiliar o Ensino de Linguagens Formais e de Autômatos. In: CONGRESSO DA SBC, 25., 2005, São Leopoldo. XXV Congresso da Sociedade Brasileira de Computação. São Leopoldo: Sbc, p Disponível em: < >. Acesso em: 25 out RODGER, Susan H.. JFLAP Version 7.0: RELEASED August 28, Disponível em: < Acesso em: 4 out VIEIRA, Newton José. Fundamentos da Teoria da Computação. Disponível em: < Acesso em: 2 dez

Estudo e adaptação de software para o ensino de Linguagens Formais e Autômatos

Estudo e adaptação de software para o ensino de Linguagens Formais e Autômatos Estudo e adaptação de software para o ensino de Linguagens Formais e Autômatos Title: Study and adaptation of software for teaching Formal Languages and Automata Juliana Pinheiro Campos Pirovani Universidade

Leia mais

GAM - Um Simulador para Auxiliar o Ensino de Linguagens Formais e de Autômatos

GAM - Um Simulador para Auxiliar o Ensino de Linguagens Formais e de Autômatos 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

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Aula de 09/09/2013 Panorama do Restante da Disciplina 1 Próximo Tópicos da Matéria Linguagens Autômatos Regulares Autômatos Finitos Máquinas de Moore e Mealy Livres

Leia mais

Language Emulator, uma ferramenta de auxílio no ensino de Teoria da Computação

Language Emulator, uma ferramenta de auxílio no ensino de Teoria da Computação Language Emulator, uma ferramenta de auxílio no ensino de Teoria da Computação Luiz Filipe Menezes Vieira 1, Marcos Augusto Menezes Vieira 1, Newton José Vieira 1 1 Departamento de Ciência da Computação

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior. LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior [email protected] 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica

Leia mais

Montanha de Chomsky: jogo tutor para auxílio no ensino de Teoria da Computação

Montanha de Chomsky: jogo tutor para auxílio no ensino de Teoria da Computação Montanha de Chomsky: jogo tutor para auxílio no ensino de Teoria da Computação Lucas Sampaio Leite 1, Maria Aparecida A. Sibaldo 2, Tiago B. A. de Carvalho 2, Rodrigo de Souza 1 1 Departamento de Estatística

Leia mais

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Contextualização Prof.ª Aracele Garcia de Oliveira Fassbinder IFSULDEMINAS Campus Muzambinho Muzambinho, Fevereiro de 2012 Sobre esta disciplina O que é uma linguagem formal?

Leia mais

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação

Leia mais

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma C01 Engenharia da Computação e Ciência da Computação Horário: Segunda e Quinta:

Leia mais

Teoria da Computação (BBC244)

Teoria da Computação (BBC244) Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira [email protected] http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.

Leia mais

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

Linguagens Formais e Autômatos. Tiago Alves de Oliveira Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos

Leia mais

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma 4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre

Leia mais

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30 Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E

Leia mais

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma C01 Engenharia da Computação e Ciência da Computação Horário: Terça e Sexta: 20:30

Leia mais

SCC Introdução à Teoria da Computação

SCC Introdução à Teoria da Computação SCC-0505 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ [email protected]

Leia mais

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Presencial e à Distância Seiji Isotani Orientador: Leônidas de Oliveira Brandão Defesa de Mestrado Departamento de Ciência

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Teoria da Computação Ciência da Computação

Leia mais

LFApp: Um Aplicativo Móvel para o Ensino de Linguagens Formais e Autômatos

LFApp: Um Aplicativo Móvel para o Ensino de Linguagens Formais e Autômatos LFApp: Um Aplicativo Móvel para o Ensino de Linguagens Formais e Autômatos Juventino Neto, Ricardo Terra Departamento de Ciência da Computação, Universidade Federal de Lavras (UFLA), Brasil [email protected],

Leia mais

Professora Orientadora do Departamento de Ciências Exatas e Engenharias. 4

Professora Orientadora do Departamento de Ciências Exatas e Engenharias.   4 DESENVOLVIMENTO DE OBJETO DE APRENDIZAGEM DE MATEMÁTICA VOLTADO PARA ESCOLAS DA REDE PÚBLICA UTILIZANDO SOFTWARE ADOBE FLASH PROFESSIONAL CC: UM OBJETO PARA O ENSINO DE ESTATÍSTICA 1 Diogo Rafael Silva

Leia mais

Linguaguens recursivamente enumeráveis e recursivas

Linguaguens recursivamente enumeráveis e recursivas Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente

Leia mais

Linguagens recursivamente enumeráveis

Linguagens recursivamente enumeráveis Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M

Leia mais

SIMULADOR DE AUTÔMATOS FINITOS DETERMINÍSTICOS - AUTOMATOGRAPH 1 DETERMINISTIC FINITE AUTOMATA SIMULATOR - AUTOMATOGRAPH

SIMULADOR DE AUTÔMATOS FINITOS DETERMINÍSTICOS - AUTOMATOGRAPH 1 DETERMINISTIC FINITE AUTOMATA SIMULATOR - AUTOMATOGRAPH Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 5, n. 1, p. 1-9, 2004. 1 ISSN 1519-0625 SIMULADOR DE AUTÔMATOS FINITOS DETERMINÍSTICOS - AUTOMATOGRAPH 1 DETERMINISTIC FINITE AUTOMATA

Leia mais

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS Acadêmico: Fernando Rafael Piccini Orientador: José Roque Voltolini da Silva Roteiro

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 08 Minimização de AFDs [email protected] Últimas aulas... Linguagens Formais vs Linguagens Naturais Últimas aulas... Linguagens

Leia mais

IBM1088 Linguagens Formais e Teoria da Computação

IBM1088 Linguagens Formais e Teoria da Computação IBM1088 Linguagens Formais e Teoria da Computação Apresentação da disciplina Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 16 IBM1088 Objetivos Fornecer

Leia mais

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos   Site: ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: [email protected] Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),

Leia mais

Teoria da Computação. Aula 01

Teoria da Computação. Aula 01 Teoria da Computação Aula 01 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/tc 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

SCC 205 Teoria da Computação e Linguagens Formais

SCC 205 Teoria da Computação e Linguagens Formais Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um

Leia mais

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375 Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 01 Apresentação da Disciplina Prof.ª Danielle Casillo PLANO DE ENSINO Nome: Teoria da Computação Créditos:

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior. LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior [email protected] 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS 7ª Série Linguagens Formais e Autômatos Ciência da Computação A atividade prática supervisionada (ATPS) é um método de ensino-aprendizagem desenvolvido por meio de um

Leia mais

Linguagens Formais e Autômatos Apresentação da Disciplina

Linguagens Formais e Autômatos Apresentação da Disciplina Linguagens Formais e Autômatos Apresentação da Disciplina Andrei Rimsa Álvares Computação Histórico da Computação O que pode ser computado? Ábaco China Aprox. 3500 a.c. Máquina de Babbage Inglaterra 1823

Leia mais

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE 2009/2 GABARITO COMENTADO QUESTÃO 1: 1. Considere as afirmações a seguir:

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

Leia mais

Computação para química: Programas computacionais como ferramentas didáticas para o ensino-aprendizado da química

Computação para química: Programas computacionais como ferramentas didáticas para o ensino-aprendizado da química Computação para química: Programas computacionais como ferramentas didáticas para o ensino-aprendizado da química FARIAS,Fellipe F. S. (bolsista); SILVA, Philipe D. A. (bolsista); CUNHA, Cláudia O. (professor

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 13 Autômato com Pilha [email protected] Última aula Linguagens Livres do Contexto P(S*) Recursivamente enumeráveis Recursivas

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro [email protected] Como construir

Leia mais

Tecnologias de Informação e Comunicação Currículo: identificação de aprendizagens essenciais

Tecnologias de Informação e Comunicação Currículo: identificação de aprendizagens essenciais Tecnologias de Informação e Comunicação Currículo: identificação de aprendizagens essenciais EQUIPA: Carlos Nunes Fernanda Ledesma Filipe Mendes João Leal Miguela Fernandes METODOLOGIA: 1. Definição da

Leia mais

Autómatos Finitos Determinísticos (AFD)

Autómatos Finitos Determinísticos (AFD) Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto

Leia mais

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior. Máquinas Universais Máquina de Celso Olivete Júnior [email protected] http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Conversão de Expressões Regulares (ER) para Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Introdução A construção sistemática de um Autômato Finito para

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: [email protected] Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

Adilandri Mércio Lobeiro 1. Sara Coelho Silva 2. Clícia Geovana Alves Pereira 3 PÚBLICO-ALVO

Adilandri Mércio Lobeiro 1. Sara Coelho Silva 2. Clícia Geovana Alves Pereira 3 PÚBLICO-ALVO MAPLET PROGRAMADA VIA MAPLE 16 PARA RESOLVER EQUAÇÕES DIFERENCIAIS ORDINÁRIAS SEPARÁVEIS, EXATAS E LINEARES DE PRIMEIRA ORDEM: UMA ABORDAGEM TEÓRICA E PRÁTICA Adilandri Mércio Lobeiro 1 Sara Coelho Silva

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador

Leia mais

LFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 08 Minimização de AFD Autômatos Finitos com saídas 25/01/2017 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula de hoje Minimização de autômatos finitos

Leia mais

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:

INE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC   URL: INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens

Leia mais

Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo

Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo CCO 410 Aspectos Formais da Computação Prof.º Wanderley Lopes de Souza Universidade Federal de São Carlos Diego Luiz Cavalca

Leia mais

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO Aluna: Vivian de Lima Panzenhagen Orientador: Prof. Dalton Solano dos Reis, M. Sc Roteiro Introdução Objetivos Fundamentação Teórica

Leia mais

Visão Geral do Curso. Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python)

Visão Geral do Curso. Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python) Visão Geral do Curso Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python) Sobre a Disciplina ICC Disciplina: Introdução à Ciência da Computação Códigos: COMP0100 e COMP0208

Leia mais

Uma Introdução à Computação Quântica

Uma Introdução à Computação Quântica Uma Introdução à Computação Quântica por Bernardo Lula Júnior 1 e Aércio Ferreira de Lima 2 1 Departamento de Sistemas e Computação Universidade Federal de Campina Grande [email protected] 2 Departamento

Leia mais

Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica

Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica Leila Ribeiro Instituto de Informática -UFRGS Roteiro Minhas áreas de interesse... Evolução da Ciência da Computação Biologia

Leia mais

Introdução a Programação

Introdução a Programação Introdução a Programação Prof. André Gustavo Duarte de Almeida [email protected] docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades

Leia mais

Máquinas de Turing 3

Máquinas de Turing 3 Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)

Leia mais

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io Autômatos com Pilha [email protected] docardoso.github.io Autômatos com Pilha 1/18 Roteiro 1 Autômatos com Pilha 2 APDs 3 APNs Autômatos com Pilha 2/18 Roteiro 1 Autômatos com Pilha 2 APDs 3

Leia mais

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

Teoria da Computação. Computabilidade e complexidade computacional

Teoria da Computação. Computabilidade e complexidade computacional Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade

Leia mais

Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como

Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como utilizá-la. 1 Por si só, uma equipe não é muito inteligente.

Leia mais

MUSEU VIRTUAL: Mostra Virtual baseada em realidade aumentada

MUSEU VIRTUAL: Mostra Virtual baseada em realidade aumentada ÁREA TEMÁTICA: (marque uma das opções) ( ) COMUNICAÇÃO ( ) CULTURA ( ) DIREITOS HUMANOS E JUSTIÇA ( x ) EDUCAÇÃO ( ) MEIO AMBIENTE ( ) SAÚDE ( ) TECNOLOGIA E PRODUÇÃO ( ) TRABALHO 1 MUSEU VIRTUAL: Mostra

Leia mais

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos

Leia mais

O Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda

O Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda O Ensino de Ciência da Computação Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda O Que é Ciência da Computação? Analise os argumentos abaixo: 1. Ciência é a observação,

Leia mais

I.2 Introdução a Teoria da Computação

I.2 Introdução a Teoria da Computação I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?

Leia mais

1 INTRODUÇÃO E CONCEITOS BÁSICOS

1 INTRODUÇÃO E CONCEITOS BÁSICOS 1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

Máquinas de Turing - Computabilidade

Máquinas de Turing - Computabilidade BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma

Leia mais