Linguagens de Programação Aula 15
|
|
|
- Eric Casqueira Estrela
- 8 Há anos
- Visualizações:
Transcrição
1 Linguagens de Programação Aula 15 Celso Olivete Júnior
2 Na aula passada Linguagem Haskell 2
3 Na aula de hoje Paradigma Lógico Linguagem Prolog (PROgrammation en LOGique) 3
4 Introdução Em linguagens de programação (LPs) imperativas um programa é composto por uma sequência de comandos que representam as atividades computacionais que serão executadas. O programador deve portanto especificar claramente como realizar o processamento desejado, ou seja, como é o algoritmo. 4
5 Introdução Em LPs lógicas um programa consiste na definição de relações lógicas que devem ser satisfeitas pela solução procurada. A busca de uma solução ocorre automaticamente através de regras de inferência. 5
6 Introdução Programar em uma LP lógica consiste em: Declarar fatos primitivos sobre um domínio Definir regras que expressam relações entre os fatos do domínio Fazer perguntas sobre o domínio 6
7 Exemplo de programação em lógica Sócrates é homem. Todo homem é mortal. homem(sócrates). mortal(x) homem(x). Quem é mortal? Sócrates é mortal.?- mortal(z). Z = sócrates. 7
8 Fatos, regras e consultas A programação em lógica baseia-se em estruturas lógicas denominadas Cláusulas de Horn, que se apresentam em quatro formas distintas: Fatos: a Regras a b Consultas: b Vazia: Verdades incondicionais Podem ou não serem verdadeiras Provocam a execução do programa 8
9 Fatos, regras e consultas Fatos São verdades incondicionais: pai(josé, joão). //josé é pai de joão? pai(joão, júlio). pai(júlio, jorge). 9
10 Fatos, regras e consultas Fatos São verdades incondicionais: pai(josé, joão). //josé é pai de joão? pai(joão, júlio). pai(júlio, jorge). Regras Podem ser verdadeiras ou não: filho(x, Y) pai(y, X). avô(x, Y) pai(x, Z), pai(z, Y). 10
11 Fatos, regras e consultas Fatos São verdades incondicionais: pai(josé, joão). //josé é pai de joão? pai(joão, júlio). pai(júlio, jorge). Regras Podem ser verdadeiras ou não: filho(x, Y) pai(y, X). avô(x, Y) pai(x, Z), pai(z, Y). Consultas Provocam a execução do programa:?- pai(júlio, X). X=jorge?- filho(júlio, X). X=joão 11
12 Fatos, regras e consultas Fatos declaração Uma forma de declarar um fato como uma baleia é um mamífero é: mamífero(baleia) Fato predicado Lista de argumento(s) 12
13 Fatos exemplos Para representar o fato Bruno gosta de Ana gostar(bruno, ana) predicado Para representar Ana gosta de Bruno gostar(ana, bruno) argumentos Nas expressões acima gostar é predicado do fato, representando uma relação entre os argumentos 13
14 Fatos exemplos Para representar o fato Bruno gosta de Ana gostar(bruno, ana) predicado Note que este fato é diferente de Ana gosta de Bruno gostar(ana, bruno) argumentos Como relacionar fatos? Nas expressões acima gostar é predicado do fato, representando uma relação entre os argumentos 14
15 Regras Fatos são relacionados através deregras denominadas Cláusulas de Horn 15
16 Regras A cláusula Prolog se e ou a :- b1, b2... bi; bj... bn. Cabeça Condição 16
17 Regras A cláusula Prolog se e ou a :- b1, b2... bi; bj... bn. Cabeça Condição seospredicadosde1ansãoverdadeirospara as variáveis bi, então o predicado pred é verdadeiro para as variáveis bi 17
18 Regras exemplo Fatos São verdades incondicionais: pai(josé, joão). //josé é pai de joão? pai(joão, júlio). pai(júlio, jorge). Regras Podem ser verdadeiras ou não: filho(x, Y):- pai(y, X). avô(x, Y) :- pai(x, Z), pai(z, Y). Cláusula se Cláusula e 18
19 Operadores Prolog Linguagem Natural Programas Prolog E, OU ; SE :- NÃO not 19
20 Consultas Consultas provocam a execução do programa Fatos pai(josé, joão). //josé é pai de joão? pai(joão, júlio). pai(júlio, jorge). Consultas?- pai(júlio, X). X=jorge?-pai(X, Y). X unificou ao primeiro argumento Y unificou ao segundo argumento X unificou a jorge X=joão Y = júlio X=josé Y = joão X=júlio Y = jorge 20
21 Consultas mais exemplos Fatos animal (cachorro) animal (gato) Consultas?- animal(cachorro) yes?- animal(x) cachorro; gato; 21
22 Unificação Para tentar provar um fato, Prolog precisa estabelecer equivalência entre fatos equivalentes = unificáveis Dois átomos são unificáveis apenas se são idênticos Duas estruturas são idênticas se o seu predicado for idêntico, e se seus argumentos forem unificáveis 22
23 Unificação Uma variável é unificável a qualquer coisa Durante o processo de resolução, uma variável é instanciada com o valor que permite a sua unificação com um símbolo correspondente de outro fato A unificação é representada por = 23
24 fruta(manga).?- fruta(x). perguntando... Unificação Exemplos X = manga Xfoi unificado com manga gostar(bruno,ana).?- gostar(bruno,x). perguntando... X = ana Xfoi unificada com ana?- X=sol X =sol Xfoi unificada com sol?- sol = sol yes sol foi unificado com sol 24
25 Unificação Exemplos Termo 1 Termo 2 Resultado da unificação henrique henrique unificam eduardo henrique não unificam Y 8.5 Y=8.5 data(25,maio,ano) data(d,maio,1981) D=15 Ano=1981 pai_de(x, eduardo) pai_de(henrique,y) X=henrique Y=eduardo 25
26 Exemplo de processo de resolução pai(joao, joaquim). pai(joaquim, manuel). avo(x,y):- pai(z,y), pai(x,z).?-avo(joao,z). X = manuel?- avo(joao,manuel). yes. joaquim manuel joao avo(x,y):- pai(z,y), pai(x,z). Processo de resolução avo(joao,z):- pai(joao,joaquim), pai(joaquim,manuel). No fato pai(z,y) a variável Z foi unificada a joao e a variável Y foi unificada a joaquim No fato pai(x,z) a variável X foi unificada a joaquim e a variável Z foi unificada a manuel avo(x,y):- pai(z,y), pai(x,z). Processo de resolução avo(joao,manuel):- pai(joaquim,manuel), pai(joao,joaquim). No fato pai(z,y) a variável Z foi unificada a joaquim e a variável Y foi unificada a manuel No fato pai(x,z) a variável X foi unificada a joao e a variável Z foi unificada a joaquim 26
27 Declaração de fatos Os fatos na linguagem Prolog são representados através deátomos ou estruturas. Átomos são strings que começam sempre com letra minúscula. Exemplos: esta_frio teste dinheiro 27
28 Declaração de fatos Estruturas são átomos seguidos de uma lista de argumentos entre parênteses: pred(arg1, arg2, argn). onde: -predé o nome do predicado -argisão os argumentos -Né a aridade(número de argumentos) -. representa o final de uma cláusula 28
29 Declaração de fatos Os argumentos de uma estrutura podem ser átomos, estruturas, variáveis e números. Exemplos: carro(preto) amigo(joana,pedro) arvore_bin(valor1, arvore_bin(valor2, valor3)) Estruturas representam relações entre os argumentos, ou seus predicados 29
30 Fatos mais exemplos Seja a árvore genealógica mostrada abaixo... que pode ser representada pelo seguinte programa Prolog: Maria José João Ana progenitor(maria, josé). progenitor(joão, josé). progenitor(joão, ana). progenitor(josé, júlia). progenitor(josé, íris). progenitor(íris, jorge). Júlia Íris Este programa representa a relação progenitor, na forma de um predicado, que contém 6 Jorge cláusulas, que são todasfatos. 30
31 Consultas O programa pode ser pensado como uma tabela em um BD. que pode ser consultada de várias maneiras: progenitor(maria, josé). progenitor(joão, josé). progenitor(joão, ana). progenitor(josé, júlia). progenitor(josé, íris). progenitor(íris, jorge). No caso de um programa constituído unicamente de fatos, a semântica é exatamente a mesma de uma BD relacional...?- progenitor(joão, ana). yes?- progenitor(joão, jorge). no?- progenitor(joão, X). X=josé; X=ana; no?- progenitor(x,y). X=maria, Y=josé; X=joão, Y=josé;... X=íris, Y=jorge; no 31
32 Definindo fatos O ambiente SWI-Prolog 32
33 Definindo fatos Definindo um programa: File/New... 33
34 Definindo fatos Defina os fatos e salve o arquivo progenitor(maria, josé). progenitor(joão, josé). progenitor(joão, ana). progenitor(josé, júlia). Prolog é case sensitive!! progenitor(josé, íris). progenitor(íris, jorge). 34
35 O ambiente SWI-Prolog Para carregar o arquivo do programa?-consult( nome_arquivo.extensão ) Ou File/Consult... Para visualizar o conhecimento existente na base de dados listing. 35
36 Consultas O programa pode ser pensado como uma tabela em um BD. que pode ser consultada de várias maneiras: progenitor(maria, josé). progenitor(joão, josé). progenitor(joão, ana). progenitor(josé, júlia). progenitor(josé, íris). progenitor(íris, jorge). No caso de um programa constituído unicamente de fatos, a semântica é exatamente a mesma de uma BD relacional...?- progenitor(joão, ana). yes?- progenitor(joão, jorge). no?- progenitor(joão, X). X=josé; X=ana; no?- progenitor(x,y). X=maria, Y=josé; X=joão, Y=josé;... X=íris, Y=jorge; no Para que mais de uma possa encontrada, basta associação ser pressionar a tecla ; após cada resultado apresentado. 36
37 Ampliando a base de fatos O programa pode ser ampliado acrescentando-se novos fatos que inclusive podem estabelecer novas relações. No exemplo ao lado acrescentou-se ao programa original as relações masculino e feminino. Estas relações, que possuem aridade 1, podem ser pensadas como sendo atributos dos objetos a que se aplicam. progenitor(maria, josé). progenitor(joão, josé). progenitor(joão, ana). progenitor(josé, júlia). progenitor(josé, íris). progenitor(íris, jorge). masculino(joão). masculino(josé). masculino(jorge). feminino(maria). feminino(ana). feminino(júlia). feminino(íris). 37
38 Regras As relações pai e mãe podem agora ser definidas da seguinte maneira: X é pai de Y se X é progenitor de Y e X é masculino. X é mãe de Y se X é progenitor de Y e X é feminino. Em Prolog: X é pai de Y pai(x,y) :- progenitor(x,y), masculino(x). e(,) mãe(x,y) :- progenitor(x,y), feminino(x). 38
39 Mais regras As relações irmão e irmã podem agora ser definidas da seguinte maneira: X é irmão de Y se Z é progenitor de X e Z é progenitor de Y e X é masculino. Em Prolog: irmão(x,y) :- progenitor(z,x), progenitor(z,y), masculino(x). irmã(x,y) :-... X é irmã de Yse... 39
40 Exercício Acrescentar ao programa da árvore genealógica as seguintes relações avô tia prima 40
41 Exemplo: caminhos em grafos Dado o grafo direcionado B 2 E 2 3 D 2 5 A F C E as relações conecta(x,y,k) e caminho(x,y,k), onde X e Y são nodos e K é o custo entre eles. Ao lado, em Prolog: conecta(a,b,3). conecta(a,c,4).... conecta(e,f,2). caminho(x,y,k):- conecta(x,y,k). caminho(x,y,k):- conecta(x,z,k1), caminho(z,y,k2), K is K1+K2.?- caminho(x,y,k). X=a, Y=b, K=3;... no 41
42 Fluxo de controle no processo de resolução O Prolog utiliza um fluxo de controle implícito no processo de resolução de uma questão O sentido deste fluxo é determinístico segue sempre a mesma ordem O processo de resolução segue a ordem em que os fatos/regras foram declarados Para cada predicado correto encontrado, os argumentos são testados em ordem Para cada regra, as condições são testadas sempre da esquerda para direita. 42
43 Fluxo de controle Exemplo tropical(caribe). tropical(havai). praia(caribe). praia(havai). bonito(havai). bonito(caribe). - O processo de resolução segue a ordem em que os fatos/regras foram declarados - Para cada predicado correto encontrado, os argumentos são testados em ordem - Para cada regra, as condições são testadas sempre da esquerda para direita. paraiso_tropical(x) :- tropical(x), praia(x), bonito(x). Questionando...?- paraiso_tropical(x). X = caribe X é caribe tropical true 43
44 Fluxo de controle Exemplo tropical(caribe). tropical(havai). praia(caribe). praia(havai). bonito(havai). bonito(caribe). - O processo de resolução segue a ordem em que os fatos/regras foram declarados - Para cada predicado correto encontrado, os argumentos são testados em ordem - Para cada regra, as condições são testadas sempre da esquerda para direita. paraiso_tropical(x) :- tropical(x), praia(x), bonito(x). Questionando...?- paraiso_tropical(x). X = caribe X é caribe X é caribe tropical praia true true 44
45 Fluxo de controle Exemplo tropical(caribe). tropical(havai). praia(caribe). praia(havai). bonito(havai). bonito(caribe). - O processo de resolução segue a ordem em que os fatos/regras foram declarados - Para cada predicado correto encontrado, os argumentos são testados em ordem - Para cada regra, as condições são testadas sempre da esquerda para direita. paraiso_tropical(x) :- tropical(x), praia(x), bonito(x). Questionando...?- paraiso_tropical(x). X = caribe X é caribe X é caribe X é caribe tropical praia bonito true true true 45
46 Fluxo de controle Variáveis são instanciadas implicitamente com valores que permitem aunificação da estrutura Assim que uma associação válida for encontrada, os valores com os quais as variáveis foram instanciadas são impressos Apenas a primeira associação válida é impressa!! Para que mais de uma associação possa ser encontrada, basta pressionar a tecla ; após cada resultado apresentado. 46
47 Fluxo de controle implícito Para provar questões mais complexas, Prolog pode ser obrigado a testar várias vezes a mesma condição, instanciando uma variável com diferentes valores Esse processo de retornar e testar novamente uma condição é denominado backtracking 47
48 Fluxo de controle implícito Exemplo surf(vitor). surf(renan). surf(teco). skate(vitor). skate(teco). moto(renan). moto(teco). radical(x):- surf(x), skate(x), moto(x).?- X is teco 48
49 Fluxo de controle implícito Fluxo do percurso: radical(x):- surf(x), skate(x), moto(x). radical(x) surf(vitor). surf(renan). surf(teco). skate(vitor). skate(teco). moto(renan). moto(teco). surf(x) skate(x) moto(x) X is vitor X is renan X is teco surf true 49
50 Fluxo de controle implícito Fluxo do percurso: radical(x):- surf(x), skate(x), moto(x). radical(x) surf(vitor). surf(renan). surf(teco). skate(vitor). skate(teco). moto(renan). moto(teco). surf(x) skate(x) moto(x) X is vitor X is renan X is teco X is vitor X is renan X is teco surf true skate true skate false 50
51 Fluxo de controle implícito Fluxo do percurso: radical(x):- surf(x), skate(x), moto(x). radical(x) surf(vitor). surf(renan). surf(teco). skate(vitor). skate(teco). moto(renan). moto(teco). surf(x) skate(x) moto(x) X is vitor X is renan X is teco X is vitor X is renan X is teco X is vitor X is teco surf true skate true skate false moto true moto false 51
52 Exercício Implemente os exercícios vistos em aula Implemente os exercícios presentes na apostila 52
UNIVERSIDADE 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
30/04/2013. Prof. Hudson Costa
Prof. Hudson Costa PROLOG é uma linguagem de programação que é utilizada para resolver problemas que envolvam objetos e relações entre objetos. Em PROLOG o que se define basicamente são objetos e relações
Prolog. 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 ([email protected]) Baseada na lógica de primeira ordem (lógica de predicados) Concebida na década de 1970
BUSCA 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:
INF 1771 Inteligência Artificial
Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 08 Introdução ao Prolog Introdução O Prolog é uma linguagem de programação baseada em lógica de primeira ordem. Não é
01. [Sebesta, 2000] Quais são os três principais usos da lógica simbólica na lógica formal?
01. [Sebesta, 2000] Quais são os três principais usos da lógica simbólica na lógica formal? 02. [Sebesta, 2000] Quais são as duas partes de um termo composto? 03. [Sebesta, 2000] Qual é a forma geral de
Programação Lógica. Programação Lógica PROLOG
Programação Lógica PROLOG A programação em lógica se desenvolveu no início dos anos 70 a partir de alguns trabalhos sobre prova de teoremas. Desde então ela tem demonstrado ser um formalismo simples, mas
Linguagens Lógicas. Introdução
Linguagens Lógicas [email protected] 1 Introdução Em LPs imperativas um programa é composto por uma sequência de comandos que representam as atividades computacionais que serão executadas. O programador
CENTRO 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
03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi. Introdução ao Prolog
LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi [email protected] http://fabianotaguchi.wordpress.com Introdução ao Prolog 1 PROLOG PROgramming in LOGic Linguagem utilizada para resolver problemas
Introdução à Programação em Prolog
Introdução à Programação em Prolog Thiago A. S. Pardo Solange Rezende Exercício em duplas Introdução (1 de 4) Escrever um programa completo em C que armazene quem gosta de quem e que responda sim ou não
Fundamentos e prática de Prolog
Disciplina: Lógica Aplicada à Computação Nome: Matrícula: 1. Considere a seguinte base de conhecimentos Prolog: pai(josé,ana). % "José é pai de Ana" pai(josé,carlos). pai(felipe,fernanda). pai(jo~ao,pedro).
Programação Lógica. (Capítulo 11) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto
Programação Lógica (Capítulo 11) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Programação Lógica 2. Prolog 3. Exemplos Sintaxe da Programação Lógica Definição
Fundamentos e prática de Prolog
Disciplina: Lógica Aplicada à Computação Nome: Matrícula: 1. Considere a seguinte base de conhecimentos Prolog: filho(paulo,pedro). % "Paulo é filho de Pedro" filho(paulo,marcela). filho(pedro,josé). filho(pedro,isabel).
Inteligê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
Lógica de primeira ordem (Capítulo 8 - Russell) Inteligência Artificial
Lógica de primeira ordem (Capítulo 8 - Russell) Inteligência Artificial Estrutura 1- Contextualização 2- Definições 3- Lista de exercício 4- Prolog 5- Regras em Prolog - Mundo Wumpus 6- Aplicação do Mundo
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Aula 2 Programação Lógica Sintaxe Prolog. Profa. Elaine Faria UFU -2014
Aula 2 Programação Lógica Sintaxe Prolog Profa. Elaine Faria UFU -2014 Créditos O material a seguir consiste de adaptações e extensões dos originais gentilmente cedidos pelo Prof. Alexsandro Santos Soares
Linguagens de Programação Programação Lógica (Prolog)
Linguagens de Programação Programação Lógica (Prolog) Andrei Rimsa Álvares Sumário Introdução Prolog Unificação Mais sobre Prolog Resumo INTRODUÇÃO Linguagens de Programação Programação Impera?va vs. Lógica
Linguagens de Programação Aula 2
Linguagens de Programação Aula 2 Celso Olivete Júnior [email protected] Relembrando... Aspectos preliminares das linguagens de programação Capítulo 1 Livro: Conceitos de linguagens de programação -
Programação Lógica. Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel
Programação Lógica Controle (Bactracking, Cut, Fail) Paulo Henrique Ribeiro Gabriel [email protected] Faculdade de Computação Universidade Federal de Uberlândia 7 de outubro de 2015 Paulo H. R. Gabriel (FACOM/UFU)
SCC 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
Programaçã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
SCC 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
Prof. 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
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
Conferê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
Paradigmas. 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,
Lógica Computacional
Lógica Computacional Aplicações da Lógica Verificação de Programas, Bases de Dados, Sistemas inteligentes Programação em Lógica Exemplos 27 Novembro 2013 Lógica Computacional 1 - Base de Conhecimentos:
Programação Lógica. A Linguagem Prolog. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia
Programação Lógica A Linguagem Prolog Paulo Henrique Ribeiro Gabriel [email protected] Faculdade de Computação Universidade Federal de Uberlândia 21 de agosto de 2015 Paulo H. R. Gabriel (FACOM/UFU) Programação
AULA TEÓRICA RESOLUÇÃO DE PROBLEMAS 4ª
AULA TEÓRICA RESOLUÇÃO DE PROBLEMAS 4ª Aula por Helder Coelho IIA 1 REPRESENTAÇÃO E INTELIGÊNCIA QUESTÕES PARA DISCUSSÃO: Transformação do problema compreender o problema reflectir/pensar o problema lógica,
Linguagens de Programação Aula 13
Linguagens de Programação Aula 13 Celso Olivete Júnior [email protected] Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro
Mecanismos de Raciocínio em Lógica, Prova Automática de Teoremas e PROLOG
INE5430 Inteligência Artificial Tópico: Mecanismos de Raciocínio em Lógica, Prova Automática de Teoremas e PROLOG (C) - Prof. Mauro Roisenberg 1 Raciocínio Inferencial As principais características do
UNIDADE 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
Linguagens de Programação Aula 14
Linguagens de Programação Aula 14 Celso Olivete Júnior [email protected] Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Fundamentos 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
Conceitos Básicos de Algoritmos
Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas
Roteiro de Aula Prática
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Disciplina: Programação Lógica Curso: Sistemas de Informação Professores: Elaine Ribeiro de Faria Créditos Roteiro de Aula Prática O material a seguir consiste de adaptações
Lógica Computacional. Argumentos válidos e sólidos. Métodos de demonstração. Demonstrações formais. Regras de Inferência Igualdade
Lógica Computacional Argumentos válidos e sólidos Métodos de demonstração Demonstrações formais Regras de Inferência Igualdade Não-consequências lógicas Argumentos Exemplo: 1. Todos as aves voam. 2. O
Programação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática
Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais Curso Técnico em Informática SUMÁRIO SHELL SCRIPT COM IF... 3 OPERADORES RELACIONAIS... 3 COMPARAÇÕES EM SCRIPTS... 3 MAIS OPERADORES...
PROLOG Resumo. 1. Introdução.
PROLOG Jacir de Oliveira, José Alencar Philereno Faculdade de Informática de Taquara Igrejinha - RS - Brazil [email protected], a [email protected] Resumo. A lógica é a ciência do pensamento
CAPÍTULO 4 - OPERADORES E EXPRESSÕES
CAPÍTULO 4 - OPERADORES E EXPRESSÕES 4.1 - OPERADORES ARITMÉTICOS Os operadores aritméticos nos permitem fazer as operações matemáticas básicas, usadas no cálculo de expressões aritméticas. A notação usada
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.
LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas
Programação Procedimental
Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos
Linguagens de Programação Aula 3
Aula 3 Celso Olivete Júnior [email protected] Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...
Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.2 IDLE, Variáveis e Tipos Prof. Dr. Bruno Moreno [email protected] IDLE O IDLE é um ambiente de desenvolvimento integrado para Python; O IDLE permite: Escrever
Programação de Computadores I. Professor Ilaim Costa Junior
Programação de Computadores I Professor Ilaim Costa Junior [email protected] 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
UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO
1 UNIDADE 2 ALGORITMOS E PSEUDOCÓDIGO 2.1 INTRODUÇÃO Um algoritmo é uma seqüência ordenada, finita de operações bem definidas e eficazes que, quando executadas por um computador operando sobre dados caracterizando
Paradigmas de Programação. Programação Lógica. Profª Andréa Schwertner Charão DLSC/CT/UFSM
Paradigmas de Programação Programação Lógica Profª Andréa Schwertner Charão DLSC/CT/UFSM Um programa pode responder isso? Há 5 casas de diferentes cores, com donos de diferentes nacionalidades. Os proprietários
Variá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 [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Cálculo proposicional
O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais
Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Recursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV
PROGRAMAÇÃO EM LÓGICA Recursão CIÊNCIA DA COMPUTAÇÃO FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Linguagem Prolog Parte IV Usado desde a arte (em figuras, telas, etc) como também em Matemática
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior
LÓGICA DE PROGRAMAÇÃO Algoritmos Computacionais Sérgio Carlos Portari Júnior [email protected] Tópicos abordados Algoritmos Computacionais Estrutura de Dados Tipos Primitivos Constantes Variáveis
Algoritmo e Programação Matemática
Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador
18/01/2016 LÓGICA MATEMÁTICA. Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA
LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi [email protected] http://fabianotaguchi.wordpress.com Lógica é usada para guiar nossos pensamentos ou ações na busca da solução. LÓGICA A lógica está
Familiarização com as ferramentas para Prolog
Guia del Laboratório 1 Conceitos básicos de Prolog Introdução Este laboratório tem como objetivos: Resolver problemas simples na linguagem Prolog Elaborar árvores de resolução SLD para um objetivo determinado.
