SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

aula 06 - Logica de programacao
aula 06 - Logica de programacaoaula 06 - Logica de programacao
aula 06 - Logica de programacaoAislan Rafael
 
Algoritmos - Comandos de Controle de Programa
Algoritmos - Comandos de Controle de ProgramaAlgoritmos - Comandos de Controle de Programa
Algoritmos - Comandos de Controle de ProgramaElaine Cecília Gatto
 
aula 09 logica de programacao
aula 09 logica de programacaoaula 09 logica de programacao
aula 09 logica de programacaoAislan Rafael
 
Aula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAislan Rafael
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacaoAislan Rafael
 
Análise Estática de Código: Aplicações
Análise Estática de Código: AplicaçõesAnálise Estática de Código: Aplicações
Análise Estática de Código: AplicaçõesRicardo Terra
 
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoElaine Cecília Gatto
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1Isaac Barros
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreElaine Cecília Gatto
 
Pi - aula inaugural
Pi - aula inauguralPi - aula inaugural
Pi - aula inauguralPacc UAB
 
Aula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosAula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosPacc UAB
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Aula 1 introdução a lógica de programação
Aula 1   introdução a lógica de programaçãoAula 1   introdução a lógica de programação
Aula 1 introdução a lógica de programaçãoRafael Mello
 

Andere mochten auch (20)

aula 06 - Logica de programacao
aula 06 - Logica de programacaoaula 06 - Logica de programacao
aula 06 - Logica de programacao
 
Algoritmos - Comandos de Controle de Programa
Algoritmos - Comandos de Controle de ProgramaAlgoritmos - Comandos de Controle de Programa
Algoritmos - Comandos de Controle de Programa
 
aula 09 logica de programacao
aula 09 logica de programacaoaula 09 logica de programacao
aula 09 logica de programacao
 
Aula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAula 02 - Lógica de Programação
Aula 02 - Lógica de Programação
 
Algoritmos - Registros
Algoritmos - RegistrosAlgoritmos - Registros
Algoritmos - Registros
 
Algoritmos - Matrizes
Algoritmos - MatrizesAlgoritmos - Matrizes
Algoritmos - Matrizes
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacao
 
Análise Estática de Código: Aplicações
Análise Estática de Código: AplicaçõesAnálise Estática de Código: Aplicações
Análise Estática de Código: Aplicações
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Material Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º BimestreMaterial Algoritmos e Estruturas de Dados - 1º Bimestre
Material Algoritmos e Estruturas de Dados - 1º Bimestre
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Pi - aula inaugural
Pi - aula inauguralPi - aula inaugural
Pi - aula inaugural
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Aula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosAula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercícios
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Aula 1 introdução a lógica de programação
Aula 1   introdução a lógica de programaçãoAula 1   introdução a lógica de programação
Aula 1 introdução a lógica de programação
 

Programação Lógica em

  • 1. 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
  • 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 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
  • 4. 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
  • 5. 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
  • 6. Programação Lógica Banco de Dados “Te prometo algo muito durador” É o conjunto !! Blenda Guedes, Geraldo Gomes e Larissa Melo
  • 7. 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
  • 8. 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
  • 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 Hands On 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