dana1

generalmente in ogni pagina viene fornito il listato completo del programma tipo nome.pro (facilmente si può copiare e
incollare su NOTES ,modificare e adattare, salvare come file.pro (selezionare TUTTI i FILES) e riochiamare se sul proprio PC
è installato il prolog;viene fornita una (o più)
immagine del risultato visualizzato attivando il programma su prolog;
eventualmente fiene fornito il
database.dba richiamabile con INCLUDE:si può copiare,incollare,integrare e salvare
come file.dba (selezionare TUTTI i FILES).


per utilizzare un database estermo al programma si può procedere in questo modo:
1-scrivere programma (es.dana1.pro) che utilizzerà database esterno, richiamandolo con INCLUDE "percorso ove trovare database"
2-scrivere ,anche con notes, il database e registrarlo ad esempio come ana1.dba (attivare opzione TUTTI i FILES)
3-attivare prolog, files, load , run...e inserire richieste come risposta a GOAL
(nota: conviene per semplicità avere i database.dba ,i programmi.pro nella stessa cartella per facilitare la loro individuazione )
esempi di percorso (fare attenzione a virgolette e sbarra / .....non \ ...)
include "A:ana1.dba".................se database in floppy in A:
include "ana1.dba" ...................se database in cartella contenente anche Prolog
include
"C:/database/ana1.dba" se database contenuto in C:/database/ana1.dba

 


/* dana1.pro */
/* programma che richiama database ana1.dba */
/* elementi del DOMINIO e PREDICATI */
/* definiti nel database e non ripetibili */
/* nel programma principale */
in risposta a Goal scrivere richiesta (es.uno(N)....dati(N,F)....figlio(F)...)
programma.pro 

nowarnings
include "ana1.dba"
domains
predicates
uno(nome)
dati(nome,nome)
figlio(nome)
clauses
 /* cerca se esiste padre di nome indicato */
 uno(N) if
 padre(N,F) and
 N=mario.
  
 /* stampa archivio completo */
 dati(N,F) if
  padre(N,F).  
  
 /* cerca se esiste figlio di nome indicato */
 figlio(F) if
  padre(N,F) and
  F=sergio.
 figlio(F) if
  padre(N,F) and
  F=carlo.  

database.dba
/* database ana1.dba */
domains
nome = symbol
predicates
padre(nome,nome)
clauses
padre(mario,carlo).
padre(aldo,anna).
padre(luigi,carlo).
padre(alberto,sergio).
/* si possono aggiungere altri dati */

 


immagini