Capítulo 3 Lógica de Primeira Ordem
|
|
- Amélia Carrilho Vilanova
- 6 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.
3 Paradigmas de programação Programação funcional (e.g. Scheme) Programação imperativa (e.g. C) Programação em lógica (e.g. Prolog) Exemplo: função soma - recebe uma lista de inteiros, devolve um inteiro que corresponde à soma dos elementos da lista soma([],0). % soma para lista vazia é 0 soma([cabeca Cauda],N) :- soma(cauda,m), N is M+Cabeca. % a soma da lista com a cabeça Cabeca e a cauda Cauda é N % se a soma da lista Cauda é M e N=M+Cabeca Em programação em lógica Programa = lógica + controlo
4 PROLOG = PROgramação em LÓGica Introduzido em 1973 no âmbito do processamento de ĺıngua natural Colmerauer, A., Kanoui, H., Roussel, P. and Pasero, R. Un systeme de communication hommemachine en français, Groupe de Recherche en Intelligence Artificielle, Université d Aix-Marseille SWI-Prolog Open-source Desenvolvido desde 1987 Disponível para plataformas Linux, Mac e Windows
5 Prolog: conceitos básicos Programa = factos + regras Factos correspondem a afirmações; consistem em letras de predicado (iniciados com letra minúscula) com 1 ou + argumentos Exemplos numero(1234). pessoa(ana). idade(jose,22). frequenta(rui,lp). Correspondem a cláusulas de Horn que consistem num literal positivo Terminam com ponto final (.)
6 Prolog: conceitos básicos (cont.) Regras permitem realizar inferência Correspondem a cláusulas de Horn com um literal positivo e pelo menos um literal negativo Exemplo avo(x,z) :- ascendente directo(y,x), ascendente directo(z,y). Operador :- deve ser interpretado como se e, deve ser interpretada como e Regra anterior deve ser interpretada como X é avô de Z se Y for ascendente directo de X e Z for ascendente directo de Y Executar um programa implica colocar questões Questões correspondem a objectivos: cláusulas de Horn que têm somente literais negativos?- avo(pedro,nuno).
7 Exemplo básico de interacção em Prolog Janela de interacção Linux: comando pl Mac: comando swipl Windows: comando plwin.exe Tipicamente é criado um shortcut no Desktop durante a instalação No caso de se pretender trabalhar na linha de comandos (MS-DOS) usar plcon.exe Aceita somente comandos e objectivos Termina com o comando halt. (ou CTRL+D)
8 Exemplo básico de interacção em Prolog (cont.) Programa (regras ou factos) + Objectivo Unificação é fundamental Tipicamente programas são escritos num ficheiro (.pl)?- [<nome-programa>]. carrega o programa Alternativa: [user]. Objectivos também podem ser incluídos no ficheiro Antecedidos por :- Objectivos com várias respostas <Enter> aceita uma resposta ; pede a resposta seguinte
9 Exemplo básico de interacção em Prolog
10 Exemplo básico de interacção em Prolog (cont.)
11 Exemplo básico de interacção em Prolog (cont.)
12 Estruturas de dados simples: constantes Constantes: átomos + números Átomos Cadeias que podem incluir letras, dígitos e (underscore) e que têm de ser iniciadas por letra minúscula ana, nuno, ana silva, x 25 Cadeias de caracteres especiais < >,...,. :. Atenção: não podem coincidir com cadeias que têm um significado pré-definido (e.g. : ) Cadeias de caracteres limitadas por plicas ana, Ana Silva Números Inteiros e reais 1, -97, ,
13 Estruturas de dados simples: variáveis Cadeias que podem incluir letras, dígitos e e que têm de ser iniciadas por letra Maiúscula ou X, Resultado, Lista participantes, x23 Variável representa uma variável sem nome Variáveis singleton: aparecem somente uma vez numa cláusula; podem sempre ser substituídas por Domínio de uma variável corresponde a uma única cláusula
14 Literais Correspondem à aplicação de um predicado ao número apropriado de termos; Permitem criar objectos que agrupam um conjunto de objectos: tipo-de-objecto(componente-1, componente-2,...) Exemplo data(dia,mes,ano). data(14,novembro,2007). data(25,dezembro,2000). datadenascimento(pessoa,(13,junho,1888)).
15 Regras regra(x,y) :- parte1(x),parte2(x,y). regra(x,y) corresponde à cabeça parte1(x),parte2(x,y) corresponde ao corpo Significado: regra(x,y) é verdadeira se parte1(x) é verdadeira e parte2(x,y) é verdadeira
16 Variáveis internas são comuns regra2(x) :- algo(x,z),casocontrario(z). Significado: regra2(x) é verdadeira se existe Z tal que algo(x,z) é verdadeiro e casocontrario(z) é verdadeiro
17 Overloading de predicados em Prolog O mesmo predicado pode ser definido com um número de argumentos diferente e com significados diferentes: A cláusula predicado xpto. corresponde a predicado xpto/0 A cláusula predicado xpto(a). corresponde a predicado xpto/1
18 Funções aritméticas + \ etc.
19 Operadores relacionais numéricos em Prolog > < >= =< =:= (predicado da igualdade aritmética) =\= (negação do predicado da igualdade aritmética)
20 Exemplo?- 3 =:= +(2, 3). No?- 3 =:= +(2, 1). yes
21 Operadores relacionais = (predicado da unificação tem sucesso se os dois termos são unificáveis) \= (negação do predicado de unificação) == (predicado de identidade tem sucesso se os dois termos são idênticos) \== (negação do predicado de identidade)
22 Exemplo?- f(a, 6) = f(x, Y). X = a, Y = 6?- f(a, 6) = f(b, Y). No?- f(a, 6) == f(x, Y). No?- f(a, 6) == f(a, 6). yes
23 O operador de atribuição is (avalia numericamente a expressão do lado direito e unifica com expressão do lado esquerdo)... voltaremos a falar deste operador lá para a frente...
24 Exemplo?- Y = Y = 6+3?- Y is Y = 9
25 Exemplo?- X is 3+4. X = 7?- (6>5, 3 =:= 4, X is 3; X is 8). X = 8?- (6>5, 3 =\= 4, X is 3; X is 8). X = 3
26 Listas Representadas por uma sequência de elementos limitados por parêntesis rectos [el 1,...,el n ] [] representa a lista vazia Símbolo permite referência à cauda da lista Lista [tenis,judo,natacao] unifica com [Cabeca Cauda] [tenis Cauda] [El1,El2 Cauda] [tenis,judo Cauda] [tenis,judo,natacao []]...
27 Regras e listas: outro exemplo ultimo([x],x). ultimo([ Cauda],X) :- ultimo(cauda,x).
28 Regras, listas e expressões aritméticas: exemplo soma([],0). soma([cabeca Cauda],N) :- soma(cauda,m), N is M+Cabeca.
29 Regras, listas e expressões aritméticas: execução
30 Regras, listas e expressões aritméticas: execução (cont.)
31 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)
32 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)
33 Comprimento de uma lista: execução
34 Vamos lá ver isto à mão...
35 Predicados amigos Existem três predicados pré-definidos que permitem guardar todos os objectos resultantes de uma resposta correcta 1. bagof guarda colecções de instanciações possíveis 2. setof guarda colecções ordenadas e sem repetições de instanciações possíveis 3. findall igual a bagof mas quantifica existencialmente variáveis Sintaxe: bagof setof findall(<objecto>,<objectivo>,<res>)
36 Guardar soluções: exemplo p(3,5,2). p(1,3,5). p(2,4,2). p(2,4,1). p(4,3,1).?- bagof(z,p(x,y,z),saco). X = 1 Y = 3 Saco = [5] ; X = 2 Y = 4 Saco = [2,1] ; X = 3 Y = 5 Saco = [2] ; X = 4 Y = 3 Saco = [1]?- setof(z,p(x,y,z),conjunto). X = 1 Y = 3 Conjunto = [5] ; X = 2 Y = 4 Conjunto = [1,2] ; X = 3 Y = 5 Conjunto = [2] ; X = 4 Y = 3 Conjunto = [1]?- findall(z,p(x,y,z),saco). Saco = [2, 5, 2, 1, 1]
37 Guardar soluções: exemplo (cont.) Objectivo bagof(z,x^y^p(x,y,z),saco) corresponde ao Saco de Z s tal que existe um X e existe um Y para os quais se verifica p(x,y,z) Corresponde à quantificação existencial de variáveis?- bagof(z,x^y^p(x,y,z),saco). Saco = [2, 5, 2, 1, 1]?- setof(z,x^y^p(x,y,z),conjunto). Conjunto = [1, 2, 5]
38 Guardar soluções: exemplo (cont.) Por analogia...?- bagof(z,x^p(x,y,z),saco). Y = 3, Saco = [5, 1] ; Y = 4, Saco = [2, 1] ; Y = 5, Saco = [2]?- setof(z,x^p(x,y,z),conjunto). Y = 3, Conjunto = [1, 5] ; Y = 4, Conjunto = [1, 2] ; Y = 5, Conjunto = [2]
39 Guardar soluções: exemplo (cont.) findall devolve a lista vazia [] se o objectivo não é satisfeito, enquanto que bagof falha?- bagof(z,(p(x,y,z),z>5),saco). No?- findall(z,(p(x,y,z),z>5),saco). Saco = []
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 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 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 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 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 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 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 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 maisParadigmas de Linguagens de Programação. Linguagens de Programação Lógicas
Linguagens de Programação Lógicas Cristiano Lehrer Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência lógica para produzir
Leia maisAMBIENTE DE PROGRAMAÇÃO PYTHON II
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 2 AMBIENTE DE PROGRAMAÇÃO PYTHON II 2.1. Objectivos
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 maisLinguagens Lógicas. Aluno: Victor Rocha
Linguagens Lógicas Aluno: Victor Rocha Roteiro Introdução Cálculo de Predicados Proposições Conectores Lógicos Variáveis Tipos de Cláusulas fatos regras Banco de Dados Prolog Fatos em Prolog Questões Unificaçã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 maisProgramação Orientada a Objetos. Programação Lógica
Programação Orientada a Objetos Programação Lógica Cristiano Lehrer, M.Sc. Introdução Uma metodologia de programação diferente. Expressar programas na forma de lógica simbólica e a utilização de inferência
Leia maisProf. Marcos A. Schreiner. 15 de junho de Prof. Marcos A. Schreiner (UFPR) 15 de junho de / 18
Prolog - Programação Lógica Prof. Marcos A. Schreiner Disciplina de Introdução à Lógica 15 de junho de 2015 Prof. Marcos A. Schreiner (UFPR) 15 de junho de 2015 1 / 18 1 Introdução 2 Prolog Definições
Leia maisVariáveis o nome de uma variável pode ser qualquer sequência de caracteres alfanuméricos que começa com uma letra maiúscula ou com um underscore (_).
Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado
Leia maisVamos agora abordar um conjunto de aspectos complementares, incluindo:
Alguns aspectos complementares da linguagem PROLOG Vamos agora abordar um conjunto de aspectos complementares, incluindo: A conversão de strings em listas de códigos A carga de programas e Bases de Conhecimento
Leia maisAlgoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi
Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se
Leia maisUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG PROF. CESAR A. TACLA UTFPR/CURITIBA
PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROLOG 1 PROLOG: UTILIZAÇÃO A principal utilização da linguagem Prolog reside no domínio da programação simbólica, não-numérica, sendo especialmente adequada
Leia maisDescrição do Mundo de Wumpus. Inteligência Artificial
Descrição do Mundo de Wumpus Mundo de Wumpus Mundo de Wumpus -1 Mundo de Wumpus - 2 Mundo de Wumpus - 3 Mundo de Wumpus - 4 Wumpus Outros Pontos Críticos Descrição Lógica do Mundo de Wumpus Identidades
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 maisProjecto de Lógica para Programação Os suspeitos do costume
Projecto de Lógica para Programação Os suspeitos do costume Licenciatura em Engenharia Informática e de Computadores Instituto Superior Técnico 2012-2013 1 Introdução A Avó Einstein vive num bairro problemático,
Leia maisCompilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Leia maisNoções de algoritmos - Aula 1
Noções de algoritmos - Aula 1 Departamento de Física UFPel Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir
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 maisLinguagens Lógicas. Alunos: Josiane Novais Cláudio Moisés
Linguagens Lógicas Alunos: Josiane Novais Cláudio Moisés Declarativos em vez de baseados em procedimentos Sintaxe diferente das linguagens imperativas e funcionais. Semântica é pouco semelhante a linguagem
Leia maisTASM DEFINIÇÃO DE UMA NOVA TABELA DE CONVERSÃO
TASM O TASM (Telemark Assembler) é um assemblador baseado em tabelas de conversão que corre em MS-DOS ou Linux. Código Assembly escrito de acordo com uma determinada sintaxe pode ser compilado usando o
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 maisAlgoritmos - 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 mais03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi. Introdução ao Prolog
LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com Introdução ao Prolog 1 PROLOG PROgramming in LOGic Linguagem utilizada para resolver problemas
Leia mais5. Expressões aritméticas
5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis
Leia maisProgramação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010
Programação em Lógica UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Roteiro Introdução Conceitos Básicos Linguagens Lógicas Semântica de Modelos Semântica de Prova Programação
Leia maisAula 3 Primeiros programas
Aula 3 Primeiros programas FACOM-UFMS 2012 OBJETIVOS DA AULA Introdução ao CodeBlocks; Criação dos primeiros programas; Esta aula foi baseada nos capítulos 3 e 4 da apostila de Programação de Computadores
Leia mais08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,
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 maisInformá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17
Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Pedro Barahona 2016 / 17 Introdução Esta unidade curricular, é uma variante de outras similares leccionadas a outros cursos da FCT/NOVA,
Leia maisFundamentos da Programação
Fundamentos da Programação Segundo Teste 10 de Janeiro de 2014 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 8 páginas com 12 perguntas. A cotação de cada pergunta está assinalada
Leia maisVariável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes
Programação de Computadores III Aula 3 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula
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 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 maisCENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG. Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira
CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS PROLOG Elias Melgaço Chaves Júnior Jonatas Luiz da Costa Rafael Gonçalves Barreira Roteiro Linguagens de Programação em Lógica: histórico THIS IS PROLOG!!!! SWI-Prolog
Leia maisFicha Prática 1. José Creissac Campos, António Nestor Ribeiro {jose.campos, anr}@di.uminho.pt PPIII (LESI) 2002/03
Ficha Prática 1 José Creissac Campos, António Nestor Ribeiro {jose.campos, anr}@di.uminho.pt PPIII (LESI) 2002/03 Objectivos 1. Aprender a trabalhar com o interpretador. 2. Fazer interrogações à informação
Leia maisAlgoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira
Algoritmos Lógica e Programação 2016-2 Prof. Me. Adelson Felipe Dias Nogueira E-mail: adelson.nogueira@pitagoras.com.br PORTUGUES ESTRUTURADO o o o o Para que o algoritmo possa ser executado por uma máquina
Leia maisCONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON
Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1.
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
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 maisSCC Capítulo 2 Lógica de Predicados
SCC-630 - Capítulo 2 Lógica de Predicados 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
Leia maisPROLOG OPERADORES PRÉ-DEFINIDOS
118 11 PROLOG OPERADORES PRÉ-DEFINIDOS Exercício 11.6 Suponha que tem uma base de dados que indica as notas que os alunos tiveram nas várias disciplinas (nota(nome,disciplina,nota)) e quais os alunos inscritos
Leia maisProgramação de Computadores I. Professor Ilaim Costa Junior
Programação de Computadores I Professor Ilaim Costa Junior ilaim@ic.uff.br Roteiro da Aula de Hoje ariável Tipos básicos Declaração Expressões Aritméticas Lógicas Atribuição 2 ariável Representa uma região
Leia maisPORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Leia maisSistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira
Sistemas de Gestão De Bases de Dados Criação de Tabelas na vista estrutura A Professora: Vanda Pereira Módulo 2 Para criar uma tabela basta clicar no separador Criar grupo Tabela Vai aparecer no lado esquerdo
Leia maisALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados
3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção
Leia maisALGORITMOS AULA 2. Profª Amanda Gondim
ALGORITMOS AULA 2 Profª Amanda Gondim LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos que realizam cálculo matemáticos, todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas
Leia maisEstrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para
Leia maisTECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula 4 1 Programação : Declaração de variáveis. Algoritmos: Agenda Solicitação de entrada, exibição.depuração. Tipos de dados
Leia maisProlog. MATA56 - Paradigmas de Linguagens de Programação, UFBA, Prof. Rodrigo Rocha Prolog. Iniciando.
Prolog MATA56 - Paradigmas de Linguagens de Programação, UFBA, 2016.1. Prof. Rodrigo Rocha (rodrigo@dcc.ufba.br) Baseada na lógica de primeira ordem (lógica de predicados) Concebida na década de 1970
Leia maisProgramação Lógica PROLOG. Programação Lógica: Prolog
Programação Lógica PROLOG PROGRAMAÇÃO LÓGICA COM PROLOG 1 Programação Lógica: Prolog Programação Lógica: um estilo diferente de programar, muito diferente das linguagens de programação convencionais como
Leia maisConceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Leia maisPMR-3510 Inteligência Artificial Aula 2 - Resolução de problemas em IA
Escola Politécnica da USP- Depto. de Enga. Mecatrônica Inteligência Artificial Aula 2 - Resolução de problemas em IA Prof. José Reinaldo Silva reinaldo@usp.br Sobre a avaliação do curso Avaliação: Lista
Leia maisMétodos de Programação I Ana Maria de Almeida
Métodos de Programação I 2. 13 type naipe = ( ouros, copas, paus, espadas ); var trunfo : naipe; Claro que são apenas identificadores e não existirá a mesma escolha de operadores e funções sobre eles que
Leia maisLógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas
Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas Prof. Me. Hélio Esperidião Ferreira Objetivos: (Entender os principais conceitos atuais e históricos sobre o desenvolvimento
Leia maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Leia maisGSI010 - Programação Lógica Predicados extra-lógicos
GSI00 - Programação Lógica Predicados extra-lógicos Aula de hoje Predicados extra-lógicos Operações com listas Operações com as bases de fatos Predicados extra-lógicos Definição Predicado para trabalhar
Leia maisSegundo programa: media.c
Segundo programa: media.c Vamos analisar um programa que calcula a média ponderada entre dois números: media.c Linhas de comentário: Num arquivo com o código de um programa C (código fonte), um comentário
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Leia maisProf. A. G. Silva. 31 de agosto de Prof. A. G. Silva Programação em Lógica 31 de agosto de / 1
Programação em Lógica Prof. A. G. Silva 31 de agosto de 2017 Prof. A. G. Silva Programação em Lógica 31 de agosto de 2017 1 / 1 Listas (revisão) Elementos separados por vírgulas entre colchetes: [a, b,
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS
Leia maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução a Algoritmos (Parte II) Luis Martí Instituto de Computação Universidade ederal luminense lmarti@ic.uff.br - http://lmarti.com Roteiro da Aula de Hoje
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Leia maisIntrodução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Leia maisAula teórica 7. Preparado por eng.tatiana Kovalenko
Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana
Leia maisVariáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Leia maisParadigma de Programação Lógico. Marco A L Barbosa
Introdução 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 Introdução Imperativo
Leia maisIntrodução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro
Leia maisApêndice A. Pseudo-Linguagem
Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,
Leia maisALGORITMOS E ESTRUTURA DE DADOS
ALGORITMOS E ESTRUTURA DE DADOS Algoritmos Tipos de Dados Prof. André Peixoto - Todo o trabalho realizado por um computador é baseado na manipulação dos dados/informações contidas em sua memória. Podemos
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisAlgoritmos e Programação. Ederson Luiz da Silva Ciência da Computação
Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Conteúdo ALGORITMOS Conceitos e características; Formas de representação; Diretrizes para criação de algoritmos; Fluxogramas; Pseudocódigo
Leia maisINFORMÁTICA APLICADA AULA 03 ALGORITMOS
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 03 ALGORITMOS Profª ª Danielle Casillo LINEARIZAÇÃO DE EXPRESSÕES Para a construção de algoritmos
Leia maisIntrodução à Lógica de Programação
Introdução à Lógica de Programação Não estamos aqui para sobreviver e sim para explorar a oportunidade de vencer adquirindo o saber! (Autor Desconhecido) A lógica é a arte de pensar correctamente e, visto
Leia maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisNelma Moreira. Aula 17
Lógica e Programação Nelma Moreira Aula 17 Conteúdo 1 Programação em Lógica 1 1.1 Resolução para a lógica proposicional................ 1 1.2 Cláusulas............................... 3 1.3 Conversão para
Leia maisSistemas-L: Implementação em Java
Sistemas-L: Implementação em Java Luís Gil Setembro 2003 Conteúdo 1 Breve Introdução aos Sistemas-L 2 2 Utilização e invocação do programa 3 3 Ficheiro de descrição do sistema 4 4 Discussão da implementação
Leia mais1 Introdução à Programação O que é? Para que serve?... 1
Nesta aula... Conteúdo 1 Introdução à Programação 1 1.1 O que é?................................. 1 1.2 Para que serve?............................. 1 2 Linguagens de programação 2 2.1 Programação estruturada........................
Leia maisEXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA LUÍS PAULO REIS DANIEL CASTRO SILVA MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO PROGRAMAÇÃO EM LÓGICA
Leia maisFundamentos de Lógica Matemática
Webconferência 6-29/03/2012 Introdução à Lógica de Predicados Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução
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 maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisPrimeiros programas.
Primeiros programas. David Déharbe 1 1 Objetivos da aula Revisar as atividades "edição", "compilação", ("correção" e) "execução". Revisar os primeiros elementos de linguagem C já vistos. Aprender a escrever
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisOcorrem em três tipos:
Ocorrem em três tipos: Numéricas: Representadas por todos os números do universo dos números reais Ex.: 2, 3.45, -6.78 Literais: Ocorrem em dois tipos: Strings: Qualquer sequência de até 256 caracteres
Leia maisAlteração da Base de Dados. Programação Lógica. Alteração da Base de Dados. Alteração da Base de Dados
Programação Lógica Prolog: alteração da base de dados, predicados que fornecem, exemplos Profa Heloisa de Arruda Camargo Alguns predicados do Prolog modificam a base de dados em tempo de execução abolish(pred)
Leia maisBCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35
BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma
Leia maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisINTRODUÇÃO À COMPUTAÇÃO - EPET006 -
INTRODUÇÃO À COMPUTAÇÃO - EPET006 - Heleno Pontes Bezerra Neto - helenopontes@lccv.ufal.br Introdução ao MATLAB Tipos Primitivos 3. TÓPICOS PRELIMINARES Tipos Primitivos - ATÉ AGORA TRABALHAMOS NO MATLAB
Leia maisLaboratório de Programação II
Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;
Leia maisFundamentos de Programação
Licenciatura em Engenharia Informática e de Computadores Fundamentos de Programação Trabalho para casa 22 de Setembro de 2008 Este trabalho corresponde à instalação, no seu computador, do interpretador
Leia maisIntrodução à linguagem C
Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo
Leia mais