Organização de computadores
PROLOG
SILVIO LAGO
Sumário
1. Elementos Básicos 03 1.1. Fatos 03 1.2. Consultas 03 1.2.1. Variáveis compartilhadas 04 1.2.2. Variáveis Anônimas 05 1.3. Regras 05 1.3.1. Grafos de relacionamentos 05 1.4. Exercícios 06
2. Banco de Dados Dedutivos 08 2.1. Aritmética 08 2.2. Comparação 09 2.3. Relacionamento entre tabelas 09 2.4. O modelo relacional 11 2.4. Exercícios 11
3. Controle Procedimental 13 3.1. Retrocesso 13 3.2. Cortes 14 3.2.1. Evitando retrocesso desnecessário 15 3.2.2. Estrutura condicional 16 3.3. Falhas 17 3.4. Exercícios 17
4. Programação Recursiva 19 4.1. Recursividade 19 4.2. Predicados recursivos 19 4.3. Relações transitivas 21 4.4. Exercícios 23
5. Listas e Estruturas 24 5.1. Listas 24 5.1.1. Tratamento recursivo de listas 25 5.1.2. Ordenação de listas 26 5.2. Estruturas 28 5.2.1. Representando objetos geométricos 28 5.3. Exercícios 29
6. Base de Dados Dinâmica 31 6.1. Manipulação da base de dados dinâmica 31 6.2. Aprendizagem por memorização 32 6.3. Atualização da base de dados em disco 33 6.4. Um exemplo completo: memorização de capitais 33 6.5. Exercícios 35
Capítulo 1
Elementos Básicos
Os elementos básicos da linguagem Prolog são herdados da lógica de predicados. Esses elementos são fatos, regras e consultas.
1.1 Fatos
Fatos servem para estabelecer um relacionamento existente entre objetos de um determinado contexto de discurso. Por exemplo, num contexto bíblico,
pai(adão,cain).
é um fato que estabelece que Adão é pai de Cain, ou seja, que a relação pai existe entre os objetos denominados adão e cain. Em Prolog, identificadores de relacionamentos são denominados predicados e identificadores de objetos são denominados