|
|
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: 43776 (0xab00)
Types: TextFile
Names: »peter«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »peter«
$dansk
program ibnrb(skadetypefil,udfil,input,output);
type t_type = 0..19;
k_type = 0..3;
j_type = 0..19;
tau_type = 1..20;
param
sump = (var t : integer;n,ø :integer;function f : real);
sump1 = (var t : integer;n,ø,s :integer;function f:real;function g:real);
var n : array (t_type, k_type) of integer;
n1 : array(t_type) of integer;
f1,h1,vægt1,
vægt2,f2,h2 : array (t_type,j_type) of real;
z2,sigma2 : array (t_type, k_type, j_type) of real;
gamma,ny_gamma : array (t_type) of real;
pi,ny_pi : array (j_type) of real;
a, ny_a : array (j_type) of real;
b, ny_b : array (0..41 ) of real;
d, ny_d : array (t_type) of real;
t : t
procedure inddatafejl(a:halfa);
begin writeln('fejl ved indlæsning af ',a:6);
halt
end (* inddatafejl *);
function mindste (i, j : integer) : integer;
begin
if i < j then mindste := i
else mindste := j
end (* mindste *);
function største (i, j : integer) : integer;
begin
if i > j then største := i
else største := j
end (* største *);
function psi (t : t_type; j : jtype) : real;
begin
if reserveberegning and (f_tt < tt) then psi := 1.0
else if j <> tt - t then psi := 1.0
else psi := 0.5;
end (* psi *);
function sum(sump): real;
var res : real;
begin res := 0.0;
for t := n to ø do res := res + f;
sum := res
end (* sum *);
function sum1(sump1):real;
var res,tal:real;
begin t := n; res := 0.0;
while t <= ø do begin
tal := g;
if tal <> 0.0 then res := res + f/tal;
t := t + s
end (* while t <= ø *);
sum1 := res;
end (* function sum1 *);
PROCEDURE TIDSPUNKT;
VAR D : ALFA;
D1 : ARRAY(1..12) OF CHAR;
I : INTEGER;
BEGIN
DATE(D);
FOR I := 1 TO 12 DO D1(I) := D(I);
WRITELN(' '::40,D1(5),D1(6),'.',D1(3),D1(4),'.',D1(1),D1(2),
' KL. ',D1(7),D1(8),'.',D1(9),D1(10));
END (* PROCEDURE TIDSPUNKT *);
function pot(x,y:real):real;
begin pot := exp(y*ln(x)) end;
$page
procedure skriv_abd_og_gamma;
var i : integer;
begin
writeln (' j a(j) tau b(tau) ',
' t d(t)');
writeln;
for i := 0 to 3 do writeln (i : 2, ny_a(i) : 10 : 3,
i + 1 : 9, ny_b(i + 1) : 10 : 3,
i : 9, ny_d(i) : 10 : 3);
for i := 4 to f_tt do writeln (i : 2, ny_a(i) : 10 : 3,
i + 1 : 9, ny_b(i + 1) : 10 : 3,
i : 9, ny_d(i) : 10 : 3);
writeln; writeln; writeln; writeln; writeln; writeln;
writeln ( 'samme vektorer normeret');
writeln; writeln;
writeln (' j a(j) tau b(tau) ',
' t d(t)');
writeln;
for i := 0 to 3 do writeln (i : 2, ny_a(i)/ny_a(0) : 10 : 3,
i + 1 : 9, ny_b(i + 1)/ny_b(1) : 10 : 3,
i : 9, ny_d(i)/ny_d(0) : 10 : 3,
i : 9, ny_b(i+1)*ny_d(i)/ny_b(1)/ny_d(0) : 10 : 3);
for i := 4 to f_tt do writeln (i : 2, ny_a(i)/ny_a(0) : 10 : 3,
i + 1 : 9, ny_b(i + 1)/ny_b(1) : 10 : 3,
i : 9, ny_d(i)/ny_d(0) : 10 : 3,
i : 9, ny_b(i+1)*ny_d(i)/ny_b(1)/ny_d(0) : 10 : 3);
writeln; writeln; writeln;
if g_form = 2 then begin
writeln(' T Gamma(t)'); writeln;
for t := 0 to mindste(TT,3) do writeln(t:2,ny_gamma(t):10:3)
end (* if g_form = 2 *);
end (* skriv_abd_og_gamma *);
function slutkriterium : boolean;
var j : j_type;
tau : tau_type;
k : k_type;
t : t_type;
begin
slutkriterium := true;
for j := 0 to f_tt do
if abs (ny_a(j) - a(j)) >= epsilon then
slutkriterium := false;
for tau := 1 to f_tt + 1 do
if abs (ny_b(tau) - b(tau)) >= epsilon then
slutkriterium := false;
for t := 0 to f_tt do
if abs (ny_d(t) - d(t)) >= epsilon then
slutkriterium := false;
for t := 0 to tt do
if abs(ny_gamma(t)-gamma(T)) >= epsilon then slutkriterium := false;
for j := 0 to tt do
if abs(ny_pi(j)-pi(j)) >= epsilon then slutkriterium := false;
if iterationsnr >= maxnr then slutkriterium := true;
if q_kriterium then
if abs(ny_q1-q1) < delta then slutkriterium := true;
end (* slutkriterium *);
$page
procedure fejl1 (vektor : char; indeks : integer;
iterationsnr : integer);
begin
writeln;
writeln ('fejl : division med 0 ved beregning af ',
vektor, '(', indeks ,') i ', iterationsnr, '. iteration');
writeln;
halt
end (* fejl1 *);
procedure skriv_estim;
var dummy : real; tæller : integer;
begin
rewrite(udfil);
writeln(udfil,f_tt);
for j := 0 to f_tt do begin
write(udfil,ny_a(j):24,' ');
if (j=f_tt)or(j mod 3 = 2) then writeln(udfil)
end;
if not fast_b then for j := 0 to f_tt do begin
write(udfil,ny_b(j+1):24,' ');
if (j=f_tt)or(j mod 3 = 2) then writeln(udfil)
end;
for j := 0 to f_tt do begin
write(udfil,ny_d(j):24,' ');
if (j=f_tt)or(j mod 3 = 2) then writeln(udfil)
end;
if g_form = 2 then begin
for t := 0 to mindste(3,f_tt) do write(udfil,gamma(t):24,' ');
writeln(udfil);
end (* if g_form = 2 *);
tæller := 0;
for j := 0 to tt do begin
write(udfil,pi(j):24,' ');
tæller := tæller + 1;
if tæller mod 3 = 0 then writeln(udfil);
end;
close(udfil)
end (* procedure skriv_estim *);
$page
begin (* hovedprogram *)
TIDSPUNKT;
read(input,f_tt,epsilon,delta,maxnr);
reset(skadetypefil);
read(skadetypefil,tt);
for t := 0 to tt do begin
for j := 0 to tt do begin
f1(t,j) := 0.0; f2(t,j) := 0.0;
h1(t,j) := 0.0; h2(t,j) := 0.0;
vægt1(t,j) := 0.0 ; vægt2(t,j) := 0.0
end (* for j *);
end (* for t *);
fast_b := false; estimat_udskrivning := false;
d_form := 1; kvartals_inflation := 1.0; rente := 0.0; v := 1.0;
parametre_indlæst := false; q_kriterium := false;
vægttype1 := 0; vægttype2 := 0;
j_faktor := 0;
q_faktor := 0;
skip_faktor := 0;
if f_tt > tt then
writeln('nb!!!:tt på indatafilen er mindre end tt i inddata');
for t := 0 to tt do begin
read(skadetypefil,t1,maxinterval,n1(t1));
for j := 0 to maxinterval - 1 do
read(skadetypefil,f1(t,j),f2(t,j),h1(t,j),h2(t,j));
for k := 0 to mindste(3,tt-t) do begin
read(skadetypefil,t1,k1,maxinterval,n(t1,k1));
for j := k to maxinterval + k - 1 do
read(skadetypefil,z2(t,k,j),sigma2(t,k,j))
end (* for k *)
end (* for t *);
$PAGE
(* indlæsning af ordrer *)
while not eof(input) do begin
while ( input^ = ' ' ) do get(input);
read(ordre);
writeln;
case ordre of
'b' : begin fast_b := true;
writeln('der opereres med indlæst b-vektor');
for tau := 1 to f_tt + 1 do read(b(tau))
end (* ordre = 'b' *);
'd' : read(d_form);
'e' : estimat_udskrivning := true ;
'g' : begin read(g_form) ;
if g_form = 2 then begin
writeln('PÅ antalssiden regnes med gamma(t)');
end (* if g_form = 2 *)
end (* ordre = 'g' *);
'j' : read(j_faktor);
'k' : begin read(kvartals_inflation);
writeln('inflationsfaktor = ',kvartalsinflation : 5:3,
' i kvartalet');
end (* ordre = 'i' *);
'm' : begin read(mindste_varians); writeln;
for t := 0 to f_tt do
for j := 0 to f_tt - t do
if ( h1(t,j) < mindste_varians ) and
( h1(t,j) > 0.0 ) then begin
h1(t,j) := 0.0;
writeln('0.0 < h1(',t,',',
j,') < ',mindste_varians:5:1)
end
end(* ordre = 'm' *);
'n' : for t := 0 to f_tt do
for j := 0 to f_tt - t do
if h1(t,j) < 0.0 then begin
h1(t,j) := 0.0;
writeln('h1(',t,',',j,') < 0.0',
', antal udbetalinger = ',round(f2(t,j)*n1(t)))
end (* ordre = 'n' *);
'p' : begin parametre_indlæst := true;
for j := 0 to f_tt do read(a(j));
if not fast_b then
for tau := 1 to f_tt + 1 do read(b(tau));
for t := 0 to f_tt do read(d(t));
if g_form = 2 then
for t := 0 to mindste(3,tt) do read(gamma(t));
for j := 0 to tt do read(pi(j));
end (* ordre = 'p' *);
'q' : begin read(q_faktor);
if q_faktor > 0 then begin
q_kriterium := true;
writeln('iterationen stoppes hvis ',
'ny_q1 - q1 < ',delta)
end else q_faktor := 0-q_faktor;
writeln('q1 udskrives hver ',q_faktor,'. gang');
end (* ordre = 'q' *);
'r' : begin read(rente);
v := 1/(1+rente);
writeln('der regnes med rente r = ',rente:5:3,
', hvilket giver v = ',v:5:3)
end (* ordre = 'r' *);
's' : begin read(skip_faktor);
writeln('i estimationen af pi skippes de ',
skipfaktor,' sidste kvartaler');
end (* ordre = 's' *);
'u' : estimat_udskrivning := true ;
'v' : begin read(vægttype1);
write('i estimationen af abd ');
case vægttype1 of
1 :
writeln('vægtes der med h1/n(t,*)');
2 :
writeln('vægtes der med 1/n(t,*,j)');
3 :
writeln('vægtes der med h1/n(t,*)/n(t,*,j)');
4 :
writeln('vægtes der med 1/n(t,*)/n(t,*,j)');
end (* vægttypetabel *);
for j := 0 to f_tt do
for t := 0 to f_tt do
case vægttype1 of
1 : if n1(t) > 0 then
vægt1(t,j) := h1(t,j)/n1(t);
2 : if f2(t,j) <> 0.0 then
vægt1(t,j) := 1/f2(t,j)/n1(t);
3 : if f2(t,j) <> 0.0 then
vægt1(t,j) := h1(t,j)/f2(t,j)/sqr(n1(t));
4 : if f2(t,j) <> 0.0 then
vægt1(t,j) := 1/f2(t,j)/sqr(n1(t));
end (* vægttype1tabel *)
end (* ordre = 'v' *);
'w' : begin read(vægttype2);
write('i estimationen af (gamma),pi ');
case vægttype2 of
1 :
writeln('vægtes der med h2/n(t,*)');
2 :
writeln('vægtes der med 1/n(t,*,j)');
3 :
writeln('vægtes der med h2/n(t,*)/n(t,*,j)');
4 :
writeln('vægtes der med 1/n(t,*)/n(t,*,j)');
5 :
writeln('vægtes der med 1');
end (* vægttypetabel *);
for j := 0 to f_tt do
for t := 0 to f_tt do
case vægttype2 of
1 : if n1(t) > 0 then
vægt2(t,j) := h2(t,j)/n1(t);
2 : if f2(t,j) <> 0.0 then
vægt2(t,j) := 1/f2(t,j)/n1(t);
3 : if f2(t,j) <> 0.0 then
vægt2(t,j) := h2(t,j)/f2(t,j)/sqr(n1(t));
4 : if f2(t,j) <> 0.0 then
vægt2(t,j) := 1/f2(t,j)/sqr(n1(t));
5 : vægt2(t,j) := 1.0 ;
end (* vægttype2tabel *)
end (* ordre = 'v' *)
otherwise
writeln;
writeln('ordren "',ordre,'" kendes ikke');
writeln;
end (* case ordre of *);
readln;
writeln;
end (* while not eof *);
(* hvis forskellige ordrer ikke har været i inddata: *)
if vægttype1 = 0 then begin writeln;
writeln('der er ikke angivet nogen vægt til abd iterationen');
writeln
end (* if *);
if vægttype2 = 0 then begin writeln;
writeln('der er ikke angivet nogen vægt til gamma,pi-iterationen');
writeln
end (* if *);
page;
write('alle skadetyper');
writeln(', tt = ',tt,', f_tt = ',f_tt);
writeln;
writeln('epsilon = ',epsilon,', maxnr = ',maxnr);
writeln; writeln; writeln;
(* initialisering af parametre *)
if not parametre_indlæst then begin
for j := 0 to f_tt do a(j) := 1.0;
if not fast_b then for tau := 1 to f_tt + 1 do b(tau) := 1.0;
for t := 0 to f_tt do begin d(t) := 1.0; ny_d(t) := 1.0 end;
for j := 0 to tt do pi(j) := 1.0;
for t := 0 to tt do begin gamma(t) := 1.0;
ny_gamma(t) := 1.0 end;
end (* if not parametre_indlæst *)
else begin
for t := 0 to tt do begin
gamma(t) := 1.0; ny_gamma(t) := 1.0
end(* for *)
end (* if parametre indlæst *);
iterationsnr := 1;
reserveberegning := false;
if fast_b then for tau := 1 to f_tt + 1 do ny_b(tau) := b(tau);
en := 1.0;
$page
loop
for j := 0 to f_tt do begin
tællersum := sum1(t1,0,f_tt-j,1,
f1(t1,j)*b(t1+j+1)*d(t1),vægt1(t1,j) );
nævnersum := sum1(t1,0,f_tt-j,1,
sqr(b(t1+j+1)*d(t1)),vægt1(t1,j) );
if nævnersum = 0.0 then fejl1 ('a', j, iterationsnr);
ny_a(j) := tællersum / nævnersum
end (* for *);
if not fast_b then
for tau := 1 to f_tt + 1 do begin
tællersum := sum1(t1,0,tau-1,1,
f1(t1,tau-1-t1)*ny_(tau-1-t1)*d(t1), vægt1(t1,tau-1-t1) );
nævnersum := sum1(t1,0,tau-1,1,
sqr (ny_(tau-1-t1) * d(t1)) , vægt1(t1,tau-1-t1) );
if nævnersum = 0.0 then fejl1 ('b', tau, iterationsnr);
ny_b(tau) := tællersum / nævnersum
end (* for *);
if d_form = 1 then
for t := 0 to f_tt do begin
tællersum := sum1(j1,0,f_tt-t,1,
f1(t,j1)*ny_a(j1)*ny_b(t+j1+1),vægt1(t,j1) );
nævnersum := sum1(j1,0,f_tt-t,1,
sqr(ny_a(j1)*ny_b(t+j1+1)) ,vægt1(t,j1) );
if nævnersum = 0.0 then fejl1 ('d', t, iterationsnr);
ny_d(t) := tællersum / nÆvnersum
end (* for *);
if d_form = 2 then
for i := 0 to 3 do begin
tællersum := sum1(t1,i,f_tt,4,
sum1(j1,0,f_tt-t1,1,
f1(t1,j1)*ny_a(j1)*ny_b(t1+j1+1),vægt1(t1,j1) ),en );
nævnersum := sum1(t1,i,f_tt,4,
sum1(j1,0,f_tt-t1,1,
sqr(ny_a(j1)*ny_b(t1+j1+1)) ,vægt1(t1,j1) ),en );
if nævnersum = 0.0 then fejl1 ('e', i, iterationsnr);
for t_faktor := 1 to (f_tt-i)//4 + 1 do
ny_d(i+(t_faktor-1)*4) := tællersum/nævnersum
end (* for *);
$page
for j := 0 to tt do begin
tællersum := sum1(t1,0,mindste(tt-j,tt-skip_faktor),1,
f2(t1,j)*psi(t1,j)*gamma(t1) , vægt2(t1,j) );
nævnersum := sum1(t1,0,mindste(tt-j,tt-skip_faktor),1,
sqr( psi(t1,j)*gamma(t1) ) , vægt2(t1,j) );
if nÆvnersum <> 0.0 then ny_pi(j) := tÆllersum/nÆvnersum
else ny_pi(j) := 0.0
end (* for k,j *);
if g_form = 2 then
for i := 0 to 3 do begin
tællersum := sum1(t1,i,tt-skip_faktor,4,sum1(j1,0,tt-t1,1,
f2(t1,j1)*psi(t1,j1)*ny_pi(j1),vægt2(t1,j1) ), en );
nævnersum := sum1(t1,i,tt-skip_faktor,4,sum1(j1,0,tt-t1,1,
sqr(psi(t1,j1)*ny_pi(j1)) ,vægt2(t1,j1) ), en );
for t_faktor := 1 to tt//4 + 1 do
if nÆvnersum <> 0.0 then
ny_gamma(i+(t_faktor-1)*4) := tÆllersum/nÆvnersum
else ny_gamma(i+(t_faktor-1)*4) := 0.0
end (* if,for *);
ny_q1 := sum1(t1,0,f_tt,1,
sum1(j1,0,f_tt-t1,1,
sqr(f1(t1,j1)-ny_a(j1)*ny_b(t1+j1+1)*ny_d(t1)),vægt1(t1,j1)),en);
exit if slutkriterium;
$page
for j := 0 to tt do pi(j) := ny_pi(j);
for t := 0 to tt do gamma(t) := ny_gamma(t);
for j := 0 to f_tt do a(j) := ny_a(j);
for tau := 1 to f_tt + 1 do b(tau) := ny_b(tau);
for t := 0 to f_tt do d(t) := ny_d(t);
iterationsnr := iterationsnr + 1;
q1 := ny_q1;
if j_faktor > 0 then
if (iterationsnr mod j_faktor = 1)and(iterationsnr <> maxnr)then begin
writeln('iterationsnr. = ',iterationsnr-1);
skriv_abd_og_gamma;
end (* if *);
if q_faktor > 0 then
if (iterationsnr mod q_faktor = 1)and(iterationsnr <> maxnr)then begin
writeln('iterationsnr. = ',iterationsnr-1);
writeln('q1 = ',q1:18:3);
end (* if *)
end (* loop *);
for j := 0 to tt do pi(j) := ny_pi(j);
for t := 0 to tt do gamma(t) := ny_gamma(t);
for j := 0 to f_tt do a(j) := ny_a(j);
for tau := 1 to f_tt + 1 do b(tau) := ny_b(tau);
for t := 0 to f_tt do d(t) := ny_d(t);
for i := f_tt + 2 to 2*f_tt + 1 do
b(i) := b(i-1)*kvartals_inflation;
reserveberegning := true;
page;
$page
writeln ('resultat efter ', iterationsnr, ' iterationer :');
if abs(ny_q1-q1) < delta then writeln('slutbetingelse: q1');
writeln; writeln; writeln;
for t := 0 to f_tt do begin
if t > 0 then page;
writeln ('t = ', t);
if t < 10 then writeln ('=' :: 5)
else writeln ('=' :: 6);
writeln;
writeln(' '::6,'!',' z1 dif abd !',
' (1) ! (2) ! (1)/(2) !',
' (3) ! (4) ! (3)/(4) !');
writeln('j,n(t)!',n1(t):16,' ':14,'!',
'n(t)*f1(t,j)!n(t)*abdpgpi! !',
'n(t)*f2(t,j)! n(t)*pgpi ! !');
write('------+','-'::30,'+');
for i := 1 to 2 do write('------------+------------+---------+');
writeln;
for j := 0 to f_tt-t do begin
tal := a(j)*b(t+j+1)*d(t);
write(j:3,' !',f1(t,j):10:2,f1(t,j)-tal:9:2,tal:10:2,' !');
tal1 := tal*gamma(t)*psi(t,j)*pi(j);
write(n1(t)*f1(t,j)*f2(t,j):11:2,' !',n1(t)*tal1:11:2,' !',
f1(t,j)*f2(t,j)/tal1:8:4,' !');
tal1 := tal1/tal;
writeln(n1(t)*f2(t,j):11:2,' !',n1(t)*tal1:11:2,' !',
f2(t,j)/tal1:8:4,' !');
end (* for j *) ;
for j := f_tt-t+1 to f_tt do begin
tal := n1(t)*psi(t,j)*gamma(t)*pi(j);
write(j:3,' !',a(j)*b(t+j+1)*d(t):29:2,' !');
write(' '::11,' !',tal*a(j)*b(t+j+1)*d(t):11:2,' !',' '::8,' !');
writeln(' '::11,' !',tal:11:2,' !',' '::8,' !');
end (* for j *) ;
write('------+','-'::30,'+');
for i := 1 to 2 do write('------------+------------+---------+');
writeln;
write('summa !');
write(sum(j1,0,f_tt-t,f1(t,j1)*f2(t,j1)*n1(t)):10:0,
sum(j1,0,f_tt-t, ( f1(t,j1)*f2(t,j1) -
a(j1)*b(t+j1+1)*d(t)*gamma(t)*psi(t,j1)*pi(j1) )
* n1(t) ):9:0,
sum(j1,0,f_tt-t,
a(j1)*b(t+j1+1)*d(t)*gamma(t)*psi(t,j1)*pi(j1)
* n1(t) ):10:0,' !');
tal := n1(t)*sum(j1,0,f_tt-t,f1(t,j1)*f2(t,j1));
tal1 := n1(t)*sum(j1,0,f_tt-t,a(j1)*b(t+j1+1)*
d(t)*gamma(t)*psi(t,j1)*pi(j1) );
write(tal:11:2,' !',tal1:11:2,' !',tal/tal1:8:4,' !');
tal := n1(t)*sum(j1,0,f_tt-t,f2(t,j1));
tal1 := n1(t)*gamma(T)*sum(j1,0,f_tt-t,psi(t,j1)*pi(j1));
writeln(tal:11:2,' !',tal1:11:2,' !',tal/tal1:8:4,' !');
write('------+','-'::30,'+');
for i := 1 to 2 do write('------------+------------+---------+');
writeln;
write('sumsum!');
write(sum(j1,f_tt-t+1,f_tt,
a(j1)*b(f_tt+1)*d(t)*
psi(t,j1)*gamma(t)*pi(j1)*n1(t) ):29:2,' !');
tal := n1(t)*sum(j1,f_tt-t+1,f_tt,
a(j1)*b(t+j1+1)*d(t)*psi(t,j1)*gamma(t)*pi(j1));
tal1 := n1(t)*sum(j1,f_tt-t+1,f_tt,
psi(t,j1)*gamma(t)*pi(j1) );
writeln(' '::11,' !',tal:11:2,' !',' '::8,' !',' '::11,' !',
tal1:11:2,' !',' '::8,' !');
write('------+','-'::30,'+');
for i := 1 to 2 do write('------------+------------+---------+');
writeln;
write('samlede reserve ');
if kvartalsinflation > 1.0 then write('(inflation/kvartal = ',
kvartalsinflation:5:3,') =')
else write('(ingen inflation) = ');
writeln( sum(j1,f_tt-t+1,f_tt,a(j1)*b(t+j1+1)*
d(t)*gamma(t)*psi(t,j1)*pi(j1)*n1(t)*pot(v,j1-(f_tt-t)+0.5)):13:0);
writeln; writeln; writeln
end (* for t *);
$page
page;
writeln('samlede obs. udb. for alle afløb = ',
sum(t1,0,f_tt,sum(j1,0,f_tt-t1,
f1(t1,j1)*f2(t1,j1)*n1(t1) )):12:0);
writeln;
writeln('samlede forskel for alle afløb = ',
sum(t1,0,f_tt,sum(j1,0,f_tt-t1,
( f1(t1,j1)*f2(t1,j1) -
a(j1)*b(t1+j1+1)*d(t1)*gamma(t1)*psi(t1,j1)*pi(j1) )
* n1(t1) )):12:0);
writeln;
writeln('samlede forv. udb. for alle afløb = ',
sum(t1,0,f_tt,sum(j1,0,f_tt-t1,
a(j1)*b(t1+j1+1)*d(t1)*gamma(t1)*psi(t1,j1)*pi(j1)
* n1(t1) )):12:0);
writeln;
writeln('samlede reserve for alle afløb =',
sum(t1,0,f_tt,
sum(j1,f_tt-t1+1,f_tt,
a(j1)*b(t1+j1+1)*d(t1)*
gamma(t1)*psi(t1,j1)*pi(j1)*n1(t1)*pot(v,j1-(f_tt-t1)+0.5))):12:0);
writeln;
writeln; writeln; writeln;
writeln ('q1 = ',q1:18:3);
writeln('normeret q1 = ',
q1/sum(t1,0,f_tt,sum1(j1,0,f_tt-t1,1,en,vægt1(t1,j1))):14:5);
page;
writeln ('vektorerne a, b og d :');
writeln; writeln; writeln;
skriv_abd_og_gamma;
if estimat_udskrivning then skriv_estim
else begin
$page
for t := 0 to tt do begin
if t mod 5 = 0 then page;
writeln ('t = ', t);
if t < 10 then writeln ('-' :: 5)
else writeln ('-' :: 6);
writeln; writeln;
write (' n1(t) j: ');
for j := 0 to tt - t do write (j : 5, ' ');
writeln;
writeln ('-' :: (16 + (tt - t + 1) * 8));
write ('z2 * ');
for j := 0 to tt - t do write (f2(t,j) : 8 : 4);
writeln;
write (n1(t) : 9, ' * ');
for j := 0 to tt - t do begin
tal := psi(t,j)*pi(j);
if tal = 0.0 then write (' *.****')
else write (f2(t,j) - tal : 8 : 4)
end (* for *);
writeln;
write('psi*pi ');
write ('* ');
for j := 0 to tt - t do begin
tal := psi(t,j)*pi(j);
if tal = 0.0 then write (' *.****')
else write (tal : 8 : 4)
end (* for *);
writeln;
writeln ('-' :: (16 + (tt - t + 1) * 8));
writeln; writeln; writeln
end (* for *);
end (* if estimatudskrivning *)
end.
INDDATA TIL PROGRAMMET:
10 0.00001 0.00001 250
M 100
N
V 2
W 1
G 1
D 2
I 1.02
B 1.00 1.02 1.04 1.09 1.11 1.13
1.15 1.16 1.19 1.21 1.23
INDHOLDET AF FILEN SKADETYPEFIL:
11
0 12 5875
0.3391193076583536E+004 0.7712340425531915
0.7232962746022518E+008 0.1777950884563151E+001
0.3005436043673732E+004 0.2650212765957447
0.1858933610724509E+009 0.4254703196016296
0.2998364158415842E+004 0.8595744680851064E-001
0.7047222128782633E+009 0.1141120869171570
0.3640260714285714E+004 0.3336170212765957E-001
0.6091682417000954E+010 0.4094279040289723E-001
0.3420598214285714E+004 0.1906382978723404E-001
0.2913036298666317E+010 0.2487406790402897E-001
0.3718967567567568E+004 0.1259574468085106E-001
0.4483794975259506E+010 0.1649907831598008E-001
0.3039558536585366E+004 0.6978723404255319E-002
0.3981001384680382E+010 0.8389128112267991E-002
0.9647375000000000E+004 0.4085106382978723E-002
0.2621436956343693E+012 0.4442220009053869E-002
0.3881471052631579E+004 0.3234042553191489E-002
0.1153089054135131E+011 0.3584927116342235E-002
0.2040540000000000E+005 0.6808510638297872E-003
0.1738911039986250E+013 0.6813146220009052E-003
0.2860200000000000E+004 0.1361702127659574E-002
0.2943609911874998E+010 0.1703981892258940E-002
0.1369000000000000E+004 0.3404255319148936E-003
0.1196254046250006E+010 0.3405414214576730E-003
0 0 12 5498
0.8241178610403783 0.5851076703575929
0.2608221171335031 0.2873737875646701
0.7220807566387777E-001 0.8700134484566029E-001
0.2746453255729356E-001 0.3289429894213325E-001
0.1582393597671881E-001 0.1993876274463904E-001
0.9821753364859949E-002 0.1154412974141461E-001
0.5820298290287377E-002 0.7241496990671296E-002
0.3637686431429611E-002 0.3988222311999164E-002
0.3092033466715169E-002 0.3446241438898843E-002
0.3637686431429611E-003 0.3636363155172268E-003
0.1091305929428883E-002 0.1453883623940237E-002
0.3637686431429611E-003 0.3636363155172269E-003
0 1 10 246
0.5000000000000000 0.2906504065040650
0.2560975609756098 0.2067717628395796
0.4065040650406504E-001 0.3899795095511930E-001
0.1219512195121951E-001 0.2017648225262740E-001
0.4065040650406504E-001 0.8777843875999735E-001
0.8130081300813008E-002 0.8063983078855178E-002
0.4065040650406504E-002 0.4048516094917047E-002
0.4065040650406504E-002 0.4048516094917047E-002
0.4065040650406504E-002 0.4048516094917047E-002
0.4065040650406504E-002 0.4048516094917046E-002
0 2 6 73
0.6164383561643836 0.3460311503096265
0.2328767123287671 0.1786451491837117
0.5479452054794521E-001 0.7918934133983858E-001
0.4109589041095890E-001 0.3940701820228936E-001
0.2739726027397260E-001 0.2664665040345280E-001
0.2739726027397260E-001 0.2664665040345280E-001
0 3 8 58
0.3103448275862069 0.2829964328180737
0.3103448275862069 0.2829964328180737
0.1206896551724138 0.1061236623067776
0.8620689655172414E-001 0.7877526753864444E-001
0.1724137931034483E-001 0.1694411414982163E-001
0.1724137931034483E-001 0.1694411414982164E-001
0.1724137931034483E-001 0.1694411414982164E-001
0.1724137931034483E-001 0.1694411414982163E-001
1 11 4874
0.3424406241379310E+004 0.7139926138695117
0.8697719411096574E+008 0.1527840438298297E+001
0.3045321784638554E+004 0.2724661469019286
0.1373599487966223E+009 0.4636510141743457
0.3366595207823961E+004 0.8391464915880181E-001
0.7827070409216604E+009 0.1225525423688859
0.3227278529411765E+004 0.3487894952810833E-001
0.5063756348969486E+010 0.4266093997123069E-001
0.4355177058823529E+004 0.1743947476405416E-001
0.6773357153280802E+010 0.2225735645362014E-001
0.4472664285714286E+004 0.1148953631514157E-001
0.1434396324141150E+011 0.1367324867329666E-001
0.7975148717948718E+004 0.8001641362330735E-002
0.4159034156333743E+011 0.1093805170560749E-001
0.4484303225806452E+004 0.6360279031596225E-002
0.1241540342729676E+011 0.8452435094374123E-002
0.2462628750000000E+005 0.2462043496101764E-002
0.9603053457494088E+012 0.3699126902329343E-002
0.2386103333333333E+005 0.1231021748050882E-002
0.3309771570356107E+012 0.1232537162595056E-002
0.1718418750000000E+004 0.1641362330734510E-002
0.2591114256140510E+010 0.2054396983718891E-002
1 0 11 4517
0.7704228470223600 0.5049653514195676
0.2630064201903919 0.3169245899521395
0.6885100730573389E-001 0.9510456868007896E-001
0.2833739207438565E-001 0.3373318880108005E-001
0.1483285366393624E-001 0.1948332937890552E-001
0.9962364401151207E-002 0.1207697445250126E-001
0.6641576267434138E-002 0.9254096239091647E-002
0.5091875138366172E-002 0.7279806701752838E-002
0.2435244631392517E-002 0.3757629468464618E-002
0.8855435023245517E-003 0.8847593150300422E-003
0.1106929377905690E-002 0.1105704085258018E-002
1 1 10 230
0.6086956521739130 0.2990548204158790
0.2130434782608696 0.1937429111531190
0.7391304347826087E-001 0.7714555765595461E-001
0.2608695652173913E-001 0.2540642722117201E-001
0.8695652173913043E-002 0.8620037807183362E-002
0.4347826086956522E-002 0.4328922495274101E-002
0.1304347826086957E-001 0.1287334593572778E-001
0.4347826086956522E-002 0.4328922495274101E-002
0.0000000000000000 0.0000000000000000
0.8695652173913043E-002 0.1731568998109641E-001
1 2 8 76
0.6447368421052632 0.3343144044321329
0.1710526315789474 0.1681094182825485
0.1315789473684211E-001 0.1298476454293628E-001
0.0000000000000000 0.0000000000000000
0.1315789473684211E-001 0.1298476454293628E-001
0.1315789473684211E-001 0.1298476454293628E-001
0.0000000000000000 0.0000000000000000
0.1315789473684211E-001 0.1298476454293628E-001
1 3 8 51
0.2352941176470588 0.1799307958477509
0.2156862745098039 0.1691657054978854
0.1764705882352941 0.1453287197231834
0.1372549019607843 0.1576316801230296
0.7843137254901961E-001 0.7227989234909650E-001
0.0000000000000000 0.0000000000000000
0.1960784313725490E-001 0.1922337562475971E-001
0.1960784313725490E-001 0.1922337562475971E-001
2 10 5108
0.3810181522388060E+004 0.7870007830853563
0.1127277631837380E+009 0.1790082840251200E+001
0.3471232892156863E+004 0.2396241190289742
0.3068770832387852E+009 0.3910140802058466
0.3267568436724566E+004 0.7889584964761159E-001
0.1268624004694910E+010 0.1133114775661682
0.5409087931034483E+004 0.3406421299921691E-001
0.5133896605018878E+010 0.5362708947961309E-001
0.2969473786407767E+004 0.2016444792482381E-001
0.1755962728369266E+010 0.2644419305721551E-001
0.5681330172413793E+004 0.1135473766640564E-001
0.8389692991395319E+010 0.1618217987170155E-001
0.6099853846153846E+004 0.7635082223962412E-002
0.3377182674160657E+011 0.1121726080789634E-001
0.1189694000000000E+005 0.4306969459671104E-002
0.1296817854865691E+012 0.8632488905268747E-002
0.7646808125000000E+004 0.3132341425215348E-002
0.7117818540011148E+011 0.4316781022475223E-002
0.1796000000000000E+004 0.5873140172278778E-003
0.8756914556444438E+010 0.5876589549827100E-003
2 0 10 4823
0.8335061165249844 0.5451597370038486
0.2307692307692308 0.2757938723105631
0.6883682355380469E-001 0.8939377453455042E-001
0.3130831432718225E-001 0.4898868847949314E-001
0.1783122537839519E-001 0.2373346767934024E-001
0.9537632179141613E-002 0.1442282167110916E-001
0.6427534729421522E-002 0.1011833846638771E-001
0.3732116939664109E-002 0.8279664502402248E-002
0.3110097449720091E-002 0.4344463723461371E-002
0.6220194899440182E-003 0.6216325816981479E-003
2 1 6 197
0.5634517766497462 0.2764307248318689
0.1878172588832487 0.2134556417325878
0.4568527918781726E-001 0.5375041871730784E-001
0.3045685279187817E-001 0.2952923290989203E-001
0.2030456852791878E-001 0.1989229302481382E-001
0.1015228426395939E-001 0.1004921538818315E-001
2 2 6 51
0.6666666666666667 0.4183006535947712
0.1568627450980392 0.1322568242983468
0.5882352941176471E-001 0.5536332179930793E-001
0.0000000000000000 0.0000000000000000
0.1960784313725490E-001 0.1922337562475971E-001
0.3921568627450980E-001 0.3767781622452902E-001
2 3 6 37
0.1621621621621622 0.1899196493791088
0.2162162162162162 0.1694667640613586
0.2162162162162162 0.1694667640613586
0.1351351351351351 0.1168736303871438
0.5405405405405405E-001 0.5113221329437545E-001
0.2702702702702703E-001 0.2629656683710737E-001
3 9 5568
0.3849613684574591E+004 0.7789152298850575
0.8850336899382972E+008 0.1798339682473329E+001
0.3627332199288256E+004 0.2523347701149425
0.2910256750170986E+009 0.4155047327606850
0.4067937247311828E+004 0.8351293103448276E-001
0.1738229712038121E+010 0.1138350418338783
0.3277469531250000E+004 0.4597701149425287E-001
0.9601935688671962E+009 0.5814836834456334E-001
0.3988276804123711E+004 0.1742097701149425E-001
0.4188596455897383E+010 0.1916124906072466E-001
0.5574348275862069E+004 0.1041666666666667E-001
0.1018197743046492E+011 0.1591310464559386E-001
0.7227567567567568E+004 0.6645114942528736E-002
0.1650691588421103E+011 0.7407663299725852E-002
0.5181266666666667E+004 0.3771551724137931E-002
0.6499748300415370E+011 0.4504167131143478E-002
0.3934337500000000E+004 0.7183908045977011E-003
0.1184082787379625E+011 0.1078102292244682E-002
3 0 9 5233
0.8287789031148481 0.5810406835832034
0.2442193770303841 0.2866209891372385
0.7185171030001911E-001 0.8962043893124260E-001
0.3879227976304223E-001 0.4607780760712830E-001
0.1261226829734378E-001 0.1283538893414395E-001
0.9363653735906746E-002 0.1462663500228178E-001
0.5923944200267533E-002 0.6653230982188360E-002
0.3057519587234856E-002 0.3430361109612886E-002
0.1910949742021785E-003 0.1910584569130131E-003
3 1 8 225
0.5644444444444444 0.3347358024691358
0.2533333333333333 0.2335999999999999
0.1066666666666667 0.1308444444444444
0.4888888888888889E-001 0.4649876543209875E-001
0.8888888888888889E-002 0.1769876543209876E-001
0.4444444444444444E-002 0.4424691358024691E-002
0.8888888888888889E-002 0.8809876543209871E-002
0.8888888888888889E-002 0.1769876543209876E-001
3 2 4 62
0.5161290322580645 0.2497398543184183
0.2258064516129032 0.2070759625390218
0.9677419354838710E-001 0.8740894901144638E-001
0.4838709677419355E-001 0.4604578563995836E-001
3 3 6 48
0.3125000000000000 0.2148437500000000
0.2916666666666667 0.3315972222222222
0.8333333333333333E-001 0.7638888888888887E-001
0.1041666666666667 0.9331597222222220E-001
0.6250000000000000E-001 0.1002604166666666
0.2083333333333333E-001 0.2039930555555555E-001
4 8 6186
0.3839971527256676E+004 0.7324603944390559
0.8010225438510371E+008 0.1613931142451239E+001
0.3579297831962397E+004 0.2751374070481733
0.1933249292789819E+009 0.4436281711600373
0.3447031981424149E+004 0.1044293566117038
0.6551725066512425E+009 0.1683578021938507
0.4778132819383260E+004 0.3669576462980925E-001
0.5852347334986834E+010 0.4806497552068649E-001
0.4682748620689655E+004 0.2344002586485613E-001
0.4539097706405707E+010 0.3045567470908569E-001
0.4124764166666667E+004 0.9699321047526673E-002
0.5800968338819950E+010 0.1140995138423078E-001
0.4521968085106383E+004 0.7597801487229227E-002
0.1191467090239374E+011 0.8625460179421235E-002
0.1907516315789474E+005 0.3071451665050113E-002
0.3642008682987601E+012 0.3404196181965074E-002
4 0 8 5707
0.7939372700192746 0.5375276379082998
0.2679165936569126 0.2904074869981742
0.8550902400560715E-001 0.1241057641992752
0.2978797967408446E-001 0.3836272007278878E-001
0.1874890485368845E-001 0.2435497935529268E-001
0.6483266164359558E-002 0.7142127063591850E-002
0.5957595934816892E-002 0.6622996624884565E-002
0.2453127737865779E-002 0.2797556721862603E-002
4 1 7 310
0.5580645161290323 0.3627575442247658
0.2709677419354839 0.2491571279916753
0.7419354838709677E-001 0.8804370447450569E-001
0.3225806451612903E-001 0.4412070759625390E-001
0.2258064516129032E-001 0.3497398543184183E-001
0.3225806451612903E-002 0.3215400624349635E-002
0.6451612903225806E-002 0.6409989594172735E-002
4 2 6 101
0.7326732673267327 0.6909126556219973
0.1881188118811881 0.1527301244975982
0.1089108910891089 0.9704930889128515E-001
0.1980198019801980E-001 0.1940986177825703E-001
0.0000000000000000 0.0000000000000000
0.9900990099009901E-002 0.9802960494069204E-002
4 3 5 68
0.2205882352941176 0.2013408304498270
0.2500000000000000 0.2169117647058823
0.2058823529411765 0.1929065743944636
0.1764705882352941 0.1747404844290657
0.2941176470588235E-001 0.2854671280276816E-001
5 7 5118
0.3972924100618325E+004 0.6951934349355217
0.1285028853939529E+009 0.1563403329718755E+001
0.3614622459755312E+004 0.3034388432981633
0.2815899431409794E+009 0.4924268315048940
0.3471266198704104E+004 0.9046502540054709E-001
0.6556038756710555E+009 0.1287388250801980
0.3480894000000000E+004 0.3028526768268855E-001
0.2563345855681395E+010 0.3823646277663475E-001
0.2623455979381443E+004 0.1895271590465025E-001
0.6051770169676124E+009 0.2204736487744257E-001
0.2172527000000000E+004 0.9769441187964048E-002
0.7034559046835145E+009 0.1142799375916338E-001
0.8183981818181818E+004 0.4298554122704181E-002
0.7345470699135973E+011 0.6270919927842807E-002
5 0 7 4727
0.7526972709964036 0.6028989020086303
0.2938438756082082 0.3103132762386712
0.7763909456314787E-001 0.1012283588524063
0.2432832663422890E-001 0.3050608048171433E-001
0.1544319864607574E-001 0.1774331425826877E-001
0.7404273323460969E-002 0.8618754058320046E-002
0.3596361328538185E-002 0.5698934177578771E-002
5 1 6 280
0.5857142857142857 0.2783673469387755
0.1964285714285714 0.1864158163265306
0.6071428571428571E-001 0.6417091836734690E-001
0.4285714285714286E-001 0.4816326530612243E-001
0.1071428571428571E-001 0.1059948979591837E-001
0.1428571428571429E-001 0.1408163265306122E-001
5 2 4 73
0.5616438356164384 0.3283918183524113
0.2054794520547945 0.1632576468380559
0.2739726027397260E-001 0.2664665040345280E-001
0.4109589041095890E-001 0.6680427847626196E-001
5 3 4 38
0.2105263157894737 0.2188365650969529
0.2631578947368421 0.1939058171745152
0.2368421052631579 0.1807479224376731
0.2631578947368421E-001 0.2562326869806094E-001
6 6 5150
0.4061185687576876E+004 0.7893203883495146
0.1158281057011770E+009 0.1837201432745782E+001
0.3673622437888199E+004 0.2500970873786408
0.3096473810799361E+009 0.3875970968045998
0.3194034552845528E+004 0.7165048543689320E-001
0.5247191262466123E+009 0.9231825808275990E-001
0.5158091888111888E+004 0.2776699029126214E-001
0.6526336776224478E+010 0.3669333584692242E-001
0.4366823364485981E+004 0.2077669902912621E-001
0.2559386782496955E+010 0.2586856442643038E-001
0.6327669444444444E+004 0.6990291262135922E-002
0.9267621081010389E+010 0.1092265057969648E-001
6 0 6 4821
0.8431860609831985 0.5860710769764152
0.2362580377515038 0.2571877400956310
0.5932379174445136E-001 0.6907973357417274E-001
0.2281684297863514E-001 0.3059326846553622E-001
0.1700891931134619E-001 0.2169783626145397E-001
0.6637627048330222E-002 0.1074208586070388E-001
6 1 5 242
0.6157024793388430 0.3027286387541834
0.1859504132231405 0.1926951710948705
0.6198347107438017E-001 0.5814152038795163E-001
0.4132231404958678E-001 0.3961478041117409E-001
0.8264462809917355E-002 0.8196161464380846E-002
6 2 3 58
0.6551724137931034 0.3293697978596908
0.2068965517241379 0.1985731272294887
0.6896551724137931E-001 0.6420927467300832E-001
6 3 3 29
0.2068965517241379 0.1640903686087990
0.3793103448275862 0.2354340071343638
0.6896551724137931E-001 0.6420927467300829E-001
7 5 5898
0.4222613391679927E+004 0.7458460495083079
0.9070840480447053E+008 0.1654116102371490E+001
0.3814269201817002E+004 0.2612750084774500
0.2272513355994955E+009 0.4261825683390556
0.3993352859960552E+004 0.8596134282807731E-001
0.4611095129580022E+009 0.1214958292325932
0.4538038400000000E+004 0.4238724991522550E-001
0.3127283054743126E+010 0.5401777085093359E-001
0.5186988414634146E+004 0.1390301797219396E-001
0.4623438671272661E+010 0.1986097786939978E-001
7 0 5 5524
0.7963432295438088 0.5379953173853700
0.2518102824040550 0.2886915092642938
0.7639391745112238E-001 0.9988446177328496E-001
0.3511947863866763E-001 0.4402368232152397E-001
0.1249094858797972E-001 0.1812782848432827E-001
7 1 4 275
0.5454545454545455 0.3061157024793388
0.2145454545454545 0.1830611570247934
0.7636363636363636E-001 0.7053223140495867E-001
0.2909090909090909E-001 0.3551735537190082E-001
7 2 3 61
0.4262295081967213 0.2445579145391024
0.2295081967213115 0.1768341843590433
0.3278688524590164E-001 0.3171190540177371E-001
7 3 2 38
0.5526315789473684 0.2998614958448753
0.7894736842105263E-001 0.7271468144044320E-001
8 4 8279
0.4312761849689894E+004 0.6621572653702138
0.1025596905771540E+009 0.1408524009499055E+001
0.3720148388777555E+004 0.3013648991424085
0.2191950756372869E+009 0.4848241156751935
0.3271628342728298E+004 0.1071385433023312
0.3089117098094693E+009 0.1462934526919776
0.3173904811715481E+004 0.2886822079961348E-001
0.6266661951332308E+009 0.3309356947615024E-001
8 0 4 7553
0.7258043161657619 0.5308011040353890
0.2928637627432808 0.3032153259382844
0.8936846286243877E-001 0.1091852624874690
0.2343439692837283E-001 0.2553318042415967E-001
8 1 3 507
0.5581854043392505 0.3097308295305564
0.2603550295857988 0.2241284735595158
0.4339250493096647E-001 0.4939914179786732E-001
8 2 2 136
0.5882352941176471 0.2569204152249135
0.1985294117647059 0.1885272491349480
8 3 1 34
0.3823529411764706 0.2361591695501730
9 3 5005
0.3951352204978038E+004 0.6823176823176823
0.1014002642384250E+009 0.1547947674776038E+001
0.4109660763844685E+004 0.3138861138861139
0.2407249198061883E+009 0.5560218921105029
0.3893450381679389E+004 0.5234765234765235E-001
0.9225097258750764E+009 0.7433973698572486E-001
9 0 3 4587
0.7444953128406366 0.6135924365923753
0.3004142140832788 0.3527423616728235
0.4490952692391541E-001 0.6251332841806701E-001
9 1 2 310
0.6225806451612903 0.4027159209157127
0.1193548387096774 0.1180124869927159
9 2 1 44
0.4318181818181818 0.2908057851239669
10 2 5053
0.4235858947096774E+004 0.7668711656441718
0.1244928330067401E+009 0.1816115529315048E+001
0.3763301170483461E+004 0.1555511577280823
0.3680916790441879E+009 0.2303219844517582
10 0 2 4704
0.8237670068027211 0.5911783266665508
0.1498724489795918 0.1775807660436623
10 1 1 159
0.5094339622641509 0.3128040821170050
11 1 5569
0.4314502939325843E+004 0.3995331298258215
0.1572880940027559E+009 0.8099717386749706
11 0 1 4001
0.5561109722569358 0.4218078197271477
▶EOF◀