En aquesta secció, aprendrem els conceptes bàsics per començar a treballar amb Prolog. Ens centrarem en com crear un programa senzill, executar-lo i entendre els resultats.

  1. Creant el Primer Programa en Prolog

1.1. Estructura Bàsica d'un Programa Prolog

Un programa Prolog està format per fets, regles i consultes. A continuació, es mostra un exemple senzill:

% Fets
pare(john, mary).
pare(john, tom).

% Regles
germans(X, Y) :- pare(Z, X), pare(Z, Y), X \= Y.

% Consultes
% ?- germans(mary, tom).

Explicació del Codi

  • Fets: Els fets són afirmacions que es consideren veritables. En l'exemple, pare(john, mary). significa que John és el pare de Mary.
  • Regles: Les regles defineixen relacions entre fets. La regla germans(X, Y) :- pare(Z, X), pare(Z, Y), X \= Y. diu que X i Y són germans si tenen el mateix pare Z i X no és igual a Y.
  • Consultes: Les consultes són preguntes que fem al sistema Prolog per verificar si certs fets o regles són veritables. La consulta ?- germans(mary, tom). pregunta si Mary i Tom són germans.

  1. Executant el Primer Programa

2.1. Guardant el Programa

Guarda el codi anterior en un fitxer amb extensió .pl, per exemple, familia.pl.

2.2. Carregant el Programa en Prolog

  1. Obre el teu entorn Prolog (per exemple, SWI-Prolog).
  2. Carrega el fitxer utilitzant la comanda següent:
?- [familia].

2.3. Realitzant Consultes

Un cop carregat el programa, pots realitzar consultes per verificar els fets i les regles definides:

?- germans(mary, tom).

Si la consulta és certa, Prolog retornarà true. Si no, retornarà false.

  1. Exercicis Pràctics

Exercici 1: Definint Nous Fets i Regles

  1. Afegeix els següents fets al teu programa:
mare(anna, mary).
mare(anna, tom).
  1. Defineix una nova regla germans_de_mare(X, Y) que determini si X i Y són germans per part de mare.

Solució

% Fets
pare(john, mary).
pare(john, tom).
mare(anna, mary).
mare(anna, tom).

% Regles
germans(X, Y) :- pare(Z, X), pare(Z, Y), X \= Y.
germans_de_mare(X, Y) :- mare(Z, X), mare(Z, Y), X \= Y.

Exercici 2: Realitzant Consultes

  1. Consulta si Mary i Tom són germans per part de mare:
?- germans_de_mare(mary, tom).
  1. Consulta si Mary i Tom són germans per part de pare:
?- germans(mary, tom).

  1. Errors Comuns i Consells

Errors Comuns

  • No carregar el fitxer correctament: Assegura't que el fitxer es carrega sense errors. Si hi ha errors de sintaxi, Prolog no podrà carregar el fitxer.
  • Consultes mal formulades: Les consultes han de seguir la sintaxi correcta de Prolog. Per exemple, ?- germans(mary, tom). és correcte, mentre que ?- germans(mary tom). no ho és.

Consells

  • Comentaris: Utilitza comentaris (%) per documentar el teu codi i fer-lo més llegible.
  • Prova i Error: No tinguis por de provar diferents consultes i modificar els teus fets i regles per veure com canvien els resultats.

Conclusió

En aquesta secció, hem après com crear un programa senzill en Prolog, guardar-lo, carregar-lo i executar consultes. Hem definit fets, regles i hem realitzat consultes per verificar la veracitat de les nostres afirmacions. Amb aquests coneixements bàsics, estàs preparat per aprofundir més en la programació en Prolog en les següents seccions del curs.

© Copyright 2024. Tots els drets reservats