Apostila prolog

Disponível somente no TrabalhosFeitos
  • Páginas : 42 (10410 palavras )
  • Download(s) : 0
  • Publicado : 28 de setembro de 2012
Ler documento completo
Amostra do texto
Universidade Federal de Campina Grande - UFCG Centro de Ciências e Tecnologia - CCT Departamento de Sistemas e Computação - DSC

APOSTILA: INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA

Alexandre de Andrade Barbosa aab@dsc.ufcg.edu.br Joseluce de Farias Cunha joseluce@dsc.ufcg.edu.br

34 páginas 2006

Av. Aprígio Veloso, 882  Bodocongó Caixa Postal 10.106 58.109-970  Campina Grande  PB  BrasilFone: 310-1119  Fax: 310-1273

APOSTILA: INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA
Alexandre de Andrade Barbosa Departamento de Sistemas e Computação E-mail: aab@dsc.ufcg.edu.br Joseluce de Farias Cunha Departamento de Sistemas e Computação E-mail: joseluce@dsc.ufcg.edu.br Av. Aprígio Veloso, 882  Bodocongó  Caixa Postal 10.106 CEP 58109-970  Campina Grande  PB  Brasil Fone: 310-1119  Fax:310-1273 (DSC)

Esta apostila foi criada como material de apoio à disciplina de Lógica Matemática do curso de Ciência da Computação da Universidade Federal de Campina Grande - UFCG. O conteúdo apresentado neste material é relacionado à Programação em Lógica, mais especicamente à linguagem Prolog. Nenhuma revisão sobre Lógica Matemática é apresentada, assim, é necessário que o leitor já possuaconhecimento sobre Lógica Proposicional e Lógica de 1a Ordem. Este texto possuí nível introdutório, uma vez que conhecimentos avançados sobre a linguagem não serão explorados na disciplina em questão.

Resumo

Palavras-chave: Programação em lógica, Prolog, Lógica.

1

Sumário
1 Introdução
1.1 1.2 O que é Programação em Lógica/Prolog? . . . . . . . . . . . . . . . . . . . Como Prologfunciona? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

4 4

2 Implementações de Prolog 3 Sintaxe SWI-Prolog
3.1 3.2 Os comandos write e read . . . . . . . . . . . . . . . . . . . . . . . . . . . Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 7
7 8

4 Utilizando o SWI-Prolog 5 Fatos, Regras e Consultas
5.1 5.2 5.3 6.1 6.2 6.3 6.4

9 10Regras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Regras recursivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Como Prolog responde consultas . . . . . . . . . . . . . . . . . . . . . . . . 15 Checagem de pertinência Concatenação . . . . . . Adicionando elementos . Excluindo elementos . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Listas

16
17 17 18 18

7 Aritmética 8 Corte de uxo 9 Exemplos 10 Exercícios

19 21 22 27

2

Lista de Figuras
1 2 3 4 5 Tela inicial do SWI-Prolog Editor . . Árvore genealógica . . . . . . . . . . Relaçãodescendente. . . . . . . . . . Árvore para a expressão 2 ∗ a + b ∗ c Jogo Torre de Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 10 14 19 24

3

1

Introdução

Esta apostila foi criada para apoiar adisciplina Lógica Matemática, em sua parte nal relacionada à Programação em Lógica. O conteúdo apresentado aqui possui nível introdutório, uma vez que a disciplina em questão não fará uso de recursos avançados da linguagem. Estudos mais avançados sobre a Programação em Lógica deverão realizados em disciplinas posteriores. O conteúdo deste texto busca fornecer aspectos mais práticos relacionados àlinguagem Prolog, o funcionamento interno da linguagem não será detalhado neste material. Caso o leitor deseje se aprofundar no estudo da linguagem, recomenda-se a leitura de [1], [2], [3] e [4], nos quais este texto é baseado. Espera-se que após a leitura deste material o leitor seja capaz de:

• compreender e executar programas Prolog; • modicar programas Prolog; • escrever programas Prolog...
tracking img