SlideShare a Scribd company logo
1 of 14
Download to read 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 (.)

More Related Content

What's hot

Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoInstituto CENTEC
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01thomasdacosta
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoMauro Pereira
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Pacc UAB
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosMauro Pereira
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 

What's hot (20)

Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de Programação
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Pensamento Computacional aula 01
Pensamento Computacional aula 01Pensamento Computacional aula 01
Pensamento Computacional aula 01
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 

More from Sérgio Souza Costa

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ógicasSérgio Souza Costa
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computadorSérgio Souza Costa
 
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 algoritmosSérgio Souza Costa
 
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áficosSérgio Souza Costa
 
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 EncerramentoSérgio Souza Costa
 
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 modelagemSérgio Souza Costa
 
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 aberturaSérgio Souza Costa
 
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çãoSérgio Souza Costa
 
Gödel’s incompleteness theorems
Gödel’s incompleteness theoremsGödel’s incompleteness theorems
Gödel’s incompleteness theoremsSérgio Souza Costa
 
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 cellsSérgio Souza Costa
 
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 objetosSérgio Souza Costa
 
Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Polymorphism (Ad-hoc and Universal)
Polymorphism (Ad-hoc and Universal)Sérgio Souza Costa
 
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)Sérgio Souza Costa
 
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 ComputacionalSérgio Souza Costa
 

More from 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
 

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 (.)