SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Paradigma
lógico
Prof: Sergio Souza Costa
PARADIGMA LÓGICO
FATOS, REGRAS E PERGUNTAS
●Um fato é uma afirmação sempre verdadeira.
●Uma regra é uma afirmação que para ser verdadeira depende
de outras regras ou fatos.
●Podemos fazer perguntas sobre os fatos ou regras.
A Terra é um planeta.
O Sol é uma estrela.
A Terra é um planeta ?
Quem é um planeta ?
A Terra é uma estrela ?
A Terra é um planeta se ela não
for uma estrela.
PARADIGMA LÓGICO
●Programa-se de forma declarativa, ou seja,
especificando o que deve ser computado ao invés de
como deve ser computado
●Sem instruções explícitas e seqüenciamento
●Aplicações em IA, robotica, linguagem natural
PARADIGMA LÓGICO
Programar em lógica envolve:
1. declarar alguns fatos a respeito de objetos e seus
relacionamentos,
2. definir algumas regras sobre os objetos e seus relacionamentos
e
3. fazer perguntas sobre os objetos e seus relacionamentos.
LÓGICA E PROLOG
●Prolog = Programming in Logic.
●Principal linguagem do paradigma lógico , proposto na
década de 70.
○ Robert Kowalski (Edinburgh)
○ Maarten van Emden (Edinburgh)
○ Alan Colmerauer (Marseilles)
FATOS EM PROLOG
Fatos
Notação geral de fatos.
predicado(arg1, arg3, ..., argn ).
O Sol é uma estrela.
A Terra é um planeta.
estrela(sol).
planeta(terra).
Um fato ou regra deve
terminar por pontoPredicados e
argumentos são
escritos por letras
Não pode ter
espaço entre
predicado e
parênteses.
FATOS EM PROLOG
●Exemplos de fatos, com um argumento
●Exemplos de fatos, com mais de um argumento
estrela(sol).
planeta(terra).
planeta(marte).
satelite(lua).
pai(joao, ana).
João é pai de
Ana.
filho(jose, maria, antonio). José é filho de Maria e
Antonio
Verbo Sujeito e Objeto
PERGUNTAS EM PROLOG
Consultas, perguntas, queries ou goals.
A “hipótese do mundo fechado”.
A Terra é um planeta ?
A Terra é uma estrela ?
O sol é um planeta ? ...
?- planeta(terra).
true.
?- estrela(terra).
false.
% base de dados
planeta(terra).
% goals
?- planeta(marte).
false.
PERGUNTAS EM PROLOG
Consultas, perguntas, queries ou goals.
A “hipótese do mundo fechado”.
A Terra é um planeta ?
A Terra é uma estrela ?
O sol é um planeta ? ...
?- planeta(terra).
true.
?- estrela(terra).
false.
% base de dados
planeta(terra).
% goals
?- planeta(marte).
false.
Um predicado
sempre retorna
um valor lógico,
verdadeiro ou
falso.
PERGUNTAS EM PROLOG
Consultas, perguntas, queries ou goals.
A “hipótese do mundo fechado”.
A Terra é um planeta ?
A Terra é uma estrela ?
O sol é um planeta ? ...
?- planeta(terra).
true.
?- estrela(terra).
false.
% base de dados
planeta(terra).
% goals
?- planeta(marte).
false.
Um predicado
sempre retorna
um valor lógico,
verdadeiro ou
falso.
se um fato não é
conhecido ,
assume-se que
ele é falso.
PERGUNTAS EM PROLOG
Consultas, perguntas, queries ou goals.
A Terra é um planeta ?
A Terra é uma estrela ?
O sol é um planeta ? ...
?- planeta(terra).
true.
?- estrela(terra).
false.
Quem é um
planeta ?
VARIÁVEIS EM PROLOG
Variáveis em Prolog é como uma incógnita que pode
ser encontrada por inferência (deduções lógicas) aos
fatos e regras:
?- planeta(X).
X = terra.
Variável
XDedução do
interpretador
Toda variável
começa com
letra maiúscula
REGRAS OU CLAUSULAS
A Terra é um planeta se
ela não for uma estrela.
planeta(terra) :-
not(estrela(terra)).
irmao(X,Y) :- filho(X, H,M) , filho(Y,H,M) , Y == X.
Cabeça,
definição do
predicado
Pescoço,
equivale ao “if“
ou “se”.
Corpo,
equivale a
uma função.
Uma virgula (,) equivale ao
operador “e” e um ponto e
virgula (;) ao operador “ou”.
Pé da
sentença (.)

Mais conteúdo relacionado

Mais procurados

Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
Ticianne Darin
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 

Mais procurados (20)

Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Diagrama de blocos
Diagrama de blocosDiagrama de blocos
Diagrama de blocos
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Mais de Sérgio Souza Costa

Mais de Sérgio Souza Costa (20)

Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computador
 
Introdução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmosIntrodução ao pensamento computacional e aos algoritmos
Introdução ao pensamento computacional e aos algoritmos
 
Minicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficosMinicurso de introdução a banco de dados geográficos
Minicurso de introdução a banco de dados geográficos
 
Modelagem de dados geográficos
Modelagem de dados geográficosModelagem de dados geográficos
Modelagem de dados geográficos
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagemBanco de dados geográficos – Arquiteturas, banco de dados e modelagem
Banco de dados geográficos – Arquiteturas, banco de dados e modelagem
 
Banco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de aberturaBanco de dados geográficos - Aula de abertura
Banco de dados geográficos - Aula de abertura
 
Linguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - IntroduçãoLinguagem SQL e Extensões Espacias - Introdução
Linguagem SQL e Extensões Espacias - Introdução
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theorems
 
Turing e o problema da decisão
Turing e o problema da decisãoTuring e o problema da decisão
Turing e o problema da decisão
 
DBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cellsDBCells - an open and global multi-scale linked cells
DBCells - an open and global multi-scale linked cells
 
Conceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetosConceitos básicos de orientação a objetos
Conceitos básicos de orientação a objetos
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)
 
Herança e Encapsulamento
Herança e EncapsulamentoHerança e Encapsulamento
Herança e Encapsulamento
 
Relações (composição e agregação)
Relações (composição e agregação)Relações (composição e agregação)
Relações (composição e agregação)
 
Abstract classes and interfaces
Abstract classes and interfacesAbstract classes and interfaces
Abstract classes and interfaces
 
Heap - Python
Heap - PythonHeap - Python
Heap - Python
 
Contextualizando o moodle
Contextualizando o moodleContextualizando o moodle
Contextualizando o moodle
 
Explorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento ComputacionalExplorando Games para o Ensino do Pensamento Computacional
Explorando Games para o Ensino do Pensamento Computacional
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Paradigma lógico

  • 3. FATOS, REGRAS E PERGUNTAS ●Um fato é uma afirmação sempre verdadeira. ●Uma regra é uma afirmação que para ser verdadeira depende de outras regras ou fatos. ●Podemos fazer perguntas sobre os fatos ou regras. A Terra é um planeta. O Sol é uma estrela. A Terra é um planeta ? Quem é um planeta ? A Terra é uma estrela ? A Terra é um planeta se ela não for uma estrela.
  • 4. PARADIGMA LÓGICO ●Programa-se de forma declarativa, ou seja, especificando o que deve ser computado ao invés de como deve ser computado ●Sem instruções explícitas e seqüenciamento ●Aplicações em IA, robotica, linguagem natural
  • 5. PARADIGMA LÓGICO Programar em lógica envolve: 1. declarar alguns fatos a respeito de objetos e seus relacionamentos, 2. definir algumas regras sobre os objetos e seus relacionamentos e 3. fazer perguntas sobre os objetos e seus relacionamentos.
  • 6. LÓGICA E PROLOG ●Prolog = Programming in Logic. ●Principal linguagem do paradigma lógico , proposto na década de 70. ○ Robert Kowalski (Edinburgh) ○ Maarten van Emden (Edinburgh) ○ Alan Colmerauer (Marseilles)
  • 7. FATOS EM PROLOG Fatos Notação geral de fatos. predicado(arg1, arg3, ..., argn ). O Sol é uma estrela. A Terra é um planeta. estrela(sol). planeta(terra). Um fato ou regra deve terminar por pontoPredicados e argumentos são escritos por letras Não pode ter espaço entre predicado e parênteses.
  • 8. FATOS EM PROLOG ●Exemplos de fatos, com um argumento ●Exemplos de fatos, com mais de um argumento estrela(sol). planeta(terra). planeta(marte). satelite(lua). pai(joao, ana). João é pai de Ana. filho(jose, maria, antonio). José é filho de Maria e Antonio Verbo Sujeito e Objeto
  • 9. PERGUNTAS EM PROLOG Consultas, perguntas, queries ou goals. A “hipótese do mundo fechado”. A Terra é um planeta ? A Terra é uma estrela ? O sol é um planeta ? ... ?- planeta(terra). true. ?- estrela(terra). false. % base de dados planeta(terra). % goals ?- planeta(marte). false.
  • 10. PERGUNTAS EM PROLOG Consultas, perguntas, queries ou goals. A “hipótese do mundo fechado”. A Terra é um planeta ? A Terra é uma estrela ? O sol é um planeta ? ... ?- planeta(terra). true. ?- estrela(terra). false. % base de dados planeta(terra). % goals ?- planeta(marte). false. Um predicado sempre retorna um valor lógico, verdadeiro ou falso.
  • 11. PERGUNTAS EM PROLOG Consultas, perguntas, queries ou goals. A “hipótese do mundo fechado”. A Terra é um planeta ? A Terra é uma estrela ? O sol é um planeta ? ... ?- planeta(terra). true. ?- estrela(terra). false. % base de dados planeta(terra). % goals ?- planeta(marte). false. Um predicado sempre retorna um valor lógico, verdadeiro ou falso. se um fato não é conhecido , assume-se que ele é falso.
  • 12. PERGUNTAS EM PROLOG Consultas, perguntas, queries ou goals. A Terra é um planeta ? A Terra é uma estrela ? O sol é um planeta ? ... ?- planeta(terra). true. ?- estrela(terra). false. Quem é um planeta ?
  • 13. VARIÁVEIS EM PROLOG Variáveis em Prolog é como uma incógnita que pode ser encontrada por inferência (deduções lógicas) aos fatos e regras: ?- planeta(X). X = terra. Variável XDedução do interpretador Toda variável começa com letra maiúscula
  • 14. REGRAS OU CLAUSULAS A Terra é um planeta se ela não for uma estrela. planeta(terra) :- not(estrela(terra)). irmao(X,Y) :- filho(X, H,M) , filho(Y,H,M) , Y == X. Cabeça, definição do predicado Pescoço, equivale ao “if“ ou “se”. Corpo, equivale a uma função. Uma virgula (,) equivale ao operador “e” e um ponto e virgula (;) ao operador “ou”. Pé da sentença (.)