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

 


/* ellisse1.pro */
/* Questo programma richiede una scheda EGA o CGA */
/* Non Š supportata la scheda Hercules! */
/* disegna ellisse verticale 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\tEllisse verticale\n\n"),
assi,
disegna(16000,1000,360),
fine.
Clauses
assi:-
RH1=16000,CH1=1000,RH2=16000,CH2=32000,
RV1=1000,CV1=16000,RV2=30000,CV2=16000,
line(RH1,CH1,RH2,CH2,7),
line(RV1,CV1,RV2,CV2,7).

disegna(Riga1,Colonna1,N):-
N>0,!,
Colore1=2,
R=16000,
C=16000,
Scalax=9000,Scalay=5000,
Seno=R+round(Scalax*sin(N*3.14/180)),
Coseno=R+round(Scalay*cos(N*3.14/180)),
line(R,C,Seno,Coseno,Colore1),
N2=N-1,
disegna(Riga1,Colonna1,N2).
disegna(_,_,_).
fine:- sound(100,500),
cursor(19,2).