Operatori Aritmetici - (Prolog) Lezione 6

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 »

Liste in Prolog - (Prolog) Lezione 5

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 »

Tipi di dato in Prolog - (Prolog) Lezione 4

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 »

Ancora sulle regole - (Prolog) Lezione 3

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 »

Next Page »