EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS

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

Download "EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS"

Transcrição

1 EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS Édson Wenning¹, Elias Lampert², Gustavo Claudy³, Pedro E. Camera 4. ¹Discente do Curso Ciência da Computação - Universidade de Cruz Alta ²Discente do Curso Ciência da Computação - Universidade de Cruz Alta ³Discente do Curso Ciência da Computação - Universidade de Cruz Alta 4 Discente do Curso Ciência da Computação - Universidade de Cruz Alta (edsonwenning2012@hotmail.com, eliaslampert@hotmail.com, guga.claudy@hotmail.com, pedro@triway.net.br) Resumo: Este trabalho apresenta conceitos sobre a equivalencia entre máquinas, máquina de traços e programas fortemente equivalentes. Esses conceitos são de suma importancia no estudo da teoria da computação, isso justifica-se porque através da percepção da equivalência forte de programas podemos adquirir subsídios para analisar a complexidade estrutural dos mesmos. Para o entendimento deste conceito, devemos primeiramente ter conhecimento da equivalencia de programas, para esta verificação utiliza-se a máquina de traço. A qual define que programas quando equivalentes retornam o mesmo traço. Abstract: This paper presents concepts about an equivalence between machines, dashboards and strongly equivalent programs. These concepts are of paramount importance no study of the theory of computation, this is justified because through the perception of the strong equivalence of programs we can acquire subsidies to analyze their structural complexity. For the understanding of the concept, we must first be aware of the equivalence of programs, for this verification, use the dash machine. Which defines that as many as the equivalents return the same trait. 1. INTRODUÇÃO A teoria da computação aborda conteúdos diversos de informações para a área da tecnologia de informação dentre eles, a computabilidade, complexidade de problemas computacionais e autômatos são assuntos presntes em alguns livros e artigos sobre o tema. Segundo Queiroz (1997) a complexidade avalia o grau de dificuldade de resolução de um determinado

2 programa para realizar um certo problema computacional, diferente da computabilidade que analisa todo o problema e indica se o mesmo pode ser ou não computado. Queiroz (1997) aponta ainda autômatos como modelos de computação para o processamento de texto, compiladores e projetos de hardware, permitindo assim definições formais para obter um certo resultado de programas dentre a computação. Além destes conceitos a teoria da computação explora outros assuntos. A relação existente entre os resultados obtidos na computação de programas, são abordadas com o intuito de verficar as chamadas equivalencias de programas. Para que um programa possa ser considerado equivalente as funções computadas dos mesmos devem ser iguais. Adotando alguns conceitos de equivalência percebe-se uma relação existente entre os programas, caracterizando uma hierarquia existente. Partindo da ideia que um programa é equivalente podemos verificar a existencia forte entre os programas. 2. FUNDAMENTAÇÃO TEÓRICA 2.1.Equivalência de programas Um programa pode ser definido como um conjunto de instruções que capacitam a uma dada máquina a aplicar certas operações básicas e testes sobre os dados fornecidos, com o objetivo de transformar estes dados numa forma desejável conforme Campos (2000). Equivalência de programas segundo Diverio (2000), pode se definir quando uma máquina pode simular outra máquina, sendo assim equivalência de programas pode estabelecer noções com equivalência de máquinas. Uma equivalência de programas será analisada em uma certa máquina quando estiver uma caracterização de equivalência mais fraca do que uma equivalência já apresentada. Casillo (2017), diz que um par de programas pertence a relação, apenas se as correspondentes funções computadas coincidirem para uma dada máquina. Ex1 conforme Diverio (2000): Temos dois programas arbitrários, não necessariamente do mesmo tipo, e uma máquina (M) qualquer. O par (P, Q) estão na relação de equivalência de programas na máquina M denotado assim por: P Q Se essas duas correspondentes funções computadas são iguais, ou seja:

