Programação Lógica 
Por favor, não implora Porque homem não chora 
Você que machucou meu coração Me fez chorar 
“ 
... 
” 
Arrocha, Pablo 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Roteiro 
•O que é? 
•Conceito de BD para PL 
•História por rabiscos 
•Quem e para quê? 
•Prolog - what, up and running 
•Hands On 
•Dúvidas 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
O que é? 
Lógica matemática para a programação!! 
PLANER 
PROLOG 
QLISP 
SQL 
QA-4 
POPLER 
CONNIVER 
MERCURY 
ETHER 
LINGUAGENS DE PROGRAMAÇÃO LÓGICA 
Descrevemos o problema e não a solução! Declaramos o que nós queremos!! 
Minhas músicas usam programação Lógica! 
Cláusula de Horn; 
Lógica Proposicional; 
Lógica de Primeira Ordem. 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
O que é? 
O QUE SE QUER 
...encosta em meu nariz e faz Bilu bilu bilu bilu 
O QUE SE FAZ 
“ 
” 
...Escute o meu desabafo Eu quero te falar 
“ 
” 
Na Programação lógica se diz o que se quer! 
O QUE deve ser feito! 
COMO deve ser feito! 
doendo(bemfeito). chorando(bemfeito). 
?-doendo(X). 
X=bemfeito. 
?-chorando(X). 
X=bemfeito. 
trecho = raw_input('Primeira parte: ') 
trecho2 = raw_input('Segunda parte: ') 
Trecho_final = trecho + " " +trecho2 
print Trecho_final 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
O que é? 
1. Declarar fatos primitivos sobre um domínio; 
2. Definir regras que expressam relações entre os fatos de um domínio; 
3. Fazer perguntas sobre um domínio. 
Regras 
Fatos 
“Pablo é um cantor” 
cantor(pablo). 
“Larissa gosta de Pablo” 
gostar(larissa,pablo). 
gostar(larissa,pablo). 
gostar(rafaella,pablo). 
sofrencia(X,Y):-gostar(Y,Z),gostar(X,Z). 
?-sofrencia(larissa,rafaella). 
true 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Banco de Dados 
“Te prometo algo muito durador” 
É o conjunto !! 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
História por rabiscos 
Vai lembrar de tudo que vivemos 
Vai lembrar dos momentos que passamos 
“ 
” 
Alain Colmerauer e Philippe Roussel 
“PROgrammation en LOGique” 
Robert Kowalski 
Robert Pasero e Jean Trudel 
PROLOG 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Quem e para quê? 
Sistemas Baseados em Conhecimento 
Bancos de Dados “Inteligentes” 
Sistemas Especialistas 
Processamento da Linguagem Natural 
Indústria de aviação 
Instituto Nacional de Meteorologia 
Modelagem ambiental 
Mineração de dados 
Construção de compiladores 
Vocês também!! 
Todos usam e gostam da essência das minhas músicas! 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Prolog – what, up and running 
“Prolog is an AI weapon, you tell it what to do, which it does but then it also builds some terminators to go back in time and kill your mom.” – 9gag (If Programming Languages Were Weapons) 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Prolog – what, up and running 
“Prolog é uma linguagem de Turing completa o que significa que pode implementar qualquer algoritmo.” 
“Larissa gosta de Pablo e de Wando” 
gosta(larissa, pablo), gosta(larissa, wando). 
“Larissa gosta de quem?” 
?-gosta(larissa,X). 
“Larissa gosta de ouvir Pablo na bad” 
ouvir(larissa, pablo):- situacao(bad). 
É baseado em: 
•Fatos 
•Consultas 
•Regras 
Termo 
PROLOG 
Conjunção 
, 
Disjunção 
; 
Implicação 
:- 
Termino de Cláusula 
. 
Conclusão 
Condição 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Prolog – what, up and running 
1. Download baby! 
http://portableapps.com/apps/development/swi-prolog_portable 
2. Install (next...next..next...) 
3. Run! 
4. Criar arquivo com os fatos e regras... Na extensão PROLOG(.pl) 
5. Da um import no arquivo em (File->Consult); 
6. Agora é só fazer as consultas! ;) 
Vamos colocar para Funfar! 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Hands On 
Vamos definir o Rei da Sofrência por PROLOG? 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
“ 
Estou indo embora 
Por favor, não implora 
A mala já está lá fora 
” 
Dúvidas?? 
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica 
Referências 
http://letras.mus.br/pablo/ http://en.wikipedia.org/wiki/Turing_completeness http://www.inf.puc-rio.br/~inf1621/logica.pdf Slides da Prof. Elaine Faria - UFU, 2014 - Programação Lógica. Sintaxe Prolog Slides do Prof. Gabriel Alves – UFRPE, 2014 – Programação lógica http://pt.slideshare.net/rafaelbozzetti/seminrio-prolog http://en.wikipedia.org/wiki/Prolog http://en.wikipedia.org/wiki/Logic_programming http://9gag.com/gag/anXEbe0 
Blenda Guedes, Geraldo Gomes e Larissa Melo
FIM!! 
Blenda Guedes, Geraldo Gomes e Larissa Melo

