|
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: 3072 (0xc00) Types: TextFile Names: »øv2«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »øv2«
Ostwalds fortyndingslov (KAJ p.435) Begin real alfa,c,KA,pKA; c:=readr(<:concentration:>); alfa:=readr(<:ionisationsgrad:>); KA:=c*alfa**2/(1-alfa); pKA:=-ln(KA)/ln10; write(out,pKA); end opl selighed (KAJ p.413) begin real L,s; integer in,,ip; L=readr(<:opl. produkt:>); ip:=readi(<:antal positive ioner pr. molekyle:>); in:=readi(<:antal negative ioner pr. molekyle:>); s:=(L/ip*ip/in**in)**(1/(pi+in); write(out,S); end program for fitting of solubility against ionic strength including a run test of the residuals. begin integer n,i,ip,ia,cp,cn,np,nn,nr,br,d0,d1,d2; real q,r,sr,fa,fb; READC: cp:=readi(<:charge of cation:>); cn:=readi(<:charge of anion:>); if cn<0 then cn:=-cn; if cp<=0 or cn=0 then begin write(out,<:illegal charge:>); goto READC end; d1:=cp; d2:=cn; for d0:=d1 mod d2 while d0>0 do begin d1:=d2; d2:=d0 end; d0:=cn*cp//d2; ip:=d0//cp; ia:=d0//cn; n:=readi(<:number of datapoints:>); begin integer r; real array X,Y(1:n),C,S(0:r); r:=readi(<:degree of approx. pol.:>); write(out,<:<10>added ionic strength, concentration of cation:>); outend(10); for i:= 1 step 1 until n do read(in,X(i),Y(i)); for i:=1 step 1 until n do begin X(i):=sqrt(X(i)+.5*(cp*cp*ip+cn*cn*ia)*Y(i)/ip); Y(i):=ln(Y(i)/ip) end; q:=polfitw(X,Y,n,C,S,r); if q>0 then q:=sqrt(q); np:= nn:= br:= 0; nr:= 1; for i:= 1 step 1 until n do begin if Y(i))>0 then begin np:= np+1; if br=-1 then nr:= nr+1; br:= 1; end else begin nn:= nn+1; if br=1 then nr:= nr+1; br:= -1 end end; r:= 2*np*nn/n+1; sr:= sqrt(2*np*nn*(2*np*nn-n)/n/n/(n-1)); fb:=(ip+ia)/ln10; fa:=fb(ip*cp*cp+ia*cn*cn); write(out,<:<10> log L = :>, <<-ddd.dd>,C(0*fb+ln(ip**ip+ia**ia)/ln10, <: +-:>,<<ddd.dd>,S(0)*fb)); for i:=1 step1 until m do write(out, <:<10> c(:>,<<d>,i,<:) = :>,<<-dd.ddd>,C(i)*fa, <: +-:>,<<dd.ddd>,S(i)*fa); write(out,<:<10> s.t.d on log s :>.<<dd.ddd>,q/ln10); if q>0 then write(out,<:<10><10> r = :>,<<dd.d>,r, <: +- :>,<<dd.d>,sr, <:<10>nr = :>,<<dd>,nr); end end 1 1 5 2 .00490, .001930 .01257, .002025 .02565, .002158 .04081, .002266 .05422, .002359 ▶EOF◀