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.
- 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.
- 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
- Obre el teu entorn Prolog (per exemple, SWI-Prolog).
- Carrega el fitxer utilitzant la comanda següent:
2.3. Realitzant Consultes
Un cop carregat el programa, pots realitzar consultes per verificar els fets i les regles definides:
Si la consulta és certa, Prolog retornarà true
. Si no, retornarà false
.
- Exercicis Pràctics
Exercici 1: Definint Nous Fets i Regles
- Afegeix els següents fets al teu programa:
- 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
- Consulta si Mary i Tom són germans per part de mare:
- Consulta si Mary i Tom són germans per part de pare:
- 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.
Curs de Programació en Prolog
Mòdul 1: Introducció a Prolog
- Què és Prolog?
- Instal·lant Prolog
- Primers Passos en Prolog
- Sintaxi i Estructura Bàsiques
- Fets, Regles i Consultes
Mòdul 2: Programació Bàsica en Prolog
Mòdul 3: Estructures de Dades en Prolog
Mòdul 4: Programació Avançada en Prolog
- Unificació Avançada
- Tall i Negació
- Meta-Programació
- Gramàtiques de Claus Definides (DCGs)
- Programació Lògica amb Restriccions
Mòdul 5: Prolog en la Pràctica
- Entrada/Sortida de Fitxers
- Depuració de Programes Prolog
- Biblioteques Prolog
- Interfície amb Altres Llenguatges
- Construint una Aplicació Prolog