Capítulo 3 Lógica de Primeira Ordem
|
|
- Ayrton di Azevedo
- 4 Há anos
- Visualizações:
Transcrição
1 Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur
2 Bibliografia Baseados nos slides de Andrew Rice, Universidade de Cambridge, Martins J.P., Prolog, Capítulo 5. Ben-Ari M., Mathematical Logic for Computer Science, Springer-Verlag, 2003, Capítulo 8. Alguns exercícios de listas foram tirados das folhas de PLF do Prof. Nuno Mamede
3 Programa de festas Semântica do Prolog Listas em Prolog Aspectos não puros do Prolog Atribuição Corte O Falhanço Forçado A negação Definição de novas operações
4 Semântica do Prolog Programa em Prolog sequência de cláusulas (e não conjunto!!!!) refutação SLD com: função de selecção que escolhe o primeiro literal numa cláusula objectivo; regra de procura que escolhe a primeira cláusula na sequência de cláusulas que constitui o programa.
5 Semântica do Prolog Aspectos a considerar semântica declarativa: o que estamos a calcular semântica procedimental: como calcular
6 Semântica declarativa ant(x, Z) :- ant(x, Y), ad(y, Z). se ant(x, Y) e ad(y, Z) se verificam para uma dada substituição para as variáveis X, Y e Z, então ant(x, Z) tb é verdade para essa substituição das variáveos X e Z.
7 Semântica procedimental ant(x, Z) :- ant(x, Y), ad(y, Z). para provar ant(x, Z) há que provar primeiro ant(x, Y) e depois, com as substituições adequadas, provar ad(y, Z).
8 Semântica procedimental do Prolog Para provar um objectivo, percorrem-se as cláusulas do programa pela ordem em que aparecem e tenta-se utilizar cada uma por essa ordem unificando o objectivo com a cabeça da cláusula:
9 Semântica procedimental do Prolog se a unificação falha próxima, ou falhanço se não existem mais cláusulas; se a unificação tem sucesso, aplica-se a substituição resultante da unificação aos literais no corpo da cláusula e resolve-se cada um dos objectivos do corpo da cláusula, da esquerda para a direita (sucesso se todos os objectivos tiveram sucesso, insucesso se um dele falha);
10 Semântica procedimental do Prolog se falha um dos objectivos, retrocede-se para o objectivo mais recente para o qual ainda pode haver uma solução.
11 Importância da ordem das cláusulas Prolog segue estratégia de procura em profundidade com retrocesso Pode nunca encontrar solução (mesmo que ela exista) caso siga por um caminho infinito Função de selecção escolhe o primeiro literal do objectivo Regra de procura escolhe a primeira cláusula determinada
12 Importância da ordem das cláusulas: árvore SLD p(a). p(b). p(c). q(c). : p(x),q(x). : p(x),q(x). : q(a). : q(b). : q(c).
13 Importância da ordem das cláusulas: exemplo
14 Vamos lá aos exemplos
15 E vamos lá voltar às nossas amigas listas
16 Soma dos elementos de uma lista soma([],0). soma([cabeca Cauda],N) :- soma(cauda,m), N is M+Cabeca.
17 Remoção de um elemento de uma lista remove(cabeca,[cabeca Cauda],Cauda). remove(x,[cabeca Cauda1],[Cabeca Cauda2]) :- remove(x,cauda1,cauda2).?- remove(el,[1,2,3],res).
18 ?- remove(el,[1,2,3],res).: árvore SLD remove(el,[1,2,3],res). El=1, Res = [2,3]
19 ?- remove(el,[1,2,3],res).: árvore SLD remove(el,[1,2,3],res) El=2, Res = [1,3] remove(el,[2,3],cauda2) El=2, Cauda2 = [3]
20 ?- remove(el,[1,2,3],res).: árvore SLD remove(el,[1,2,3],res) El=3, Res = [1,2] remove(el,[2,3],cauda2) El=3, Cauda2 = [2] remove(el,[3],cauda22) El=3, Cauda22 = []
21 ?- remove(el,[1,2,3],res).: árvore SLD remove(el,[1,2,3],res) No remove(el,[2,3],cauda2) remove(el,[3],cauda22) remove(el,[],cauda23
22 ?- remove(el,[1,2,3],res).: árvore SLD
23 Comprimento de uma lista (O(N)) Requisitos de memória: O(N) para lista de comprimento N comp1([],0). comp1([ Cauda],N) :- comp1(cauda,m), N is M+1.?- comp1([1,2],x). comp1([1 [2]],X) :- comp1([2],m), X is M+1. comp1([2 []],M) :- comp1([],m1), M is M1+1. comp1([],0). M1 = 0 M is M1+1 M = 1 X is M+1 X = 2 comp1([1,2],2)
24 Comprimento de uma lista (O(1)) Requisitos de memória: O(1) comp2(lista,res) :- comp2(lista,0,res). comp2([],acum,acum). comp2([ Cauda],Acum,Res) :- Acum1 is Acum+1, comp2(cauda,acum1,res).?- comp2([1,2],x). comp2([1,2],x) :- comp2([1,2],0,x). comp2([1 [2]],0,X) :- Acum1 is 0+1, comp2([2],acum1,x). comp2([2 []],1,X) :- Acum1 is 1+1, comp2([],acum1,x). comp2([],2,2). X=2 comp2([1,2],2)
25 Comprimento de uma lista: execução
26 Factorial (versão recursiva) factorial(0, 1). factorial(x, Y) :- X > 0, X1 is X-1, factorial(x1, Z), Y is X * Z.
27 Factorial (versão recursiva em scheme) (define (factorial n) (if (= n 0) 1 (* n (factorial (- n 1)))))
28 Permutação de listas perm([],[]). perm(lst,[cabeca Cauda]) :- remove(cabeca,lst,res),perm(res,cauda).
29 Permutação de listas: exemplo
30 E vamos lá fazer uns exercícios... Adiciona um elemento ao fim de uma lista Selecciona o n-ésimo elemento de uma lista
31 Adiciona um elemento ao fim da lista adicionafim(x, [],[X]). adicionafim(x, [Y L], [Y L1]) :- adicionafim(x, L, L1).
32 Selecciona o n-ésimo elemento de uma lista nth(1, [X L], X). nth(n, [X L], R) :- N > 1, N1 is N-1, nth(n1, L, R).
Capítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Baseados nos slides de Andrew Rice, Universidade
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisCapítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Baseados nos slides de Andrew Rice, Universidade
Leia maisCapítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Martins J.P., Lógica para Programação, Capítulo
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisConceitos Básicos. LEIC 2 o Semestre, Ano Lectivo 2012/13. c Inês Lynce
Capítulo 1 Conceitos Básicos Lógica para Programação LEIC 2 o Semestre, Ano Lectivo 2012/13 c Inês Lynce Bibliografia Martins J.P., Lógica para Programação, Capítulo 1. Ben-Ari M., Mathematical Logic for
Leia maisConceitos Básicos. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 1 Conceitos Básicos Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Bibliografia Martins J.P., Lógica para Programação (as folhas serão
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisA linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos.
A linguagem Prolog Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. Um termo ou é uma constante, ou uma variável ou um termo composto. As constantes incluem
Leia maisUNIDADE ACADÊMICA: Faculdade de
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2
Leia maisMecanismos de Controle
Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,
Leia maisLógica Computacional
Lógica Computacional DCC/FCUP 2018/19 Conteúdo 1 Introdução à Programação em Lógica 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade de Cláusulas....................................
Leia maisLógica Computacional (CC2003)
Lógica Computacional (CC2003) Nelma Moreira Lógica Computacional 24 Conteúdo 1 Introdução à Programação em Lógica 1 1.1 Resolução SLD............................ 1 1 Introdução à Programação em Lógica
Leia maisBUSCA DE SOLUÇÕES EM PROLOG
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ BUSCA DE SOLUÇÕES EM PROLOG Resolução em PROLOG: Unificação e substituição 1 UNIFICAÇÃO EM PROLOG HISTÓRICO 2 HISTÓRIA A PARTIR DE 1950 1958 forma clausal:
Leia maisConferência Árvores de resolução SLD
Inteligência Artificial Conferência Árvores de resolução SLD O Docente: MSc. Angel Alberto Vazquez Sánchez Objetivo Construir uma árvore de resolução SLD a partir de um objetivo do PROLOG, aplicando o
Leia maisSintaxe e Semântica de Programas Prolog
Sintaxe e Semântica de Programas Prolog Esta aula trata da sintaxe e semântica de conceitos básicos em Prolog relacionados à manipulação de listas Lista é uma das estruturas mais simples em Prolog, muito
Leia maisProgramação Lógica. Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel
Programação Lógica Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 7 de outubro de 2015 Paulo H. R. Gabriel (FACOM/UFU)
Leia maisSCC Capítulo 3 Prova Automática de Teoremas
SCC-630 - Capítulo 3 Prova Automática de Teoremas 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 maisSCC Capítulo 5 Representação de Conhecimento através do Prolog
SCC-630 - Capítulo 5 Representação de Conhecimento através do Prolog 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
Leia maisProlog: Programação em
Capítulo 7 Prolog: Programação em Lógica em Prática It is not really difficult to construct a series of inferences, each dependent upon its predecessor and each simple in itself. If, after doing so, one
Leia maisFernando Silva DCC-FCUP. Estruturas de Dados
3. Recursividade, Bactracking e Dividir-para-Conquistar Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 3. Recursividade, Bactracking e Dividir-para-Conquistar Estruturas de Dados
Leia maisEugénio Oliveira Outros docentes da cadeira:
eco@fe.up.pt www.fe.up.pt/~eco.html Outros docentes da cadeira: Daniel Moura- T e P dcm@fe.up.pt Rui Gomes- P rjgomes@fe.up.pt 1 Objectivos Adquirir familiaridade com os paradigmas da, Programação com
Leia maisUNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Exercícios para as aulas práticas de Lógica para Programação
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Exercícios para as aulas práticas de Lógica para Programação Ana Cardoso-Cachopo Ano Lectivo 2007/2008 2 o Semestre CONTEÚDO 1 Conteúdo 1 Argumentos
Leia maisRetrocesso e corte. Paradigma de Programação Lógico. Marco A L Barbosa
Retrocesso e corte Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Retrocesso
Leia maisInteligência Artificial. Prolog. Aula 2 Introdução (cont.)
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Prolog Aula 2 Introdução (cont.) Características
Leia maisComparação com Divisão e Conquista
Programação Dinâmica Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação
Leia maisO termo Programação Dinâmica é um bocado infeliz.
Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 18 Programação Dinâmica Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação
Leia maisSherlock Holmes The Dancing Men
Capítulo 5 Prolog It is not really difficult to construct a series of inferences, each dependent upon its predecessor and each simple in itself. If, after doing so, one simply knocks out all the central
Leia maisLógica para Computação
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br Resolução e PROLOG Passos para obter a forma clausal de uma fbf: 1. Obter a forma normal
Leia maisUSANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio
USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais
Leia maisIntrodução à Ciência da Computação II. Recursão. Prof. Ricardo J. G. B. Campello
Introdução à Ciência da Computação II Recursão Prof. Ricardo J. G. B. Campello Agradecimentos Parte dos slides a seguir são adaptações dos originais em Pascal gentilmente cedidos pelo Prof. Rudinei Goularte
Leia maisAplicações de Lógica. Lógica como Linguagem de Programação. Mario Benevides UFRJ
Aplicações de Lógica Lógica como Linguagem de Programação Mario Benevides UFRJ Listas Lista L=[a,b,c,d,e,f] onde a,b,...,f são elementos da lista. o elemento a é chamado de cabeça e a lista restante [b,c,d,e,f]
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Leia maisConferência Tratamento de listas no PROLOG
Inteligência Artificial Conferência Tratamento de listas no PROLOG O Docente: MSc. Angel Alberto Vazquez Sánchez Objetivo Caracterizar as listas no Prolog, fazendo ênfase em sua definição recursiva. Bibliografía
Leia maisCompiladores - Especificando Sintaxe
Compiladores - Especificando Sintaxe Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura
Leia maisInteligência Artificial
Inteligência Artificial Taguspark Segundo Teste 14 de Junho de 006 9H00-10H30 Nome: Número: Este teste tem 8 perguntas e 11 páginas. Escreva o número em todas as páginas. Deve ter na mesa apenas o enunciado
Leia maisUniversidade de Aveiro
Universidade de Aveiro 1998/99 Disciplina Introdução à Programação em Lógica (IPL) Curso MAC 1 ō Semestre 2 ō Semestre Anual Docente Delfim Fernando Marado Torres 1107 03.03.99 Apresentação: Enquadramento
Leia maisUNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Exercícios para as aulas práticas de Lógica para Programação
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Exercícios para as aulas práticas de Lógica para Programação Ana Cardoso-Cachopo Ano Lectivo 2007/2008 CONTEÚDO 1 Conteúdo 1 Argumentos e validade
Leia maisMecanismos de Controle
Mecanismos de Controle Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Introdução Embora o Prolog seja uma linguagem de programação declarativa,
Leia maisGrafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36
Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da
Leia maisLógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.
Lógica de Hoare Método axiomático para provar que determinados programas são corretos. Introduzido em 1969 por Charles Antony Richard Hoare. Também utilizado para especificar a semântica de linguagens
Leia maisEstruturas de Dados. Revisão de Funções e Recursão. Agradecimentos
Estruturas de Dados Revisão de Funções e Recursão Prof. Ricardo J. G. B. Campello Agradecimentos Parte dos slides a seguir são adaptações dos originais em Pascal gentilmente cedidos pelo Prof. Rudinei
Leia mais2. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.
Capítulo 5 Abstracção de dados 5. Exercícios de revisão. Diga o que é um tipo abstracto de informação.. Diga qual é a diferença entre tipos de informação elementares e tipos de informação estruturados.
Leia maisInteligência Artificial Apontamentos para as aulas Luís Miguel Botelho
Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação ISCTE-IUL - Instituto Universitário de Lisboa Dezembro de 2016 1 Notas sobre
Leia maisUnificação PROGRAMAÇÃO EM LÓGICA. Unificação. Unificação. Unificação. Unificação. Linguagem Prolog Parte III
PROGRAMAÇÃO EM LÓGICA CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte III Prof. Sergio Ribeiro Adaptado do material da Profª Elaine Ribeiro Universidade
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO Ano Lectivo 2013/2014
Programa da Unidade Curricular PROGRAMAÇÃO Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular PROGRAMAÇÃO
Leia maisFundamentos de Programação
Fundamentos de Programação Primeiro Teste 6 de Novembro de 200 09:00 0:30 SOLUÇÃO. (.0) Escolha a única afirmação incorrecta. Uma resposta certa vale valor e uma resposta errada desconta 0.4 valores. A.
Leia maisa) Defina em Prolog iguais/1, um predicado que recebe um estado do jogo e que verifica que todas as pilhas têm o mesmo número de peças.
Introdução à Inteligência Artificial 2ª Época 29 Janeiro 2015 Nº Aluno: Nome Completo: Exame com consulta. Responda às perguntas nesta própria folha, nos espaços indicados. (I) O jogo do Nim (também chamado
Leia maisPROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15
Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado
Leia maisObjetos Estruturados Listas Recursão Exercícios. Inteligência Artificial
Prolog Objetos Estruturados Objetos Estruturados Listas Recursão Exercícios Inteligência Artificial Exercícios Relembrando a introdução: 1. Escreva um programa Prolog para representar: João nasceu em Campos
Leia maisRecursividade. Objetivos do módulo. O que é recursividade
Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade
Leia maisParadigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I
Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,
Leia maisAula prática 5. Funções Recursivas
Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário
Leia mais1 5 = = = = = = = = 5
MATRIZES PARTE II. Matriz dos Cofatores Dada uma matriz A, a cada elemento aij de A está associado um cofator Cij. Definição: Chama-se matriz dos cofatores de A, e denota-se por A,a matriz A = [C ij ].
Leia maisExercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.
Leia maisAnálise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42
Análise Sintática I Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Introdução 2 Derivações 3 Ambiguidade 4 Análise sintática descendente
Leia maisAula 13 - Somas de Séries
Aula 13 - Somas de Séries Vamos resolver alguns problemas que calculam somas. Vamos resolvê-los sem usar a função pow, para fazer uso da técnica de calcular um termo a partir do anterior. P46) Dado n>0
Leia maisProf. A. G. Silva. 24 de agosto de Prof. A. G. Silva Programação em Lógica 24 de agosto de / 1
Programação em Lógica Prof. A. G. Silva 24 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 24 de agosto de 2017 1 / 1 Termos Referem-se a todas as construções sintáticas da linguagem Um termo
Leia maisao paradigma imperativo
PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2016/2017
Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2016/2017 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º
Leia maisTécnicas de análise de algoritmos
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2010/2011
Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2010/2011 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º
Leia maisMétodos de Verificação
Método de Na construção de derivações no sistema de cálculo de sequentes: Na aplicação de cada regra, só a manipulação referente à fórmula principal é informativa. A cópia dos contextos revela-se assim
Leia maisFundamentos da Programação
Fundamentos da Programação Solução da Repescagem do Primeiro Teste 31 de Janeiro de 2013 09:00 10:30 1. De um modo sucinto, (a) (0.5) Diga o que é um processo computacional. Um processo computacional é
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018
Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4.
Leia maisExercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas
Exercícios para Fundamentos da Programação Utilizando Múltiplos Paradigmas Pedro Adão, Fausto Almeida, Ana Cardoso-Cachopo, Pedro Amaro de Matos (editores) Departamento de Engenharia Informática Instituto
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE MATEMÁTICA Ano Lectivo 2018/2019
Programa da Unidade Curricular COMPLEMENTOS DE MATEMÁTICA Ano Lectivo 2018/2019 1. Unidade Orgânica Faculdade de Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Gestão de Empresa 3. Ciclo de Estudos
Leia maisTrabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Programa de Pós-Graduação em Ciência da Computação Projeto e Análise de Algoritmos - 1 o semestre de 2010 Professor: David Menotti
Leia mais2. Linguagem de Programação Prolog
Inteligência Artificial - IBM1024 2. Linguagem de Programação Prolog Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Linguagem de Programação Prolog 2.1.
Leia maisFundamentos. Paradigma de Programação Lógico. Marco A L Barbosa
Fundamentos Paradigma de Programação Lógico Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Visão mais detalhada
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2009/2010
Programa da Unidade Curricular COMPLEMENTOS DE PROGRAMAÇÃO Ano Lectivo 2009/2010 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017
Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3.
Leia maisProgramação II RECURSÃO
Programação II RECURSÃO Bruno Feijó Dept. de Informática, PUC-Rio Motivação Escher: Metamorphosis (1937) - Drawing Hands (1948) Relativity (1953) http://www.worldofescher.com/gallery/ Alguém diz: Esta
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Existem famílias de problemas cuja solução é alcançada de forma semelhante. O relacionamento entre problemas: caso especial; versão abstração; similar. Exemplos: A inserção de um elemento
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisProgramação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP
Programação I Aula 16 Mais exemplos de recursão DCC/FCUP DCC/FCUP 2019 1/ 28 Nesta aula 1 Desenhar árvores 2 Calcular potências 3 Ordenação Quicksort DCC/FCUP 2019 2/ 28 Desenhar árvores Vamos fazer uma
Leia maisInteligência Artificial
Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Guia de Exercícios das Aulas Práticas Inteligência Artificial Prof Joaquim Filipe Eng. Adelaide
Leia maisElisabete Raposo Freire Departamento de Matemática Universidade dos Açores 21 Abril 2012
Elisabete Raposo Freire Departamento de Matemática Universidade dos Açores 21 Abril 2012 Problema de Einstein (adaptado) Existem 5 casas de 5 cores diferentes. Em cada casa vive uma pessoa de nacionalidade
Leia maisINE5403 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/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos
Leia maisCompiladores - Gramáticas
Compiladores - Gramáticas Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa
Leia maisProgramas em L1 pertencem ao conjunto de árvores de sintaxe abstrata definido pela gramática abstrata abaixo:
1 Semântica Operacional e Sistemas de Tipos Vamos definir a semântica operacional de uma série de linguagens no estilo conhecido por semântica operacional estrutural chamado também de semântica operacional
Leia maisLógica Computacional Aula 1
Lógica Computacional Aula 1 DCC/FCUP 2017/18 Funcionamento da disciplina Docentes: Teóricas: Sandra Alves Práticas: Sandra Alves e Nelma Moreira Página web http://www.dcc.fc.up.pt/~sandra/home/lc1718.html
Leia maisFundamentos de Inteligência Artificial [5COP099]
Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL 1 o Semestre Assunto Aula 5 Algoritmos de Busca 2 de 27 Sumário Introdução Gerar e Testar Busca
Leia maisétodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO
Leia maissemana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014
semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/2014 24 e 25/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE
Leia maisUniversidade de São Paulo
Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos
Leia maisLista de Figuras Figura 1 1: Figura 1 2: Figura 1 3: Figura 1 4: Figura 1 5: Figura 1 6: Figura 1 7: Figura 2 1: Figura 2 2: Figura 2 3: Figura 2 4:
Lista de Figuras Figura 1 1: Diagrama de Funcionamento do Laço while 34 Figura 1 2: Diagrama de Funcionamento do Laço do-while 35 Figura 1 3: Diagrama de Funcionamento do Laço for 36 Figura 1 4: Diagrama
Leia maisProbabilidade. Objetivos de Aprendizagem. UFMG-ICEx-EST. Cap. 2 - Probabilidade Espaços Amostrais e Eventos. 2.1.
2 ESQUEMA DO CAPÍTULO 2.1 ESPAÇOS AMOSTRAIS E EVENTOS 2.2 INTERPRETAÇÕES E AXIOMAS DE PROBABILIADE 2.3 REGRAS DE ADIÇÃO 2.4 PROBABILIDADE CONDICIONAL 2.5 REGRAS DA MULTIPLICAÇÃO E DA PROBABILIDADE TOTAL
Leia maisProgramação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.
Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana ESTRUTURAS
Leia maisInstruções de repetição
Instruções de repetição Estruturas de controlo na linguagem C Repetição (e componentes associadas a qualquer repetição: inicialização, teste da condição de paragem e actualização) Repetição com teste à
Leia maisSOCIEDADE CAMPINEIRA DE EDUCAÇÃO E INSTRUÇÃO PONTIFÍCIA UNIVERSIDADE CATÓLICA DE CAMPINAS Média de Qualidade de cada Aspecto por ano/semestre
1º Semestre de 2007 03/08/16 17:03 Pagina 1 de19 2º Semestre de 2007 03/08/16 17:03 Pagina 2 de19 1º Semestre de 2008 03/08/16 17:03 Pagina 3 de19 2º Semestre de 2008 03/08/16 17:03 Pagina 4 de19 1º Semestre
Leia maisTécnicas de Paralelização
Técnicas de Paralelização 2 Particionar e dividir para conquistar Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson &
Leia maisDOSSIER DA DISCIPLINA
DOSSIER DA DISCIPLINA PI - PROGRAMAÇÃO IMPERATIVA Licenciatura em Matemática e Ciências da Computação (1º ano) Docente responsável: José Carlos Ramalho Ano lectivo de 2004/2005-2º semestre INDICE Apresentação...
Leia maisLógica para Computação
Aula 07 - Lógica Proposicional 1 Faculdade de Informática - PUCRS August 27, 2015 1 Este material não pode ser reproduzido ou utilizado de forma parcial sem a permissão dos autores. Sinopse Nesta aula,
Leia maisÍNDICE. PREFÁCIO xv. 3 PROCESSOS GERADOS POR PROCEDIMENTOS Recursão Linear Cálculo de potências Cálculo de factoriais 91
ÍNDICE PREFÁCIO xv 1 NOÇÕES BÁSICAS 1 1.1 Algoritmos 5 1.2 O Desenvolvimento de Programas 8 1.3 Programas em Scheme 11 1.3.1 Sintaxe e semântica 13 1.3.2 Construção de formas 15 1.4 Expressões 16 1.4.1
Leia maisAula de hoje Aula passada
Aula 2 Aula passada Logística, programação, regras do jogo Três problemas Monte Carlo to the rescue História das origens Monte Carlo na Computação Aula de hoje Espaço amostral Probabilidade Eventos Independência
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO Ano Lectivo 2012/2013
Programa da Unidade Curricular PROGRAMAÇÃO Ano Lectivo /2013 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade Curricular
Leia maisLógica para Computação Primeiro Semestre, Aula 10: Resolução. Prof. Ricardo Dutra da Silva
Lógica para Computação Primeiro Semestre, 2015 DAINF-UTFPR Aula 10: Resolução Prof. Ricardo Dutra da Silva A resolução é um método de inferência em que: as fórmulas devem estar na Forma Clausal; deduções
Leia maisComputação e Programação
Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 6 Estruturas de Repetição (FOR, WHILE) A instrução break Pré-alocação de variáveis D.E.M. Área Científica de Controlo Automação
Leia mais