SlideShare uma empresa Scribd logo
PROGRAMAÇÃO EM LÓGICA
Profª. Janaide Nogueira
EXEMPLO
 Um exemplo simples de fato com dois argumentos
seria a relação amiga:
 Amiga (joana, maria).
PORTANTO...
 Assim, definimos uma relação (amizade) entre dois
argumentos (joana e maria).
 Obviamente podemos ter um fato com apenas um
argumento:
 homem(carlos).
CLAUSULAS: REGRAS E FATOS
 filho(X,Y):-pai(Y,X).
cabeça
corpo
Conclusão Condições
EXEMPLO
PROGRAMA 1.1
 pai(adão,cain).
 pai(adão,abel).
 pai(adão,seth).
 pai(seth,enos).
Consultas
?- pai(adão,cain).
CONSULTAS
 As consultas tornam-se ainda mais interessantes
quando empregamos variáveis, ou seja,
identificadores para objetos não especificados. Por
exemplo,
 ?- pai(X,abel).
 Resposta
 X = adão.
CONSULTA
 Uma consulta com variáveis pode ter mais de uma
resposta. Nesse caso, o sistema apresentará a
primeira resposta e ficará aguardando até que seja
pressionado enter, que termina a consulta, ou
ponto-e-vírgula, que faz com que a próxima
resposta possível, se houver, seja apresentada.
 ?- pai(adão,X).
 X = cain ;
 X = abel ;
 X = seth ;
 no
QUEM É O PAI DO PAI DE ENOS?
 Então, como o pai de Enos não é conhecido a
priori, a consulta correspondente a essa pergunta
tem dois objetivos:
 primeiro, descobrir quem é o pai de Enos, digamos que
seja Y;
 depois, descobrir quem é o pai de Y.
 ?- pai(Y,enos), pai(X,Y).
 Y = seth
 X = adão
 yes
VARIÁVEL ANÔNIMA
 Outro tipo de variável importante é a variável
anônima. Uma variável anônima deve ser usada
quando seu valor específico for irrelevante numa
determinada consulta. Por exemplo, considerando
o Programa 1.1, suponha que desejássemos saber
quem já procriou, ou seja, quem tem filhos. Então,
como o nome dos filhos é uma informação
irrelevante, poderíamos digitar:
 ?- pai(X,_).
 A essa consulta o sistema responderia X = adão e X =
seth.
REGRAS
 Regras nos permitem definir novas relações em
termos de outras relações já existentes. Por
exemplo, a regra:
 avô(X,Y) :- pai(X,Z), pai(Z,Y).
 define a relação avô em termos da relação pai, ou
seja, estabelece que X é avô de Y se X tem um
filho Z que é pai de Y. Com essa regra, podemos
agora realizar consultas tais como
 ?- avô(X,enos).
 X = adão
REGRAS
 A regra para definir o relacionamento IRMÃO é
escrita como:
 irmão(X,Y) :- pai(Z,X), pai(Z,Y), X=Y.
 Evidentemente, poderíamos definir a relação irmão
simplesmente listando todas as suas instâncias.
Veja:
 irmão(cain,abel).
 irmão(cain,seth).
 irmão(abel,cain).
 irmão(abel,seth).
 irmão(seth,cain).
 irmão(seth,abel).
EXERCÍCIOS
 Digite o Programa 1.1, incluindo as regras que
definem as relações avô e irmão, e realize as
seguintes consultas:
 a) Quem são os filhos de Adão?
 b) Quem são os netos de Adão?
 c) Quem são os tios de Enos?
 Considere a seguinte base de fatos:
 aluno(joao, paradigmas).
 aluno(maria, paradigmas).
 aluno(joel, lab2).
 aluno(joel, estruturas).
 frequenta(joao, fied).
 frequenta(maria, fied).
 frequenta(joel, ifce).
 professor(carlos, paradigmas).
 professor(ana_paula, estruturas).
 professor(pedro, lab2).
 funcionario(pedro, ifce).
 funcionario(ana_paula, fied).
 funcionario(carlos, fied).
 Escreva as seguintes regras em prolog:
 a) Quem são os alunos do professor carlos?
 b) Quem são os alunos do professor X?
 b) Quem são as pessoas da universidade X? (alunos ou
docentes)
EXERCÍCIOS
EXERCÍCIOS
 Pouco se sabe da história passada da família
