DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC759 "Piccoline"

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC759 "Piccoline"

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦b3cf2cf1f⟧ TextFile

    Length: 3698 (0xe72)
    Types: TextFile
    Names: »LISSA.PAS«

Derivation

└─⟦d4ddf50a0⟧ Bits:30004478 CPI-graf 2.5 til Piccoline/Partner
    └─⟦this⟧ »LISSA.PAS« 

TextFile

PROGRAM lissa;
uses cpigraf, cpimenu;
CONST
  mainmenu : ARRAY(.1..6.) OF MenuType =
    ((c:'I';S:'Information  '),
     (c:'A';S:'skAlering  '),
     (c:'K';S:'Konstanter  '),
     (c:'L';S:'tegn Lissajous  '),
     (c:'S';S:'Slet  '),
     (c:'X';S:'eXit  '));
  submenu1 : ARRAY(.1..7.) OF MenuType =
    ((c:'K';S:'Koordinatsystem'),
     (c:'1';S:'<1> max p▶86◀ X-akse'),
     (c:'2';S:'<2> min p▶86◀ X-akse'),
     (c:'3';S:'<3> max p▶86◀ Y-akse'),
     (c:'4';S:'<4> min p▶86◀ Y-akse'),
     (c:'O';S:'Overskr p▶86◀ diagram'),
     (c:'T';s:'Tegn nyt diagram'));
  submenu2 : ARRAY(.1..3.) OF MenuType =
    ((c:'G';S:'Gitter til/fra'),
     (c:'X';s:'interval p▶86◀ X-akse'),
     (c:'Y';s:'interval p▶86◀ Y-akse'));
  submenu3 : ARRAY(.1..5.) OF MenuType =
    ((c:'F';S:'angiv Faseforskel'),
     (c:'1';s:'<1> omegax'),
     (c:'2';s:'<2> omegay'),
     (c:'3';s:'<3> ax'),
     (c:'4';s:'<4> ay'));
  lines=10; width=34;
  helpstr: ARRAY(.1..lines.) OF STRING(.width.) =
     ('   Demonstration af CPI-menu',
      '  Tegning af Lissajour-figurer',
      '',
      '       Peter Ferdinand',
      'Funktionen er defineret s▶86◀ledes:',
      ' f(x):=ax*cos(omegax*x)',
      ' f(y):=ay*sin(omegay*y+faseforskel)',
      '',
      'Center for P▶91◀dagogik og Informatik',
      '             1986');

VAR 
   ch: CHAR;
   xinterv, yinterv: real;
   r,xmax,xmin,ymax,ymin: REAL;
   st: str80;
   gitter: boolean;
   ax, ay, omegax, omegay, faseforskel: REAL;
   tmin, tmax: REAL;
   win1, win2: wnd_id;
   res: resourcetype;

FUNCTION fx(t: REAL):REAL;
BEGIN
  fx:=ax*cos(omegax*t);
END;

FUNCTION fy(t: REAL):REAL;
BEGIN
  fy:=ay*sin(omegay*t+faseforskel);
END;

BEGIN
   graphicscreen(pic_high);

(* definitionss▶91◀tninger til CPI-menu*)
   NewResource(res,0,0,'MainMenu');
   addmenu(6,mainmenu,'',horizontal);
   addmenu(7,submenu1,'A',vertical);
   addmenu(3,submenu2,'AK',vertical);
   addmenu(5,submenu3,'K',vertical);
   addreal(15,xmax,'A1');
   addreal(15,xmin,'A2');
   addreal(15,ymax,'A3');
   addreal(15,ymin,'A4');
   addreal(15,ay,'K4');
   addreal(15,ax,'K3');
   addreal(15,omegax,'K1');
   addreal(15,omegay,'K2');
   addreal(15,faseforskel,'KF');
   addboolean(gitter,'AKG');
   addreal(5,xinterv,'AKX');
   addreal(5,yinterv,'AKY');
   addstr(78,st,'AO');
   addhelp(width,lines,helpstr,'I');

   st:='Demonstration af CPI-menu og  - graf tegning af Lissajourfigurer';
   xmin:=-10; xmax:=abs(xmin);ymin:=-10; ymax:=abs(ymin);
   xinterv:=1.0; yinterv:=2.0;
   gitter:=false;
   ax:=8; ay:=8;
   omegax:=3; omegay:=2; faseforskel:=pi/4;
   tmin:=0.0; tmax:=10.0;

(* definitionss▶91◀tninger til CPI-graf*)

   graphmode;
   newviewport(win1,0,scr_maxx,0,scr_maxy-24);
   setviewportheader(win1,st);
   setwindow(win1,xmin,xmax,ymin,ymax);
   selectviewport(win1);
   newviewport(win2,wnd_x1,wnd_maxx,wnd_y1,wnd_maxy);
   drawaxis(xinterv,yinterv,gitter);
   saveviewport(win2);
   REPEAT
     ResourceDisplay;
     IF (men_selec='S') THEN begin
       loadviewport(win2)
     end
     ELSE
     IF men_selec='AT' THEN BEGIN 
       closeviewport(win1);
       newviewport(win1,0,scr_maxx,0,scr_maxy-24);
       setwindow(win1,xmin,xmax,ymin,ymax);
       setviewportheader(win1,st);
       setviewportcolor(win1,white,black);
       selectviewport(win1);
       drawaxis(xinterv,yinterv,gitter); 
       saveviewport(win2);
     END
     ELSE
     IF Men_selec='L' THEN BEGIN
       wnd_pencolor:=white;
       r:=tmin;
       moveto(fx(r),fy(r));
       WHILE r<tmax DO BEGIN r:=r+0.1; drawto(fx(r),fy(r)); END;
     END;
   UNTIL men_selec='X';
   textmode;
END.

«eof»