funzioni trigonometriche

 

/* coseno1.pro  */
/* Questo programma richiede una scheda EGA o CGA */
/* Non è supportata la scheda Hercules!  */
/* disegna COSINUSOIDE con LINE e DOT */

domains
  intero= integer
Predicates
  disegna(Intero,Intero,Intero)
Goal 
  graphics(1,7,1),attribute(1),
  line(16000,1000,16000,32000,7),
  disegna(16000,1000,1440).
Clauses
  disegna(Riga1,Colonna1,N):-
  N>0,!,
  Colore=2,
  dot(Riga1,Colonna1,Colore),
  Riga2=Riga1+100*cos(N*3.14/180),
  Colonna2=Colonna1+20,
  N2=N-1,
  disegna(Riga2,Colonna2,N2).

/* sencos2.pro  */
/* Questo programma richiede una scheda EGA o CGA */
/* Non è supportata la scheda Hercules!  */
/* disegna COSINUSOIDE e sinusoide piena con Line  */

domains
  intero= integer
Predicates
  disegna(Intero,Intero,Intero)
Goal 
  graphics(1,7,1),attribute(1),
  write("\tCosinusoide-Sinusoide\n\n"),
  line(16000,1000,16000,32000,7),
  line(1000,1000,30000,1000,7),
  disegna(16000,1000,1440).
Clauses
  disegna(Riga1,Colonna1,N):-
  N>0,!,
  Colore=2,
  Riga2=16000+round(5000*sin(N*3.14/180)),
  Riga3=16000+round(5000*cos(N*3.14/180)),
  line(16000,Colonna1,Riga3,Colonna1,7),
  line(16000,Colonna1,Riga2,Colonna1,Colore),
  Colonna2=Colonna1+20,
  N2=N-1,
  disegna(Riga1,Colonna2,N2).
  disegna(_,_,_).

 

ritorna