Pinheiro. Existem alguns registros antigos que
indicam que o casal José e Maria criou dois filhos,
o João e a Ana. Que a Ana teve duas filhas, a
Helena e a Joana, também parece ser verdade,
segundo os mesmos registros. Além disso, o Mário
é filho do João, pois muito se orgulha ele disso.
Estranho também, foi constatar que o Carlos
nasceu da relação entre a Helena, muito formosa,
e o Mário.
 a) Utilizando o predicado progenitor(X,Y) (ou seja,
X é progenitor de Y), represente em Prolog todos
os progenitores da família Pinheiro.
 b) Represente em Prolog as relações: sexo
(masculino ou feminino), irmã, irmão, descendente,
mãe, pai, primo.
 c) Formule em Prolog as seguintes questões:
 1. O João é filho do José?
 2. Quem são os filhos da Maria?
 3. Quem são os primos do Mário?
 Obs.: Exemplo de representação
 progenitor(mario,carlos).
 sexo(ana,feminino).
CONSIDERE A ÁRVORE GENEALÓGICA A SEGUIR:
 Usando fatos, defina as relações pai e mãe. Em seguida,
consulte o sistema para ver se suas definições estão
corretas.
 Acrescente ao programa os fatos necessários para
definir as relações homem e mulher. Por exemplo, para
estabelecer que Ana é mulher e Ivo é homem,
acrescente os fatos mulher(ana) e homem(ivo).
 Usando duas regras, defina a relação gerou(X,Y) tal que
X gerou Y se X é pai ou mãe de Y. Faça consultas para
verificar se sua definição está correta. Por exemplo, para
a consulta gerou(X,eva) o sistema deverá apresentar as
respostas X = ana e X = ivo.
 Codifique as regras equivalentes às seguintes
sentenças:
 a) Todo mundo que tem filhos é feliz.
 b) Um casal é formado por duas pessoas que têm filhos
em comum.
BANCO DE DADOS DEDUTIVO
ARITMÉTICA
 Prolog oferece um predicado especial is, bem
como um conjunto operadores, através dos quais
podemos efetuar operações aritméticas.
 ?- X is 2+3.
 X = 5
 Os operadores aritméticos são + (adição), -
(subtração), * (multiplicação), mod (resto), / (divisão
real), // (divisão inteira) e ^ (potenciação).
PROGRAMA 2.1: ÁREA E POPULAÇÃO DOS
PAÍSES.
 % país(Nome, Área, População)
 país(brasil, 9, 130).
 país(china, 12, 1800).
 país(eua, 9, 230).
 país(índia, 3, 450).
 O Programa 2.1 representa uma tabela que relaciona a
cada país sua área em Km2 e sua população em
milhões de habitantes. Com base nesse programa, por
exemplo, podemos determinar a densidade demográfica
do Brasil, através da seguinte consulta:
 ?- país(brasil,A,P), D is P/A.
 A = 9
 P = 130
 D = 14.4444
 Uma outra consulta que poderia ser feita é a
seguinte: "Qual a diferença entre a população da
China e da Índia?".
 ?- país(china,_,X), país(índia,_,Y), Z is X-Y.
 X = 1800
 Y = 450
 Z = 1350
COMPARAÇÃO
 Para realizar comparações numéricas podemos usar os
seguintes predicados primitivos: =:= (igual) , ==
(diferente), > (maior), >= (maior ou igual), < (menor) e
=< (menor ou igual). Por exemplo, com esses
predicados, podemos realizar consultas tais como:
 A área do Brasil é igual à área dos Estados Unidos?
 ?- país(brasil,X,_), país(eua,Y,_), X =:= Y.
 X = 9
 Y = 9
 Yes
 • A população dos Estados Unidos é maior que a
