Linguagem Prolog        Grupo:        Cael London Vieira        Mateus Felipe        Rafael Pereira Bozzetti        Walter...
Prolog - Definição Geral    Prolog é uma linguagem Declarativa, ou seja,    limita-se a descrever um problema.    Define...
Prolog - Histórico    Foi criada em 1971 por Alain Colmerauer e    Robert Pasero na Universidade de    Marselha, França....
Prolog - Domínio da Aplicação    Lógica matemática, prova de teoremas e semântica.    Compiladores    Soluções de equaç...
Prolog - Características    Provador de teoremas (Verdade ou Falso)    Linguagem declarativa    Não emprega tipos de da...
Elementos da Linguagem    Fatos: Determina uma relação entre objetos    existentes. Exemplo: gosta(maria,X).    Regras: ...
Fatos                      gosta( joao,maria ).                          Relação        Objeto   Relações e Objetos devem...
Regras      luz(acesa) :- interruptor(ligado).    Determina um relacionamento entre Fatos.    O “:-” significa “SE”, por...
, =E                      Consultas                                                     ; = OU                 gosta(X, es...
Operadores RelacionaisX=Y          X e Y são iguais;X = Y       X e Y são diferentes;X<Y          X é menor que Y;X>Y     ...
Operadores AritméticosX+Y       Soma de X e Y;X–Y       Diferença de X e Y;X*Y       Multiplicação de X por Y;X/Y       Di...
Ambiente de Desenvolvimento    Plugin Eclipsehttp://sewiki.iai.uni-bonn.de/research/pdt/start    Windows: SWI-Prolog-Edi...
Exemplo de Códigofatorial(0,1).fatorial(N,F) :-    N>0,    N1 is N-1,    factorial(N1,F1),    F is N * F1.
Exercício PropostoNa base de                   gosta( julio, peixe ). conhecimento ao lado,       gosta( julio, maria ). c...
Resolução do Exercício    Quem gosta de livro?gosta(X,livro).    Quem gosta de livro e chocolate?gosta(X,livro),gosta(X,...
Próximos SlideShares
Carregando em…5
×

Seminário Prolog

1.792 visualizações

Publicada em

Slides do Seminário sobre Prolog

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.792
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
86
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Seminário Prolog

  1. 1. Linguagem Prolog Grupo: Cael London Vieira Mateus Felipe Rafael Pereira Bozzetti Walter da Silva Fernandes
  2. 2. Prolog - Definição Geral Prolog é uma linguagem Declarativa, ou seja, limita-se a descrever um problema. Define uma coleção de Fatos e Relações sobre determinado objeto ou problema. Utiliza-se de métodos lógicos para declarar como o programa deve atingir o seu objetivo. Possibilita que consultas sejam feitas na base de conhecimento.
  3. 3. Prolog - Histórico Foi criada em 1971 por Alain Colmerauer e Robert Pasero na Universidade de Marselha, França. Não foi idealizada como uma linguagem de programação, mas para o processamento de linguagens naturais, como o Português e o Inglês.
  4. 4. Prolog - Domínio da Aplicação Lógica matemática, prova de teoremas e semântica. Compiladores Soluções de equações simbólicas Banco de dados relacionais Linguagem Natural Aplicações, como jogos de Xadrez e Damas Planejamento automático de atividades Análise Bioquímica e projetos de novas drogas
  5. 5. Prolog - Características Provador de teoremas (Verdade ou Falso) Linguagem declarativa Não emprega tipos de dados Linguagem é interpretada Diferente de programação estruturada. Não existe variáveis globais
  6. 6. Elementos da Linguagem Fatos: Determina uma relação entre objetos existentes. Exemplo: gosta(maria,X). Regras: Determina um relacionamento entre Fatos Exemplo: gosta(X,maria) :- gosta(X,peixe). Consultas: Infere pesquisas na base de conhecimento à procura de cláusulas consultadas. Exemplo: ?- gosta(X,maria).
  7. 7. Fatos gosta( joao,maria ). Relação Objeto Relações e Objetos devem começar com letra minúscula. Objetos são escritos dentro de parênteses. Todo Fato deve terminar com ponto. Uma Relação pode receber mais de um Objeto.Exemplo: gosta( joao, maria ). A ordem dos objetos é importante.gosta( joao, maria ). é diferente de gosta( maria, joao ).
  8. 8. Regras luz(acesa) :- interruptor(ligado). Determina um relacionamento entre Fatos. O “:-” significa “SE”, portanto na expressão acima, a luz está acesa se o interruptor estiver ligado. Pode-se utilizar variáveis, devem ser em maiúsculo. O conteúdo da variável após ser instanciada não pode ser mudado.
  9. 9. , =E Consultas ; = OU gosta(X, esporte), gosta(X, futebol). Ao fazer uma consulta a base de conhecimento, será realizado uma procura por relações entre os termos. Referente a consulta, caso exista relação será retornado true, senão fail. Pode-se utilizar variáveis nas consultas, neste caso todos os termos serão pesquisados.
  10. 10. Operadores RelacionaisX=Y X e Y são iguais;X = Y X e Y são diferentes;X<Y X é menor que Y;X>Y X é maior que Y;X =< Y X é menor ou igual a Y;X >= Y X é maior ou igual a Y.X =:= Y X e Y são iguais (p/ números);X == Y X e Y são diferentes (p/ números).
  11. 11. Operadores AritméticosX+Y Soma de X e Y;X–Y Diferença de X e Y;X*Y Multiplicação de X por Y;X/Y Divisão de X por Y;X mod Y Resto da divisão de X por Y.
  12. 12. Ambiente de Desenvolvimento Plugin Eclipsehttp://sewiki.iai.uni-bonn.de/research/pdt/start Windows: SWI-Prolog-Editorhttp://lakk.bildung.hessen.de/netzwerk/faecher/informatik/swi prolog/indexe.html Linux (debian/ubuntu): apt-get install swi-prolog
  13. 13. Exemplo de Códigofatorial(0,1).fatorial(N,F) :- N>0, N1 is N-1, factorial(N1,F1), F is N * F1.
  14. 14. Exercício PropostoNa base de gosta( julio, peixe ). conhecimento ao lado, gosta( julio, maria ). como ficariam as gosta( maria, livro ). consultas? gosta( joao, livro ). Quem gosta de livro? gosta( joao, peixe ). Quem gosta de livro e gosta( maria, chocolate ). chocolate? gosta( maria, peixe ). gosta( joao, cerveja ). Quem gosta de livro ou gosta( joao, futebol). chocolate?
  15. 15. Resolução do Exercício Quem gosta de livro?gosta(X,livro). Quem gosta de livro e chocolate?gosta(X,livro),gosta(X,chocolate). Quem gosta de livro ou chocolate?gosta(X,livro);gosta(X,chocolate).

×