|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1536 (0x600)
Types: TextFile
Names: »pkurs4f«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »pkurs4f«
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
REP:
j:=read(in,l(i),ci);
repeatchar(in); readchar(in,k);
if k<>'nl' then
repeat readchar(in,j) until j='nl';
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(i):=j//cf; IN(2,i):=j///ci;
end for i;
sa:=0; sb:=maxreal;
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) wile (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◀