home *** CD-ROM | disk | FTP | other *** search
- program SINTEST;
-
- {$n-} {désactive le coprocesseur}
- Uses Crt, Tools;
-
- Var phi, {angle}
- x,y:Word; {coordonnées}
- Caractere:Byte; {caractère utilisé}
- Sinus:Array[1..360] of Word;{mémorise la table des sinus}
-
-
- Procedure Sinus_Real; {dessine 26 fois un cercle}
- Begin
- For Caractere:=Ord('A') to Ord('Z')do {26 itérations}
- For phi:=1 to 360 do Begin
- x:=Trunc(Round(Sin(phi/180*pi)*20+40)); {calcule l'abscisse x}
- y:=Trunc(Round(Cos(phi/180*pi)*10+12)); {calcule l'abscisse y}
- mem[$b800:y*160+x*2]:=Caractere; {affiche le caractère }
- End;
- End;
- Procedure Sinus_nouvo; {dessine 26 fois un cercle }
- Begin
- For Caractere:=Ord('A') to Ord('Z')do {26 itérations}
- For phi:=1 to 360 do Begin
- x:=Sinus[phi]+40; {calcule l'abscisse x}
- If phi<=270 Then {calcule l'ordonnée y}
- y:=Sinus[phi+90] div 2 + 12 Else {cosinus = sinus déphasé }
- y:=Sinus[phi-270] div 2 + 12;
- mem[$b800:y*160+x*2]:=Caractere; {affiche le caractère }
- End;
- End;
-
- Begin
- Sin_Gen(Sinus,360,20,0); {prépare la table des sinus}
- ClrScr; {efface l'écran }
- Sinus_real; {dessine les cercles}
- Repeat until keypressed; {Attente de l'appui d'une touche avant}
- ClrScr; {d'exécuter la procédure suivante}
- Sinus_nouvo; {dessine les cercles}
- End.
-