população da Índia?
 ?- país(eua,_,X), país(índia,_,Y), X > Y.
 No
EXERCÍCIOS
 Inclua no Programa 2.1 uma regra para o
predicado dens(P,D), que relaciona cada país P à
sua densidade demográfica correspondente D. Em
seguida, faça consultas para descobrir:
 a) qual a densidade demográfica de cada um dos
países;
 b) se a Índia é mais populosa que a China.
REFERÊNCIA
 LAGO, Silvio. INTRODUÇÃO À LINGUAGEM
PROLOG

Mais conteúdo relacionado

Mais procurados

Gestão de pessoas por competências
Gestão de pessoas por competênciasGestão de pessoas por competências
Gestão de pessoas por competências
henrique42
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
Adriano Teixeira de Souza
 
Curso Gestão Governamental p/ APPGG-SP 2015
Curso Gestão Governamental p/ APPGG-SP 2015Curso Gestão Governamental p/ APPGG-SP 2015
Curso Gestão Governamental p/ APPGG-SP 2015
Estratégia Concursos
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
Alex Camargo
 
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
Leinylson Fontinele
 
Lista de exercicios gabarito - teoria dos jogos
Lista de exercicios   gabarito  - teoria dos jogosLista de exercicios   gabarito  - teoria dos jogos
Lista de exercicios gabarito - teoria dos jogos
Katia Gomide
 
Análise de Dados
Análise de DadosAnálise de Dados
Análise de Dados
Wesley Pinheiro
 
O Papel da controladoria em um ambiente de tecnologia da informacao
O Papel da controladoria em um ambiente de tecnologia da informacaoO Papel da controladoria em um ambiente de tecnologia da informacao
O Papel da controladoria em um ambiente de tecnologia da informacao
Eldorado Brasil Celulose S/A
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
Gustavo Gonzalez
 
Case Unimed Vitória - Planejamento Estratégico 2015-2018
Case Unimed Vitória - Planejamento Estratégico 2015-2018Case Unimed Vitória - Planejamento Estratégico 2015-2018
Case Unimed Vitória - Planejamento Estratégico 2015-2018
Luiz Fernando Dutra de Freitas
 
Recursividade
RecursividadeRecursividade
Recursividade
Sérgio Souza Costa
 
Operadores Booleanos
Operadores BooleanosOperadores Booleanos
Operadores Booleanos
Anabelazita
 
Grupos e Equipes
Grupos e EquipesGrupos e Equipes
Grupos e Equipes
JOSUE DIAS
 
1 Aula (UC 1) Introdução.pptx
1 Aula (UC 1) Introdução.pptx1 Aula (UC 1) Introdução.pptx
1 Aula (UC 1) Introdução.pptx
ElianeGuerra11
 
Caderno de Exercícios Autoestima e Emoções.pdf
Caderno de Exercícios Autoestima e Emoções.pdfCaderno de Exercícios Autoestima e Emoções.pdf
Caderno de Exercícios Autoestima e Emoções.pdf
pamelapsiborges
 
Teoria Geral de Sistemas
Teoria Geral de SistemasTeoria Geral de Sistemas
Teoria Geral de Sistemas
paulocsm
 
Aula 14-15 - qvt histórico conceitos e modelos
Aula 14-15 - qvt histórico conceitos e modelosAula 14-15 - qvt histórico conceitos e modelos
Aula 14-15 - qvt histórico conceitos e modelos
Fernando Monteiro D'Andrea
 
Aula tutoria ravlt
Aula tutoria ravltAula tutoria ravlt
Aula tutoria ravlt
KarinaBorges32
 
Atividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadoresAtividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadores
dyogo.santos
 
Motivacao e satisfacao no trabalho
Motivacao e satisfacao no trabalhoMotivacao e satisfacao no trabalho
Motivacao e satisfacao no trabalho
Universidade Pedagogica
 