3 <P, M> = <Q, M> Neste caso então, P e Q são programas equivalentes na máquina M ou simplesmente serão programas M-Equivalentes. Existem máquinas nas quais não se pode provar sua existência de um algoritmo, ou seja, se dados dois programas, se eles serão ou não M-Equivalentes. Assim sendo, de fato, existem maquinas muito simples para as quais prova-se que, o problema é não- solucionável Equivalência de Máquinas Segundo o autor Diverio (2000), a teoria de equivalência de programas, pode-se estabelecer noções de equivalências de máquinas. Afirma-se que duas máquinas são equivalentes se uma pode simular a outra e vice-versa. Inicialmente é introduzido o conceito de simulação forte de máquina. Esse conceito pode ser feito usando diferentes tipos de programas, para que o mesmo ocorra, deverá ser observado se existe igualdade entre os conjuntos de dominio e contradominio, os mesmos deveram ter igualdade nas funções, os mesmos conjuntos de valores de entrada e tambem o mesmo valor de saida. 2.3.Equivalência Forte de Programas Segundo o autor Diverio (2000),para que ocorra Equivalência Forte de Programas, é necessário que para qualquer máquina M, as funções parciais computadas sejam iguais, ou seja, um par de programas pertence à relação se as correspondentes funções computadas coincidem para qualquer máquina. Portando: <P,M>=<Q,M> Através da Relação Equivalência Forte de Programas, podemos: Identificar diferentes programas cujas funções computadas coincidem, para qualquer máquina; Nas funções computadas por programas equivalentes fortemente são efetuadas na mesma ordem independente do significado dos mesmos; Fornece subsídios para analisar a complexidade estrutural de programas. Por exemplo, analisando os programas equivalentes P1 e P2 pode-se concluir que P1 é estruturalmente mais otimizado que P2, pois possui um teste a menos. Os programas P1 e P2 estão representados no quadro abaixo.

4 Quadro 1 - Programas Equivalentes Fonte: Os autores embasado Diverio (2000) Conforme Cassillo (2017), podemos observar todo programa iterativo, tem um programas monolítico equivalente fortemente, todo monolítico, possui um recursivo equivalente fortemente. 2.4.Equivalência Forte de Programas: Iterativo -> Monolítico Diverio e Menezes (2009) definem que para qualquer Pi, existe um Pm, tal que Pi Pm. A obtenção de um programa monolítico a partir de um iterativo é direta, a partir do mapeamento das construções elementares de um programa iterativo em sequencias de construções equivalentes em um programa monolítico. Em virtude de que as mesmas operações são executadas em ordem idêntica em ambos os programas, as funções computadas são as mesmas. Exemplo: Fazer o mapeamento do programa iterativo para um programa monolítico, a Figura 1 é o exemplo do fluxuograma.

5 Até a_zero faça (subtrai_a;adiciona_b) Instruções rotuladas: 1: se a_zero então vá_para 4 senão vá_para 2 2: faça subtraia_a vá_para 3 3: faça adiciona_b vá_para 1 Fluxograma: Figura 1 Fluxograma Fonte: Os autores embasado Diverio (2000) 2.5.Equivalência Forte de Programas: Monolítico -> Recursivo Para qualquer programa monolítico Pm, existe um programa recursivo Pr, tal que Pm Pr. Exemplo: No Quadro 2, está o mapeamento de um programa monolítico (instruções rotuladas) para recursivo. 1: se a_zero então vá_para 4 senão vá_para 2 2: faça subtraia_a vá_para 3 3: faça adiciona_b vá_para 1 Recursivo: R é R1 onde R1 def (se a_zero então R4 senão R2) R2 def (faça subtraia_a;r3) R3 def (adiciona_b,r1)

