Logo ITP-NEWS
RSS | Contatti | Login|Registrati| Home
giornali
Esempi di predicati in Prolog
Di Fusco Francesco::2011-03-09


/* Esempi di predicati in Prolog */
/* ama(persona,hobby) */

ama(elena,lettura).
ama(gianni, computer).
ama(gianni,calcio).
ama(leonardo, nuoto).
ama(enzo,basket).
ama(enzo,lettura).


Lanciata l'esecuzione di Prolog (ho installato ex-novo una versione di Swi Prolog)


francesco@linux:~> swipl
% library(swi_hooks) compiled into pce_swi_hooks 0.00 sec, 4,240 bytes
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.10.0)
Copyright (c) 1990-2010 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).


e caricato il file dei predicati, salvato con il nome di hobby.pl


?- consult(hobby).
% hobby compiled 0.00 sec, 2,456 bytes
true.

?-


inizio l'interrogazione. Mi chiedo, quali sono gli hobby di gianni ?

?- ama(gianni,X).

mo dovrebbe restituire tutti gli hobby di gianni:


X = computer ;
X = calcio.



Chi ama il basket ?


?- ama(X,basket).
X = enzo ;
false.



Se volessi visualizzare tutte le persone con tutti i loro hobby, scriverei:


?- ama(X,Y).
X = elena,
Y = lettura ;
X = gianni,
Y = computer ;
X = gianni,
Y = calcio ;
X = leonardo,
Y = nuoto ;
X = enzo,
Y = basket ;
X = enzo,
Y = lettura.

?-



Il segno ?- è il prompt di Prolog in attesa di interrogazioni e/o comandi.

Programming in Prolog: Using the ISO Standard