Mais procurados (20)

Gestão de pessoas por competências
Gestão de pessoas por competênciasGestão de pessoas por competências
Gestão de pessoas por competências
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Curso Gestão Governamental p/ APPGG-SP 2015
Curso Gestão Governamental p/ APPGG-SP 2015Curso Gestão Governamental p/ APPGG-SP 2015
Curso Gestão Governamental p/ APPGG-SP 2015
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...Sistemas Computacionais  Aula 07 - Sistemas de Informação Organizacionais (SI...
Sistemas Computacionais Aula 07 - Sistemas de Informação Organizacionais (SI...
 
Lista de exercicios gabarito - teoria dos jogos
Lista de exercicios   gabarito  - teoria dos jogosLista de exercicios   gabarito  - teoria dos jogos
Lista de exercicios gabarito - teoria dos jogos
 
Análise de Dados
Análise de DadosAnálise de Dados
Análise de Dados
 
O Papel da controladoria em um ambiente de tecnologia da informacao
O Papel da controladoria em um ambiente de tecnologia da informacaoO Papel da controladoria em um ambiente de tecnologia da informacao
O Papel da controladoria em um ambiente de tecnologia da informacao
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Case Unimed Vitória - Planejamento Estratégico 2015-2018
Case Unimed Vitória - Planejamento Estratégico 2015-2018Case Unimed Vitória - Planejamento Estratégico 2015-2018
Case Unimed Vitória - Planejamento Estratégico 2015-2018
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Operadores Booleanos
Operadores BooleanosOperadores Booleanos
Operadores Booleanos
 
Grupos e Equipes
Grupos e EquipesGrupos e Equipes
Grupos e Equipes
 
1 Aula (UC 1) Introdução.pptx
1 Aula (UC 1) Introdução.pptx1 Aula (UC 1) Introdução.pptx
1 Aula (UC 1) Introdução.pptx
 
Caderno de Exercícios Autoestima e Emoções.pdf
Caderno de Exercícios Autoestima e Emoções.pdfCaderno de Exercícios Autoestima e Emoções.pdf
Caderno de Exercícios Autoestima e Emoções.pdf
 
Teoria Geral de Sistemas
Teoria Geral de SistemasTeoria Geral de Sistemas
Teoria Geral de Sistemas
 
Aula 14-15 - qvt histórico conceitos e modelos
Aula 14-15 - qvt histórico conceitos e modelosAula 14-15 - qvt histórico conceitos e modelos
Aula 14-15 - qvt histórico conceitos e modelos
 
Aula tutoria ravlt
Aula tutoria ravltAula tutoria ravlt
Aula tutoria ravlt
 
Atividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadoresAtividade EaD - Plano de ensino de redes de computadores
Atividade EaD - Plano de ensino de redes de computadores
 
Motivacao e satisfacao no trabalho
Motivacao e satisfacao no trabalhoMotivacao e satisfacao no trabalho
Motivacao e satisfacao no trabalho
 

Último

1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
Marlene Cunhada
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
CarinaSantos916505
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
JoeteCarvalho
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
LILIANPRESTESSCUDELE
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
soaresdesouzaamanda8
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
edivirgesribeiro1
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 

Último (20)

1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
Aula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptxAula 2 - Revisando o significado de fração - Parte 2.pptx
Aula 2 - Revisando o significado de fração - Parte 2.pptx
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdfCRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
CRONOGRAMA - PSC 2° ETAPA 2024.pptx (1).pdf
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 

Aula prolog 02 ia

  • 2. EXEMPLO  Um exemplo simples de fato com dois argumentos seria a relação amiga:  Amiga (joana, maria).
  • 3. PORTANTO...  Assim, definimos uma relação (amizade) entre dois argumentos (joana e maria).  Obviamente podemos ter um fato com apenas um argumento:  homem(carlos).
  • 4. CLAUSULAS: REGRAS E FATOS  filho(X,Y):-pai(Y,X). cabeça corpo Conclusão Condições
  • 5. EXEMPLO PROGRAMA 1.1  pai(adão,cain).  pai(adão,abel).  pai(adão,seth).  pai(seth,enos). Consultas ?- pai(adão,cain).
  • 6. CONSULTAS  As consultas tornam-se ainda mais interessantes quando empregamos variáveis, ou seja, identificadores para objetos não especificados. Por exemplo,  ?- pai(X,abel).  Resposta  X = adão.
  • 7. CONSULTA  Uma consulta com variáveis pode ter mais de uma resposta. Nesse caso, o sistema apresentará a primeira resposta e ficará aguardando até que seja pressionado enter, que termina a consulta, ou ponto-e-vírgula, que faz com que a próxima resposta possível, se houver, seja apresentada.  ?- pai(adão,X).  X = cain ;  X = abel ;  X = seth ;  no
  • 8. QUEM É O PAI DO PAI DE ENOS?  Então, como o pai de Enos não é conhecido a priori, a consulta correspondente a essa pergunta tem dois objetivos:  primeiro, descobrir quem é o pai de Enos, digamos que seja Y;  depois, descobrir quem é o pai de Y.  ?- pai(Y,enos), pai(X,Y).  Y = seth  X = adão  yes
  • 9. VARIÁVEL ANÔNIMA  Outro tipo de variável importante é a variável anônima. Uma variável anônima deve ser usada quando seu valor específico for irrelevante numa determinada consulta. Por exemplo, considerando o Programa 1.1, suponha que desejássemos saber quem já procriou, ou seja, quem tem filhos. Então, como o nome dos filhos é uma informação irrelevante, poderíamos digitar:  ?- pai(X,_).  A essa consulta o sistema responderia X = adão e X = seth.
  • 10. REGRAS  Regras nos permitem definir novas relações em termos de outras relações já existentes. Por exemplo, a regra:  avô(X,Y) :- pai(X,Z), pai(Z,Y).  define a relação avô em termos da relação pai, ou seja, estabelece que X é avô de Y se X tem um filho Z que é pai de Y. Com essa regra, podemos agora realizar consultas tais como  ?- avô(X,enos).  X = adão
  • 11. REGRAS  A regra para definir o relacionamento IRMÃO é escrita como:  irmão(X,Y) :- pai(Z,X), pai(Z,Y), X=Y.  Evidentemente, poderíamos definir a relação irmão simplesmente listando todas as suas instâncias. Veja:  irmão(cain,abel).  irmão(cain,seth).  irmão(abel,cain).  irmão(abel,seth).  irmão(seth,cain).  irmão(seth,abel).
  • 12. EXERCÍCIOS  Digite o Programa 1.1, incluindo as regras que definem as relações avô e irmão, e realize as seguintes consultas:  a) Quem são os filhos de Adão?  b) Quem são os netos de Adão?  c) Quem são os tios de Enos?
  • 13.  Considere a seguinte base de fatos:  aluno(joao, paradigmas).  aluno(maria, paradigmas).  aluno(joel, lab2).  aluno(joel, estruturas).  frequenta(joao, fied).  frequenta(maria, fied).  frequenta(joel, ifce).  professor(carlos, paradigmas).  professor(ana_paula, estruturas).  professor(pedro, lab2).  funcionario(pedro, ifce).  funcionario(ana_paula, fied).  funcionario(carlos, fied).  Escreva as seguintes regras em prolog:  a) Quem são os alunos do professor carlos?  b) Quem são os alunos do professor X?  b) Quem são as pessoas da universidade X? (alunos ou docentes) EXERCÍCIOS
  • 14. EXERCÍCIOS  Pouco se sabe da história passada da família Pinheiro. Existem alguns registros antigos que indicam que o casal José e Maria criou dois filhos, o João e a Ana. Que a Ana teve duas filhas, a Helena e a Joana, também parece ser verdade, segundo os mesmos registros. Além disso, o Mário é filho do João, pois muito se orgulha ele disso. Estranho também, foi constatar que o Carlos nasceu da relação entre a Helena, muito formosa, e o Mário.
  • 15.  a) Utilizando o predicado progenitor(X,Y) (ou seja, X é progenitor de Y), represente em Prolog todos os progenitores da família Pinheiro.  b) Represente em Prolog as relações: sexo (masculino ou feminino), irmã, irmão, descendente, mãe, pai, primo.  c) Formule em Prolog as seguintes questões:  1. O João é filho do José?  2. Quem são os filhos da Maria?  3. Quem são os primos do Mário?  Obs.: Exemplo de representação  progenitor(mario,carlos).  sexo(ana,feminino).
  • 16. CONSIDERE A ÁRVORE GENEALÓGICA A SEGUIR:  Usando fatos, defina as relações pai e mãe. Em seguida, consulte o sistema para ver se suas definições estão corretas.
  • 17.  Acrescente ao programa os fatos necessários para definir as relações homem e mulher. Por exemplo, para estabelecer que Ana é mulher e Ivo é homem, acrescente os fatos mulher(ana) e homem(ivo).  Usando duas regras, defina a relação gerou(X,Y) tal que X gerou Y se X é pai ou mãe de Y. Faça consultas para verificar se sua definição está correta. Por exemplo, para a consulta gerou(X,eva) o sistema deverá apresentar as respostas X = ana e X = ivo.
  • 18.  Codifique as regras equivalentes às seguintes sentenças:  a) Todo mundo que tem filhos é feliz.  b) Um casal é formado por duas pessoas que têm filhos em comum.
  • 19. BANCO DE DADOS DEDUTIVO
  • 20. ARITMÉTICA  Prolog oferece um predicado especial is, bem como um conjunto operadores, através dos quais podemos efetuar operações aritméticas.  ?- X is 2+3.  X = 5  Os operadores aritméticos são + (adição), - (subtração), * (multiplicação), mod (resto), / (divisão real), // (divisão inteira) e ^ (potenciação).
  • 21. PROGRAMA 2.1: ÁREA E POPULAÇÃO DOS PAÍSES.  % país(Nome, Área, População)  país(brasil, 9, 130).  país(china, 12, 1800).  país(eua, 9, 230).  país(índia, 3, 450).  O Programa 2.1 representa uma tabela que relaciona a cada país sua área em Km2 e sua população em milhões de habitantes. Com base nesse programa, por exemplo, podemos determinar a densidade demográfica do Brasil, através da seguinte consulta:  ?- país(brasil,A,P), D is P/A.  A = 9  P = 130  D = 14.4444
  • 22.  Uma outra consulta que poderia ser feita é a seguinte: "Qual a diferença entre a população da China e da Índia?".  ?- país(china,_,X), país(índia,_,Y), Z is X-Y.  X = 1800  Y = 450  Z = 1350
  • 23. COMPARAÇÃO  Para realizar comparações numéricas podemos usar os seguintes predicados primitivos: =:= (igual) , == (diferente), > (maior), >= (maior ou igual), < (menor) e =< (menor ou igual). Por exemplo, com esses predicados, podemos realizar consultas tais como:  A área do Brasil é igual à área dos Estados Unidos?  ?- país(brasil,X,_), país(eua,Y,_), X =:= Y.  X = 9  Y = 9  Yes  • A população dos Estados Unidos é maior que a população da Índia?  ?- país(eua,_,X), país(índia,_,Y), X > Y.  No
  • 24. EXERCÍCIOS  Inclua no Programa 2.1 uma regra para o predicado dens(P,D), que relaciona cada país P à sua densidade demográfica correspondente D. Em seguida, faça consultas para descobrir:  a) qual a densidade demográfica de cada um dos países;  b) se a Índia é mais populosa que a China.
  • 25. REFERÊNCIA  LAGO, Silvio. INTRODUÇÃO À LINGUAGEM PROLOG