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

⟦248c18618⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »pgsw«, »pkurs1«, »pkurs4«

Derivation

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

TextFile

opløselighed af salte med fællesion
begin
integer i,j,k,n,cf,ci,in1,in2;
real s,sa,sb,s1;
cf:=readi(<:num.værdi af ladningstal for fælles ion:>);
n:=readi(<:antal salte:>);
begin
integer array IN(1:2,1:n);
real array l(1:n);
write(out,<:opl. produkt, num.værdi af ladningstal for modion<nl>:>);
outendcur('nl');
for i:=1 step 1 until n do begin
   REP:
   j:=read(in,l(i),ci);
   repeatchar(in); readchar(in,k);
   if k<>'nl' then begin
      repeat readchar(in,j) until j='nl' end;
   if k<>'nl' or j<2 then begin
      write(out,<:om igen, salt nr:>,i);
      outendcur('nl');
      goto REP end;
   j:=cf;
   while j mod ci <>0 do j:=j+cf;
   IN(1,i):=j//cf; IN(2,i):=j//ci;
   end for i;
sa:=0; sb:='100;
for i:=1 step 1 until n do begin
   in1:=IN(1,i); in2:=IN(2,i);
   s:=in1*(l(i)/in1**in1/in2**in2)**(1/(in1+in2));
   if s<sb then sb:=s;
   sa:=sa+s
   end;
for s:=sqrt(sa*sb) while (sa-sb)>'-4*sa do begin
   s1:=s;
   for i:=1 step 1 until n do begin
      in1:=IN(1,i); in2:=IN(2,i);
      s1:=s1-in1*(l(i)/s**in1)**(1/in2)/in2;
      end;
   if s1>0 then sa:=s else sb:=s
   end for s;
write(out,<:<'nl'>molalitet af fælles ion:>,<<  d.dd'+dd>,s,
   <:<'nl'>molaliteter af modioner<'nl'>:>);
for i:=1 step 1 until n  do begin
   write(out,<<dddd>,i,":",1,<<  -d.dd'+dd>,
      (l(i)/s**IN(1,i))**(1/IN(2,i)));
   if i mod 3 =0 then outchar(out,'nl')
   else write(out,<:,   :>);
   end
end
end
▶EOF◀