listati da Turbo Prolog
listati da copiare e incollare su notes e salvare con "tutti i file",come file.PRO
richiamabili in ambiente Prolog

esci listaprolog.htm

 


/* trigono2.pro */
/* Questo programma richiede una scheda EGA o CGA */
/* Non Š supportata la scheda Hercules! */
/* disegna due sinusoidi con Line */

domains
intero= integer

Predicates
disegna(Intero,Intero,Intero)
assi
fine
Goal
graphics(1,7,1),attribute(2),
/* prova 1,2,3,4,5 per primo parametro */

write("\t\tOpposizione\n\n"),
assi,
disegna(16000,1000,1440),
fine.
Clauses
assi:-
RH1=16000,CH1=1000,RH2=16000,CH2=32000,
RV1=1000,CV1=1000,RV2=30000,CV2=1000,
line(RH1,CH1,RH2,CH2,7),
line(RV1,CV1,RV2,CV2,7).

disegna(Riga1,Colonna1,N):-
N>0,!,
Colore1=2,Colore2=5,
R=16000,
Scalax=6000,Scalay=6000,
Seno1=R+round(Scalax*sin(N*3.14/180)),
Seno2=R-round(Scalay*sin(N*3.14/180)),
line(R,Colonna1,Seno1,Colonna1,Colore1),
line(R,Colonna1,Seno2,Colonna1,Colore2),
N2=N-1,
Colonna2=Colonna1+20,
disegna(Riga1,Colonna2,N2).
disegna(_,_,_).
fine:- sound(100,500),
cursor(19,2).