February 27th, 2009
Prolog è un linguaggio per il calcolo simbolico dove la necesita di eseguire calcoli aritmetici è esigua. In questa lezione vedremo come gestire le operazione aritmetiche.
I principali operatori aritmetici di Prolog sono:
- +, addizione
- -, sottrazione
- *, moltiplicazione
- /, divisione
- mod, resto della divisione
L’uso di tali operatori non è diretto. Infatti scrivendo
?- X = 1 + 2.
Prolog risponderà “X = 1 + 2″ e non “X = 3″ come qualcuno potrebe aspettarsi. Ciò avviene perchè la stringa “1 + 2″ in prolog coincide con un termine dove + è il funtore ed 1 e 2 i suoi argomenti. Per eseguire l’operazione aritmetica c’è bisogno di usare l’operatore speciale is come segue:
Read the rest of this entry »
Posted in Programmazione, Tutorial | No Comments »
January 24th, 2009
Le liste sono strutture dati tanto semplici quanto usate. In questa lezione vedremo come usarle in Prolog. Una lista è una sequenza di elementi e, come visto anche nella lezione precedente, può essere scritta in Prolog utilizzando il funtore ‘.’ oppure usando la notazione con parentesi quadre. Quest’ultima è la notazione più comoda e sarà l’unica ad essere trattata in questa lezione. Una lista può essere scritta nel seguente modo:
[item1, item2, item3, item4]
Read the rest of this entry »
Posted in Programmazione, Tutorial | No Comments »
December 12th, 2008
Nella prima lezione sono stati distinti gli atomi dalle variabili, tale distinzione è stata usata in tutte le lezioni successive. Vediamo adesso in dettaglio i tipi di dato utilizzabili in prolog.
Dato
/\
/ \
OggettoBase Termini Composti
/\
/ \
Costanti Variabili
/\
/ \
Atomi Numeri
I dati in prolog si dividono in termini composti e dati basilari, questi ultimi si dividono in varibili e costanti.
Read the rest of this entry »
Posted in Programmazione, Tutorial | No Comments »
November 24th, 2008
Estendiamo ancora il famoso programma per la rappresentazione di un’albero familiare distinguendo gli elementi per sesso in questo modo:
female(pam).
male(tom).
male(bob).
female(liz).
female(ann).
female(pat).
male(jim).
Grazie a tali relazioni possiamo stabilire la regola mother partendo dalla seguente idea
Per ogni X ed Y.
X è madredi di Y se
X è parent di Y e
X è una donna.
Ricordiamo che una regola prolog è composta da un corpo ed una testa disposti nella forma
Testa :- Corpo
e si legge “Testa è vero solo se è vero il Corpo”. Quindi possiamo scrivere la relazione di sopra come
mother(X, Y) :-
parent(X, Y),
female(X).
Possiamo così definire la relazione sister tra X ed Y asserendo che X ed Y abbiano lo stesso padre Z, che X sia donna ed X e Y siano diversi tra loro:
sister(X, Y)
parent(Z,X),
parent(Z,Y),
female(X),
not X = Y.
Posted in Programmazione, Tutorial | 1 Comment »