Programação lógica

  • 1.
    Programação Lógica Porfavor, não implora Porque homem não chora Você que machucou meu coração Me fez chorar “ ... ” Arrocha, Pablo Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 2.
    Programação Lógica Roteiro •O que é? •Conceito de BD para PL •História por rabiscos •Quem e para quê? •Prolog - what, up and running •Hands On •Dúvidas Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 3.
    Programação Lógica Oque é? Lógica matemática para a programação!! PLANER PROLOG QLISP SQL QA-4 POPLER CONNIVER MERCURY ETHER LINGUAGENS DE PROGRAMAÇÃO LÓGICA Descrevemos o problema e não a solução! Declaramos o que nós queremos!! Minhas músicas usam programação Lógica! Cláusula de Horn; Lógica Proposicional; Lógica de Primeira Ordem. Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 4.
    Programação Lógica Oque é? O QUE SE QUER ...encosta em meu nariz e faz Bilu bilu bilu bilu O QUE SE FAZ “ ” ...Escute o meu desabafo Eu quero te falar “ ” Na Programação lógica se diz o que se quer! O QUE deve ser feito! COMO deve ser feito! doendo(bemfeito). chorando(bemfeito). ?-doendo(X). X=bemfeito. ?-chorando(X). X=bemfeito. trecho = raw_input('Primeira parte: ') trecho2 = raw_input('Segunda parte: ') Trecho_final = trecho + " " +trecho2 print Trecho_final Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 5.
    Programação Lógica Oque é? 1. Declarar fatos primitivos sobre um domínio; 2. Definir regras que expressam relações entre os fatos de um domínio; 3. Fazer perguntas sobre um domínio. Regras Fatos “Pablo é um cantor” cantor(pablo). “Larissa gosta de Pablo” gostar(larissa,pablo). gostar(larissa,pablo). gostar(rafaella,pablo). sofrencia(X,Y):-gostar(Y,Z),gostar(X,Z). ?-sofrencia(larissa,rafaella). true Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 6.
    Programação Lógica Bancode Dados “Te prometo algo muito durador” É o conjunto !! Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 7.
    Programação Lógica Históriapor rabiscos Vai lembrar de tudo que vivemos Vai lembrar dos momentos que passamos “ ” Alain Colmerauer e Philippe Roussel “PROgrammation en LOGique” Robert Kowalski Robert Pasero e Jean Trudel PROLOG Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 8.
    Programação Lógica Queme para quê? Sistemas Baseados em Conhecimento Bancos de Dados “Inteligentes” Sistemas Especialistas Processamento da Linguagem Natural Indústria de aviação Instituto Nacional de Meteorologia Modelagem ambiental Mineração de dados Construção de compiladores Vocês também!! Todos usam e gostam da essência das minhas músicas! Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 9.
    Programação Lógica Prolog– what, up and running “Prolog is an AI weapon, you tell it what to do, which it does but then it also builds some terminators to go back in time and kill your mom.” – 9gag (If Programming Languages Were Weapons) Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 10.
    Programação Lógica Prolog– what, up and running “Prolog é uma linguagem de Turing completa o que significa que pode implementar qualquer algoritmo.” “Larissa gosta de Pablo e de Wando” gosta(larissa, pablo), gosta(larissa, wando). “Larissa gosta de quem?” ?-gosta(larissa,X). “Larissa gosta de ouvir Pablo na bad” ouvir(larissa, pablo):- situacao(bad). É baseado em: •Fatos •Consultas •Regras Termo PROLOG Conjunção , Disjunção ; Implicação :- Termino de Cláusula . Conclusão Condição Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 11.
    Programação Lógica Prolog– what, up and running 1. Download baby! http://portableapps.com/apps/development/swi-prolog_portable 2. Install (next...next..next...) 3. Run! 4. Criar arquivo com os fatos e regras... Na extensão PROLOG(.pl) 5. Da um import no arquivo em (File->Consult); 6. Agora é só fazer as consultas! ;) Vamos colocar para Funfar! Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 12.
    Programação Lógica HandsOn Vamos definir o Rei da Sofrência por PROLOG? Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 13.
    Programação Lógica “ Estou indo embora Por favor, não implora A mala já está lá fora ” Dúvidas?? Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 14.
    Programação Lógica Referências http://letras.mus.br/pablo/ http://en.wikipedia.org/wiki/Turing_completeness http://www.inf.puc-rio.br/~inf1621/logica.pdf Slides da Prof. Elaine Faria - UFU, 2014 - Programação Lógica. Sintaxe Prolog Slides do Prof. Gabriel Alves – UFRPE, 2014 – Programação lógica http://pt.slideshare.net/rafaelbozzetti/seminrio-prolog http://en.wikipedia.org/wiki/Prolog http://en.wikipedia.org/wiki/Logic_programming http://9gag.com/gag/anXEbe0 Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 15.
    FIM!! Blenda Guedes,Geraldo Gomes e Larissa Melo