|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2496 (0x9c0)
Types: TextFile
Notes: Mikados_K
Names: »NBTBEREG.K«
└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
└─⟦this⟧ »NBTBEREG.K«
PROCEDURE REGN(VAR BH:INTEGER;X,Y,V,YM:INTEGER;VAR HB13,FR:AR13;VAR R:AR116);
VAR B,MEL:AR14;K:AR13;
FUNCTION BF1:BOOLEAN;
BEGIN
BF1:=(R(X+3*Y)<>R(X+2*Y)) AND (R(X+3*Y)<>0)
END;
FUNCTION BF2:BOOLEAN;
BEGIN
BF2:=(R(X+2*Y)<>R(X+Y)) AND (R(X+2*Y)<>0)
END;
FUNCTION BF3:BOOLEAN;
BEGIN
BF3:=(R(X+Y)<>X) AND (R(X+Y)<>0)
END;
FUNCTION BF4:BOOLEAN;
BEGIN
BF4:=(R(X)>=20)
END;
BEGIN
K(1):=0;K(2):=0;K(3):=0;
CASE V OF
1: BEGIN
IF BF1 THEN K(3):=1;
IF BF2 THEN K(2):=1;
IF BF3 THEN K(1):=1
END;
2: BEGIN
IF BF2 THEN K(3):=1;
IF BF3 THEN K(2):=1;
IF BF4 THEN K(1):=1
END;
3: BEGIN
IF BF3 THEN K(3):=1;
IF BF4 THEN K(2):=1
END;
4: IF BF4 THEN K(3):=1;
END;
MEL(1):= YM-DK-DKP;
B(4):=(MEL(1)-HB13(3))*FR(3)*K(3);
MEL(2):=(2*DKP+B(4))*FR(3);
B(3):=(MEL(1)-HB13(2)-MEL(2))*FR(2)*K(2);
MEL(3):=(2*DKP+B(3))*FR(2);
B(2):=(MEL(1)-HB13(1)-(MEL(2)+MEL(3))*FR(2))*FR(1)*K(1);
MEL(4):=(2*DKP+B(2))*FR(1);
B(1):=YM-2*DK-(MEL(2)+MEL(3)+MEL(4))*FR(1);
BH:=B(V)
END;
PROCEDURE POSTBEREGN(VAR BH:AR13;YM:INTEGER);
VAR KONSTANT:INTEGER;
BEGIN
KONSTANT:=-KPROFIL.DIM(3)+ROUND(0.5*KPPROFIL.DIM(3));
LÆNGDE:=KONSTANT;
IF POST.GÅFRA>0 THEN LÆNGDE:=-BH(POST.GÅFRA);
IF POST.GÅTIL=4 THEN
LÆNGDE:=LÆNGDE+YM+KONSTANT
ELSE
LÆNGDE:=LÆNGDE+BH(POST.GÅTIL)
END;
0x000…04f Line {l1=0x4d, l2=»PROCEDURE REGN(VAR BH:INTEGER;X,Y,V,YM:INTEGER;VAR HB13,FR:AR13;VAR R:AR116);«, l3=0x4d}
0x04f…067 Line {l1=0x16, l2=»VAR B,MEL:AR14;K:AR13;«, l3=0x16}
0x067…07e Line {l1=0x15, l2=»FUNCTION BF1:BOOLEAN;«, l3=0x15}
0x07e…085 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x085…0b4 Line {l1=0x2d, l2=» BF1:=(R(X+3*Y)<>R(X+2*Y)) AND (R(X+3*Y)<>0)«, l3=0x2d}
0x0b4…0ba Line {l1=0x04, l2=»END;«, l3=0x04}
0x0ba…0bd Line {l1=0x01, l2=» «, l3=0x01}
0x0bd…0d4 Line {l1=0x15, l2=»FUNCTION BF2:BOOLEAN;«, l3=0x15}
0x0d4…0d7 Line {l1=0x01, l2=» «, l3=0x01}
0x0d7…0de Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0de…10b Line {l1=0x2b, l2=» BF2:=(R(X+2*Y)<>R(X+Y)) AND (R(X+2*Y)<>0)«, l3=0x2b}
0x10b…111 Line {l1=0x04, l2=»END;«, l3=0x04}
0x111…114 Line {l1=0x01, l2=» «, l3=0x01}
0x114…12b Line {l1=0x15, l2=»FUNCTION BF3:BOOLEAN;«, l3=0x15}
0x12b…12e Line {l1=0x01, l2=» «, l3=0x01}
0x12e…135 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x135…159 Line {l1=0x22, l2=» BF3:=(R(X+Y)<>X) AND (R(X+Y)<>0)«, l3=0x22}
0x159…15f Line {l1=0x04, l2=»END;«, l3=0x04}
0x15f…162 Line {l1=0x01, l2=» «, l3=0x01}
0x162…179 Line {l1=0x15, l2=»FUNCTION BF4:BOOLEAN;«, l3=0x15}
0x179…17c Line {l1=0x01, l2=» «, l3=0x01}
0x17c…183 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x183…196 Line {l1=0x11, l2=» BF4:=(R(X)>=20)«, l3=0x11}
0x196…19c Line {l1=0x04, l2=»END;«, l3=0x04}
0x19c…19f Line {l1=0x01, l2=» «, l3=0x01}
0x19f…1a6 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1a6…1c2 Line {l1=0x1a, l2=» K(1):=0;K(2):=0;K(3):=0;«, l3=0x1a}
0x1c2…1cf Line {l1=0x0b, l2=» CASE V OF«, l3=0x0b}
0x1cf…1d2 Line {l1=0x01, l2=» «, l3=0x01}
0x1d2…1e0 Line {l1=0x0c, l2=» 1: BEGIN«, l3=0x0c}
0x1e0…1ff Line {l1=0x1d, l2=» IF BF1 THEN K(3):=1;«, l3=0x1d}
0x1ff…21e Line {l1=0x1d, l2=» IF BF2 THEN K(2):=1;«, l3=0x1d}
0x21e…23c Line {l1=0x1c, l2=» IF BF3 THEN K(1):=1«, l3=0x1c}
0x23c…249 Line {l1=0x0b, l2=» END;«, l3=0x0b}
0x249…257 Line {l1=0x0c, l2=» 2: BEGIN«, l3=0x0c}
0x257…276 Line {l1=0x1d, l2=» IF BF2 THEN K(3):=1;«, l3=0x1d}
0x276…295 Line {l1=0x1d, l2=» IF BF3 THEN K(2):=1;«, l3=0x1d}
0x295…2b3 Line {l1=0x1c, l2=» IF BF4 THEN K(1):=1«, l3=0x1c}
0x2b3…2c0 Line {l1=0x0b, l2=» END;«, l3=0x0b}
0x2c0…2ce Line {l1=0x0c, l2=» 3: BEGIN«, l3=0x0c}
0x2ce…2ed Line {l1=0x1d, l2=» IF BF3 THEN K(3):=1;«, l3=0x1d}
0x2ed…30b Line {l1=0x1c, l2=» IF BF4 THEN K(2):=1«, l3=0x1c}
0x30b…318 Line {l1=0x0b, l2=» END;«, l3=0x0b}
0x318…335 Line {l1=0x1b, l2=» 4: IF BF4 THEN K(3):=1;«, l3=0x1b}
0x335…33d Line {l1=0x06, l2=» END;«, l3=0x06}
0x33d…341 Line {l1=0x02, l2=» «, l3=0x02}
0x341…358 Line {l1=0x15, l2=» MEL(1):= YM-DK-DKP;«, l3=0x15}
0x358…37e Line {l1=0x24, l2=» B(4):=(MEL(1)-HB13(3))*FR(3)*K(3);«, l3=0x24}
0x37e…39d Line {l1=0x1d, l2=» MEL(2):=(2*DKP+B(4))*FR(3);«, l3=0x1d}
0x39d…3ca Line {l1=0x2b, l2=» B(3):=(MEL(1)-HB13(2)-MEL(2))*FR(2)*K(2);«, l3=0x2b}
0x3ca…3e9 Line {l1=0x1d, l2=» MEL(3):=(2*DKP+B(3))*FR(2);«, l3=0x1d}
0x3e9…425 Line {l1=0x3a, l2=» B(2):=(MEL(1)-HB13(1)-(MEL(2)+MEL(3))*FR(2))*FR(1)*K(1);«, l3=0x3a}
0x425…444 Line {l1=0x1d, l2=» MEL(4):=(2*DKP+B(2))*FR(1);«, l3=0x1d}
0x444…473 Line {l1=0x2d, l2=» B(1):=YM-2*DK-(MEL(2)+MEL(3)+MEL(4))*FR(1);«, l3=0x2d}
0x473…47f Line {l1=0x0a, l2=» BH:=B(V)«, l3=0x0a}
0x47f…485 Line {l1=0x04, l2=»END;«, l3=0x04}
0x485…488 Line {l1=0x01, l2=» «, l3=0x01}
0x488…4b7 Line {l1=0x2d, l2=»PROCEDURE POSTBEREGN(VAR BH:AR13;YM:INTEGER);«, l3=0x2d}
0x4b7…4ce Line {l1=0x15, l2=»VAR KONSTANT:INTEGER;«, l3=0x15}
0x4ce…4d1 Line {l1=0x01, l2=» «, l3=0x01}
0x4d1…4d8 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4d8…511 Line {l1=0x37, l2=» KONSTANT:=-KPROFIL.DIM(3)+ROUND(0.5*KPPROFIL.DIM(3));«, l3=0x37}
0x511…526 Line {l1=0x13, l2=» LÆNGDE:=KONSTANT;«, l3=0x13}
0x526…557 Line {l1=0x2f, l2=» IF POST.GÅFRA>0 THEN LÆNGDE:=-BH(POST.GÅFRA);«, l3=0x2f}
0x557…56f Line {l1=0x16, l2=» IF POST.GÅTIL=4 THEN«, l3=0x16}
0x56f…58f Line {l1=0x1e, l2=» LÆNGDE:=LÆNGDE+YM+KONSTANT«, l3=0x1e}
0x58f…597 Line {l1=0x06, l2=» ELSE«, l3=0x06}
0x597…5ba Line {l1=0x21, l2=» LÆNGDE:=LÆNGDE+BH(POST.GÅTIL)«, l3=0x21}
0x5ba…5c0 Line {l1=0x04, l2=»END;«, l3=0x04}
0x5c0…5e0 00 00 3a 3d 4c 5b 4e 47 44 45 2b 42 48 28 50 4f 53 54 2e 47 5d 54 49 4c 29 21 04 45 4e 44 3b 04 ┆ :=LÆNGDE+BH(POST.GÅTIL)! END; ┆
0x5e0…600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
[…0x1e…]