latino3
coniugazione verbi latini
/* latino3.pro */ /* analisi verbo latino e ricava radice */ /* desinenze richiamate da disco */
nowarnings include "a:/latino/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 */
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").