6 R4 def Quadro 2: Mapeamento Monolítico -> Recursivo Fonte: Os autores (embasado Diverio(2000)) 2.6.Equivalência Forte de Programas: Iterativo -> Recursivo Para qualquer programa iterativo Pi, existe um programa recursivo Pr, tal que Pi Pr. 2.7.Equivalência Forte de Programas: Recursivo -> Monolítico Para um programa recursivo, não necessariamente existe um programa monolítico fortemente equivalente. Para um programa ser considerado fortemente equivalente, a função computada deve conter as operações executadas na mesma ordem. O ciclo de operações não pode ser executado indefinidamente. Portanto com um registrador, não é possível fazer o controle do ciclo e, ainda, utilizá-lo como acumulador, pois o controlador é subtraído uma unidade e como o acumulador é somado duas unidades, resulta em ciclo executado indefinidamente. Exemplo: Caso exista um programa recursivo e uma máquina de um_reg, que possua como função computada <duplica, um_reg>:n -> N é tal que, para qualquer n N: <duplica, um_reg>(n) = 2n Suponha que existe um programa monolítico Pm que computa a mesma função, ou seja, que <Pm,um_reg>: N -> N e: <duplica, um_reg> = <Pm, um_reg> Pm é constiruído de K operações ad. Suponha n N tal que n >= k. Então para que <Pm, um_reg>(n), é necessário que Pm execute n vezes a operação ad. Mas, com n >= K, então pelo menos uma das ocorrências de ad será executada indefinidamente. Não configurando um programa fortemente equivalente. 2.8.Equivalência Forte de Programas: Monolítico -> Iterativo Dado um programa monolítico, não necessariamente existe um programa iterativo. Exemplo: Considere o programa monolítico, representado pela Figura 3.

7 Figura 2 - Programa Monolítico Fonte: os autores embasado Diverio(2000) Onde existe um maquina de um_reg, onde a função computada seja <par, um_reg>:n-> N é tal que, para qualquer n N: <par, um_reg>(n) = 1, se n é par; <par, um_reg>(n) = 0, se n é impar. Suponha que existe um programa iterativo que compute a mesma função, ou seja, <Pi, um_reg>: N-> N e: <par, um_reg> = <Pi, um_reg> Suponha que Pi é constiuido de K operações sub. Suponha n N tal que n<=k. É necessário que Pi execute n vezes operações sub. Mas, como n<=k, então pelo menos uma das ocorrências sub será executada mais de uma vez, ou seja, existe um ciclo iterativo (enquanto ou até) em Pi. Em qualquer caso, o ciclo terminará sempre na mesma condição, independente se o valor for par ou ímpar. Portanto, a computação resultante é incapaz de distinguir entre os dois casos. Portanto não existe um Pi equivalente fortemente ao programa monolítico par Máquina de Traço A Máquina de Traço tem grande importância para a verificação de equivalência entre programas. Quando dois programas são semelhantes em qualquer máquina de traço, podemos dizer que nesse caso os programas são equivalentes fortemente. Casillo (2017) Essa máquina não realiza as funções dos programas, não executa os cálculos nem a operação

8 do programa que foi programado, ela apenas cria um histórico do rastro das chamadas do programa, assim denominando a máquina de traço. Casillo (2017). A Máquina de traços é representado pelo seguinte conjunto de elementos: M = (Op*, Op*, Op*,idOp*, idop*, IIF, IIT ) Op* é o conjunto de palavras operações e também pode ser todos os valores da memória de entrada e de saída do programa. idop* são as funções de entrada e saída. IIF são conjuntos de interpretações de operações. IIT conjuntos de interpretações de testes. Casillo (2017) Os efeitos das operações verificada por uma máquina de traços e acrescentar um identificar depois do valor atual da memória, especificando as interpretações dos testes. Pois todas as operações são determinadas antes. Casillo (2017) Um exemplo simples é o programa V que é monolítico, que vai passar pela máquina de traços: 1: faça X vá_para 2 2: faça X vá_para 3 3: faça F vá_para 4 4: se T1 vá_para 5 senão vá_para 1 Todo o histórico de cada interação vai sendo concatenado na memória. Ao passar a programa V na Máquina de Traços M, com uma interação falsa na decisão vai produzir o histórico abaixo: (1, Vazio)(2, X)(3, X X)(4, X XF)(1, X XF)(2, X XFX)(3, X XF XX)(4, X XF XXF)(5, X XF XX). Assim a máquina da como resultado o histórico de alteração: X XF XX pois a linha 5 não existe no sistema significando o final. Campos (2000). 3. RESULTADOS E DISCUSSÕES Foi realizada uma pesquisa teórica sobre os assuntos mencionados acima, que comportou o conhecimento em geral sobre os conceitos e suas funções distintas em cada equivalência supracitada. E ainda, levantaram-se fluxogramas de cada item explanado para demonstrar o funcionamento de cada uma. Concluímos que a equivalência de máquinas, equivalência de programas, equivalência fortemente de programa, máquinas de traços, obtém dependência uma da outra. ressaltando que, equivalência de máquinas, é representada quando uma simula a outra, mesmo sendo distintas. Por outro lado, a equivalência de programa é definida pela analise do resultado da equivalência de máquinas.

