DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦f627810ac⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »plotxyt«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »plotxyt« 

TextFile

;inputfil til plotxy system
;rene moss 10-4-80/17-11-80
r=set 150
if 2.no
(s=set 11
c=message type expression xt
s=copy message.no c
t=set 11
c=message type expression yt
t=copy message.no c
u=set 11
if 1.yes
(c=copy message.no nlem
c=message type param declar and assignments and statements
u=copy message.no c
)
if 1.no
(u=copy message.no nlem)
)
r=algol plotxytb s plotxytc t endsemikol u plotxyte message.no
if ok.no
(c=message syntax error in
c=copy message.no s nlem t nlem u
end)
if warning.yes
(c=message syntax error in
c=copy message.no s nlem t nlem u
end)
s=copy message.no s nlem t
t=set 30
t=r s
lookup execplot
if ok.no
i execplotxt
execplot t
if ok.no
(c=message plotting not ok
end)
c=message plotting finished
program for interactive plotting of x(t),y(t)
;rene moss 31-3-80/20-11-80
begin
  integer i,asize,lin,char,xsize,ysize,formmode,N,segm,val,valg;
  real xmin,xmax,ymin,ymax,x,y,stop,t,tmax,dt;
  integer field fi;
  real field fx,fy;
  long array field fla;
  integer array ZD(1:20);
  array tname(1:2);
  zone z(128,1,stderror);
  boolean first;
  xmin:= xmax:= ymin:= ymax:= 0.0;
  fi:=2; fx:=6; fy:=10;
  fla:=lin:=xsize:= ysize:= 0;
  asize:= 5; formmode:= 2; first:=true;
  xmin:=ymin:='600; xmax:=ymax:=-'600;
  initfp;
  write(out,<:output stored on :>);
  readlsfp(tname);
  if tname(1) extract 40 = 0 then
  begin
    i:=tname(1) shift (-40) extract 8;
    if 114<=i and i<=117 then
    begin
      write(out,false add i,1,<: = :>);
      redefarray(tname,firstnote+(i-113)*22+4,2);
      if lookupentry(tname)<>0 then
      begin
      end
    end
  end;
  open(z,4,tname.fla,0);
  write(out,tname.fla);
  for i:=0,i+1 while val<>25 do
  begin
    readchar(in,val);
    if (val<>10 or valg<>10) and val<>0 then
    begin
      if val=10 then lin:=lin+1;
      valg:=val;
      outchar(z,val)
    end
  end;
  connectcuri(<:v:>);
  write(z,false,6);
  setposition(z,0,1);
  outrec6(z,10);
  begin
    real procedure X(t);
    real t;
    begin
      X:=
end;

real procedure Y(t);
real t;
begin
Y:= 
    if first then
    begin
      if formmode=2 then xsize:=5
      else
      begin
        if xsize<=0 then xsize:=readr(<:xsize:>);
        if ysize<=0 then ysize:=readr(<:ysize:>)
      end;
      first:=false
    end;
    N:=2**9-1;
    t:=readr(<:tmin:>);
    tmax:=readr(<:tmax:>);
    dt:=(tmax-t)/N;
    z.fi:=-1; z.fx:=x:=X(t); z.fy:=y:=Y(t);
    if y<ymin then ymin:=y else if y>ymax then ymax:=y;
    if x<xmin then xmin:=x else if x>xmax then xmax:=x;
    outrec6(z,10);
    z.fi:=-2; z.fx:=x; z.fy:=y;
    for t:=t+dt while t<=tmax do
    begin
      outrec6(z,10);
      z.fi:=0; z.fx:=x:=X(t); z.fy:=y:=Y(t);
      if y<ymin then ymin:=y else if y>ymax then ymax:=y;
      if x<xmin then xmin:=x else if x>xmax then xmax:=x
    end;
    outrec6(z,10);
    z.fi:=maxinteger;
    getposition(z,0,segm); getzone6(z,ZD);
    setposition(z,0,0); swoprec(z,128);
    z(117):=formmode; z(118):=xsize; z(119):=ysize; 
    z(120):=(lin+2)*.7;
    z(125):=xmin; z(126):=xmax;
    z(127):=ymin; z(128):=ymax;
    setposition(z,0,segm); setzone6(z,ZD);
  end
end
▶EOF◀