listati da Prolog2
listati da copiare e incollare su notes e salvare come file.PRO
richiamabili in ambiente Prolog

esci listaprolog.htm

coniuga solo indicativo presente e imperfetto prima coniugazione
le desinenze son richiamate con (include "desi.pro")
i due listati latino3.pro e desi.pro si trovano nella stessa cartella da indicare con directory

/* latino3.pro */
/* analisi verbo latino e ricava radice */
/* desinenze richiamate da disco */

nowarnings
include "desi.pro"

domains
Lunga = integer
Radix,Verbo =string

predicates
finestra
azione
goal
finestra,azione.

clauses
finestra:-makewindow(1,7,1,"",0,0,25,80).
azione:-
attribute(5),
write("scrivi infinito verbo latino"),nl,
write("da coniugare:es.laudare "),nl,
readln(Verbo),
write("----------------------------"),nl,
attribute(6),
str_len(Verbo,Lunga),
Radice=Lunga-3,
frontstr(Radice,Verbo,Radix,Des),
write("infinito..",Verbo),nl,
write(Lunga),nl,
write("radice....",Radix),nl,
write("desinenza.",Des),nl,
sound(100,600),
DATI1(D1,D2,D3,D4,D5,D6),
dati2(E1,E2,E3,E4,E5,E6),
/* forme verbali presente indicativo*/
concat(Radix,D1,R1),concat(Radix,E1,Q1),
concat(Radix,D2,R2),concat(Radix,E2,Q2),
concat(Radix,D3,R3),concat(Radix,E3,Q3),
concat(Radix,D4,R4),concat(Radix,E4,Q4),
concat(Radix,D5,R5),concat(Radix,E5,Q5),
concat(Radix,D6,R6),concat(Radix,E6,Q6),
write("=============================="),nl,
attribute(2),
write("stampa indicativo presente"),nl,
attribute(3),
write(R1),nl,
write(R2),nl,
write(R3),nl,
write(R4),nl,
write(R5),nl,
write(R6),nl,
attribute(4),
write("----imperfetto -------"),nl,
write(Q1),nl,write(Q2),nl,write(Q3),nl,
write(Q4),nl,write(Q5),nl,write(Q6),nl,
readchar(_).

 

/* DESI.PRO */
/* da usare con latino3..latino4 */

domains
des= symbol
predicates
dati1(des,des,des,des,des,des)
dati2(des,des,des,des,des,des)
dati3(des,des,des,des,des,des)
dati4(des,des,des,des,des,des)
dati5(des,des,des,des,des,des)
dati6(des,des,des,des,des,des)

dati7(des,des,des,des,des,des)
dati8(des,des,des,des,des,des)
dati9(des,des,des,des,des,des)
dati10(des,des,des,des,des,des)

clauses
dati1("o","as","at","amus","atis","ant").
dati2("abam","abas","abat","abamus","abatis","abant").
dati3("abo","abis","abit","abimus","abitis","abunt").
dati4("avi","avisti","avit","avimus","avistis","averunt").
dati5("averam","averas","averat","averamus","averatis","averant").
dati6("avero","averis","averit","averimus","averitis","averint").
dati7("em","es","et","emus","etis","ent").
dati8("arem","ares","aret","aremus","aretis","arent").
dati9("averim","averis","averit","averimus","averitis","averint").
dati10("avissem","avisses","avisset","avissemus","avissetis","avissent").