verbola
verbolatino

 

/* latino1.pro */
/* analisi verbo latino e ricava radice */
domains
Lunga = integer
Radix,Des,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),
   /* desinenze presente indicativo */
   D1="o",D2="as",D3="at",
   D4="amus",D5="atis",D6="ant",
   /* forme verbali presente indicativo */
   concat(Radix,D1,R1),
   concat(Radix,D2,R2),
   concat(Radix,D3,R3),
   concat(Radix,D4,R4),
   concat(Radix,D5,R5),
   concat(Radix,D6,R6),
   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,
   sound(100,500).