9 REFERÊNCIAS BIBLIOGRAFICAS CASILLO, Danielle. Teoria da Computação - Equivalência de Programas e Máquinas. Mossoró: Danielle Casillo, slides, P&B. CAMPOS, Profa. Juliana Pinheiro. Teoria da Computação Disponível em: <file:///d:/nova pasta (7)/Ciencia da computação/7º Semestre/Teoria da Computação/2_ProgramasMaquinasComputacoes.pdf>. Acesso em: 09 maio DIVERIO, Tiaraju Asmuz; MENEZES, Paulo Blauth. Teoria da Computação - Equivalência de Programas e Máquinas. Porto Alegre: Bookman Editora, p. DIVERIO, Tiaraju Asmuz. Teoria da Computação: Máquinas Universais e Computabilidade. 2. ed. Rio Grande: Luzzato, p. QUEIROZ, Ruy J. Guerra B.. Introduction to the Theory of Computation (PWS Publishing Company 1997).

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 08 Equivalência de programas Parte 2 Prof.ª Danielle Casillo Poder computacional dos diversos tipos de programas

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 Os teoremas citados na aula anterior, podem dar a falsa impressão de que o poder computacional da classe dos

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 05 Computações Prof.ª Danielle Casillo Computação Será visto como as definições de programas e máquinas caminham

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 Interpreta os programas de acordo com os dados fornecidos. É capaz de interpretar um programa desde que possua

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 03 Programas (Monolítico e Iterativo) Prof.ª Danielle Casillo Programas, Máquinas e Computações Diferentes

Leia mais

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000) Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade

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 Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações Curso: Ciência da Computação Turma: 6ª Série Aula 6 Programas, Máquinas e Computações Avisos Hoje tem dúvidas sobre a segunda etapa da ATPS. Somente 28 alunos/alunas entregaram a ATPS etapa 1. Ainda dá

Leia mais

Resolução Exe 2.12 Monolítico Recursivo

Resolução Exe 2.12 Monolítico Recursivo Resolução Exe 2.12 Monolítico Recursivo Recursivo P R é R 1 onde R 1 def (se T1 então R 2 senão R 3 ) R 2 def F; R 3 R 3 def (se T2 então R 4 senão R 7 ) R 4 def G; R 5 R 5 def (se T1 então R 7 senão R

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

Teoria da Computação. Máquinas, Computações e Funções Computadas

Teoria da Computação. Máquinas, Computações e Funções Computadas Cristiano Lehrer Introdução (1/2) O objetivo de uma máquina é suprir todas as informações necessárias para que a computação de um programa possa ser descrita. Portanto, cabe à máquina suprir o significado

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: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min UNIVERSIDADE DEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA TEÓRICA 2 Semestre 2008 04/08/2008 a 12/12/2008 DISCIPLINA: TEORIA DA COMPUTAÇÃO N CÓDIGO: INF05501. Horário:

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 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando

Leia mais

Teoria da Computação. Aula 01

Teoria da Computação. Aula 01 Teoria da Computação Aula 01 Celso Olivete Júnior olivete@fct.unesp.br 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

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

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 NORMA (NumberTheOreticRegisterMAchine) Possui como memória um conjunto infinito de registradores naturais e

Leia mais

Computabilidade e Complexidade (ENG10014)

Computabilidade e Complexidade (ENG10014) Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade

Leia mais

Teoria da Computação. Computabilidade

Teoria da Computação. Computabilidade Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os

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

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 Nome: Teoria da Computação Créditos: 4 60 horas Período: 2010.2 Horário: segundas e quintas das 20:40 às 22:20

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

SCC-5832 Teoria da Computação

SCC-5832 Teoria da Computação Teoria da Computação SCC-5832 Teoria da Computação 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

Leia mais

Noção de Computabilidade

Noção de Computabilidade Noção de Computabilidade 1 Procedimento X Algoritmo Procedimento: sequência finita de instruções, que são operações claramente descritas, e que podem ser executadas mecanicamente, em tempo finito. claramente

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

Teoria da Computação (BBC244)

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

Leia mais

Teoria da Computação Aula 01 Revisão de Conjuntos

Teoria da Computação Aula 01 Revisão de Conjuntos Teoria da Computação Aula 01 Revisão de Conjuntos Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Conjuntos Conjunto e uma estrutura que agrupa objetos e constitui uma base para construir estruturas

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

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br

Leia mais

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área

Leia mais

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Pró-Reitoria de Ensino de Graduação Coordenação do Curso de Bacharelado em Sistemas de Informação Site: http://www.bsi.ufrpe.br E-mail: coordenacao@bsi.ufrpe.br

Leia mais

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação

Leia mais

Teoria da Computação Aula 8 Noções de Complexidade

Teoria da Computação Aula 8 Noções de Complexidade Teoria da Computação Aula 8 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Motivação: Por que estudar algoritmos? Perguntas: - Por que estudar algoritmos se os computadores

Leia mais

Teoria da Computação: Máquinas, Programas e suas Equivalências

Teoria da Computação: Máquinas, Programas e suas Equivalências Teoria da Computação: Máquinas, Programas e suas Equivalências Douglas Rodrigues Almeida 1, Daniel Dessbesell 1, Daniel Padilha 1, Thielyon Pinheiro 1, Laércio Castro 1,Vanderlei Cardoso 1,Álvaro Hauenstein

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018 22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria

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

SCC Teoria da Computação e Linguagens Formais

SCC Teoria da Computação e Linguagens Formais SCC-0205 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/ joaoluis@icmc.usp.br

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/ joaoluis@icmc.usp.br

Leia mais

Teoria da Computação. Unidade 2 Programas, máquinas e computação: Equivalência de programas. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 2 Programas, máquinas e computação: Equivalência de programas. Referência Teoria da Computação (Divério, 2000) Unidade 2 Programas, máquinas e computação: Equialência de programas Reerência (Diério, 2000) Programas, Máquinas e Computações a Programas, Máquinas e Computações Exercício - Fazer a computação e eriicar

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/14 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

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 COMPUAÇÃO EORIA DA COMPUAÇÃO Aula 09 Equialência Forte de Programas Monolíticos Pro.ª Danielle Casillo Equialência orte de programas monolíticos

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: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens

Leia mais

Matemática Discreta - 04

Matemática Discreta - 04 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Bacharelado em Ciência da Computação Matemática Discreta

Bacharelado em Ciência da Computação Matemática Discreta Bacharelado em Ciência da Computação Matemática Discreta Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 27 de fevereiro de 2013 diego.silva@ifmg.edu.br (IFMG) Matemática

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

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

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 evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 16 IBM1088 Objetivos Fornecer

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

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

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: jupcampos@gmail.com Funções recursivas Os formalismos usados para especificar algoritmos podem ser classificados

Leia mais

Introdução a Computação

Introdução a Computação O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução

Leia mais

PLANO DE APRENDIZAGEM

PLANO DE APRENDIZAGEM PLANO DE APRENDIZAGEM 1. DADOS DE IDENTIFICAÇÃO Curso: Bacharelado em Sistemas de Informação Disciplina: Linguagens Formais e Compiladores Código: SIF5N191 Professor: Jamilson Ramalho Dantas e-mail: jamilson.dantas@fasete.edu.br

Leia mais

SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA

SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA Neste trabalho você deverá construir e testar, com a ferramenta JFLAP, uma MT multifita que simula o funcionamento de um computador

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 yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE. DEINFO - UFRPE Julho, 2014 Motivação Introdução O que pode ser computado? E mais intrigantemente, o que não pode ser computado? Motivação Introdução O que pode ser computado? E mais intrigantemente, o

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

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

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução. Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela

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 olivete@fct.unesp.br 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

UNIDADE UNIVERSITÁRIA:

UNIDADE UNIVERSITÁRIA: UNIDADE UNIVERSITÁRIA: Faculdade de Ciências e Tecnologia/UNESP CURSO: Ciência da Computação Vespertino-Noturno HABILITAÇÃO: Bacharelado OPÇÃO: DEPARTAMENTO RESPONSÁVEL: Departamento de Matemática e Computação

Leia mais

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Estruturas de Repetição Parte I ENQUANTO-FAÇA Estruturas de Repetição Parte I ENQUANTO-FAÇA Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Reconhecer a necessidade do uso de estruturas de repetição Aprender a sintaxe

Leia mais

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti. Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo

Leia mais

Autómatos determísticos de k-pilhas

Autómatos determísticos de k-pilhas Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado

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

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica Área: Ciência da Computação Teoria da Computação - Linguagem Formais e Autômatos DISPOSIÇÕES GERAIS O processo seletivo para Professor Substituto do do Instituto de Informática constará de 3 provas, nas

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões.

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões. UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 4 a Lista de Exercícios Gabarito de algumas questões. Este gabarito foi feito direto no computador

Leia mais

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1 Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e 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 http://www.icmc.usp.br/~joaoluis

Leia mais

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo. Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

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

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing PCS3616 Programação de Sistemas (Sistemas de Programação) Máquinas de Turing Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 1

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 1 Curso: Ciência da Computação Turma: 6ª Série Teoria da Computação Aula 1 Apresentação da Disciplina e Metodologia de Trabalho. Introdução a Teoria da Computação. Apresentação do Professor André Luís Bordignon

Leia mais

Semântica Operacional

Semântica Operacional Semântica Conceitos Semântica é o estudo do significado. Incide sobre a relação entre significantes, tais como palavras, frases, sinais e símbolos, e o que eles representam, a sua denotação. Semântica

Leia mais

1 Postulado de Church-Turing 1

1 Postulado de Church-Turing 1 1 Postulado de Church-Turing 1 Alguns modelos alternativos no estudo da computabilidade Turing: Máquina de Turing Gödel-Kleene: Funções recursivas Church: Cáluculo λ (funções definidas por termos λ) Post:

Leia mais

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N

Leia mais

Problemas Computáveis

Problemas Computáveis Indecidibilidade Problemas Computáveis Máquinas de Turing ou Problemas Computáveis ou Linguagens Recursivamente Enumeráveis LER (*) podem ser divididas em 2 classes: as MT que sempre param (Algoritmos),

Leia mais

Introdução a Programação

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

Leia mais

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?

1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional? capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental

Leia mais

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel Algoritmos - 5 Alexandre Diehl Departamento de Física - UFPel Estruturas usadas num algoritmo Estrutura sequencial Estrutura condicional Estrutura de repetição PCF2017 2 Estruturas usadas num algoritmo

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.

Leia mais

NOME: RA: TURMA: DATA: 26/04/2019. (Questões)

NOME: RA: TURMA: DATA: 26/04/2019. (Questões) AVALIAÇÃO ITERMEDIÁRIA DICIPLIA (ALGORITMO E PROGRAMAÇÃO) CURO DE TECOLOGIA EM AÁLIE E DEEVOLVIMETO DE ITEMA E REDE DE COMPUTADORE PROFEO Wagner antos C. de Jesus OTA: OME: RA: TURMA: DATA: 26/04/2019

Leia mais

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto

Leia mais

printing problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor;

printing problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor; 1 Introdução 1 No texto que se segue vão ser apresentados resultados sobre não decidibilidade de alguns predicados (sobre os naturais). Para certos predicados vai ser apresentada uma prova de que não é

Leia mais

Programação II. Introdução a Funções. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Introdução a Funções. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Introdução a Funções Bruno Feijó Dept. de Informática, PUC-Rio Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y

Leia mais

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Estruturas de Repetição Parte I ENQUANTO-FAÇA Estruturas de Repetição Parte I ENQUANTO-FAÇA Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI Objetivos Reconhecer a necessidade do uso de estruturas de repetição Aprender a

Leia mais

Aula 3: Algoritmos: Formalização e Construção

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

The Game-Playing Technique

The Game-Playing Technique Universidade do Vale do Rio dos Sinos Teoria da Informação Prof. Ernesto Lindstaedt 14 de junho de 2007 1 2 O que é? 3 Como funciona? 4 Provando o lema 4 Executando um jogo Cálculo da Probabilidade Lema

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais