|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: COMAL_SAVE
Names: »REGR2«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/REGR2«
SAVE filename: "REGR2" 0020 PRINT "<27>AF" 0030 PRINT "<27><12>" 0040 DELAY = 1 0050 PRINT 0060 PRINT " BEDSTE RETTE LINIE" 0070 INPUT "ANTAL MAALEPUNKTER =" , N 0080 DIM KO ( 2 , N ) 0090 LET SUMX = 0 0100 LET SUMY = 0 0110 LET SUMXY = 0 0120 LET SUMX2 = 0 0130 FOR I = 1 TO N STEP 1 0140 PRINT "TALSAET NR " ; I ; 0150 INPUT " X=" , KO ( 1 , I ) , " Y=" , KO ( 2 , I ) 0160 NEXT 0170 EXEC RETTE 0180 FOR I = 1 TO N STEP 1 0190 LET SUMX = SUMX + KO ( 1 , I ) 0200 LET SUMY = SUMY + KO ( 2 , I ) 0210 LET SUMXY = SUMXY + KO ( 1 , I ) * KO ( 2 , I ) 0220 LET SUMX2 = SUMX2 + KO ( 1 , I ) ^ 2 0230 NEXT 0240 LET EX = SUMX / N 0250 LET EY = SUMY / N 0260 LET EXY = SUMXY / N 0270 LET EX2 = SUMX2 / N 0280 LET VARX = EX2 - EX ^ 2 0290 IF VARX = 0 THEN 0300 LET P = ( KO ( 2 , N ) - KO ( 2 , 1 ) ) / ( KO ( 1 , 1 ) - KO ( 1 , N ) ) 0310 LET Q = KO ( 2 , 1 ) - P * KO ( 1 , 1 ) 0320 ELSE 0330 LET P = ( EXY - EX * EY ) / VARX 0340 LET Q = ( EX2 * EY - EX * EXY ) / VARX 0350 ENDIF 0362 PRINT "HAELDNINGSKOEFFICIENTEN=" ; P 0364 PRINT "SKAERING MED Y-AKSEN=" ; Q 0371 LET SUMU1 = 0 0372 LET SUMU2 = 0 0373 FOR I = 1 TO N STEP 1 0374 LET SUMU1 = SUMU1 + ( KO ( 2 , I ) - P * KO ( 1 , I ) - Q ) ^ 2 0375 LET SUMU2 = SUMU2 + ( KO ( 1 , I ) - EX ) ^ 2 0376 NEXT 0377 LET USP = SQR ( SUMU1 / ( N - 2 ) ) / SQR ( SUMU2 ) 0378 PRINT "USIKKERHEDEN PAA HAELDNINGSKOEFF. ER=" ; USP 0379 LET USP = SQR ( SUMU1 / ( N - 2 ) ) / SQR ( N ) 0380 PRINT "USIKKERHEDEN PAA SKAERINGSP. MED Y-AKSEN ER =" ; USP 0385 DELAY = 30 0390 EXEC KOVALG 0400 EXEC GRAF 0410 EXEC CHOICE 0420 PROC KOVALG 0430 PRINT "<27><12>" 0440 DELAY = 1 0450 INPUT "HOEJKANT SKRIV 0,VANDRET SKRIV 1" , J 0460 LET XOMS = 25 YOMS = 25 0470 LET XMAX = 395 + J * 217 YMAX = 608 - J * 188 0480 PRINT "ANF0R BEGYNDELSESPUNKTETS PLACERING PAA PAPI-" 0490 PRINT "RET MAALT I CM VANDRET OG CM LODRET FRA NEDERSTE VENSTRE" 0500 PRINT "HJ0ERNE." 0510 INPUT "CM VANDRET " , XO , " CM LODRET " , YO 0520 INPUT "1 CM PAA X-AKSEN SKAL SVARE TIL" , X1 0530 INPUT "1 CM PAA Y-AKSEN SKAL SVARE TIL" , Y1 0540 ENDPROC 0550 PROC GRAF 0560 PRINT "<27><12>" 0570 DELAY = 1 0580 LET X0 = XOMS * XO Y0 = YOMS * YO 0590 CALL "GRAPH" , X0 , 0 0600 CALL "OUTVECT" , X0 , YMAX 0610 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , YMAX - 4 0620 CALL "OUTVECT" , X0 + 4 , YMAX - 4 0630 CALL "OUTVECT" , X0 , YMAX 0640 CALL "GRAPH" , 0 , Y0 0650 CALL "OUTVECT" , XMAX , Y0 0660 CALL "OUTVECT" , XMAX - 4 , Y0 + 4 0670 CALL "OUTVECT" , XMAX - 4 , Y0 - 4 * ( Y0 >= 4 ) 0680 CALL "OUTVECT" , XMAX , Y0 0690 FOR I = 1 TO 23 - 7 * J 0700 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , I * YOMS 0710 CALL "OUTVECT" , X0 + 2 , I * YOMS 0720 NEXT 0730 FOR I = 1 TO 15 + 8 * J 0740 CALL "GRAPH" , I * XOMS , Y0 - 2 * ( Y0 > 2 ) 0750 CALL "OUTVECT" , I * XOMS , Y0 + 2 0760 NEXT 0770 FOR I = 1 TO N 0780 LET X = X0 + XOMS * KO ( 1 , I ) / X1 0790 LET Y = Y0 + YOMS * KO ( 2 , I ) / Y1 0800 IF ( X < 2 ) + ( X > 1021 ) + ( Y < 2 ) + ( Y > YMAX - 2 ) THEN GOTO 0850 0810 CALL "GRAPH" , X - 2 , Y + 2 0820 CALL "OUTVECT" , X + 2 , Y - 2 0830 CALL "GRAPH" , X - 2 , Y - 2 0840 CALL "OUTVECT" , X + 2 , Y + 2 0850 NEXT 0860 ON ERR THEN LET XNEDRE = 0 0870 LET XNEDRE = X0 + ( - Y0 * Y1 / YOMS - Q ) * XOMS / P / X1 0880 ON ERR THEN LET X0VRE = XMAX 0890 LET X0VRE = X0 + ( ( YMAX - Y0 ) * Y1 / YOMS - Q ) * XOMS / X1 / P 0900 LET YVENSTRE = Y0 + ( - X0 * X1 * P / XOMS + Q ) * YOMS / Y1 0910 LET YH0JRE = Y0 + ( ( XMAX - X0 ) * X1 * P / XOMS + Q ) * YOMS / Y1 0920 LET XSTART = XNEDRE * ( XNEDRE >= 0 ) * ( P >= 0 ) + X0VRE * ( X0VRE >= 0 ) * ( P < 0 ) 0930 LET YSTART = YVENSTRE * ( XSTART = 0 ) + YMAX * ( XSTART <> 0 ) * ( P < 0 ) 0940 LET XSLUT = ( X0VRE * ( X0VRE <= XMAX ) + XMAX * ( X0VRE > XMAX ) ) * ( P >= 0 ) + ( XNEDRE * ( XNEDRE <= XMAX ) + XMAX * ( XNEDRE > XMAX ) ) * ( P < 0 ) 0950 LET YSLUT = YH0JRE * ( XSLUT = XMAX ) + YMAX * ( XSLUT <> XMAX ) * ( P > 0 ) 0960 CALL "GRAPH" , XSTART , YSTART 0970 CALL "OUTVECT" , XSLUT , YSLUT 0980 CALL "GRAPH" , 0 , 765 0990 CALL "ALPHA" 1000 ENDPROC 1010 PROC GRAFH 1020 PRINT "<27><12>" 1030 DELAY = 1 1040 LET X0 = YO * XOMS Y0 = 783 - XO * YOMS 1050 CALL "GRAPH" , X0 , 779 1060 CALL "OUTVECT" , X0 , 779 - YMAX 1070 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , 783 - YMAX 1080 CALL "OUTVECT" , X0 + 4 , 783 - YMAX 1090 CALL "OUTVECT" , X0 , 779 - YMAX 1100 CALL "GRAPH" , 0 , Y0 1110 CALL "OUTVECT" , XMAX , Y0 1120 CALL "OUTVECT" , XMAX - 4 , Y0 + 4 * ( Y0 <= 775 ) 1130 CALL "OUTVECT" , XMAX - 4 , Y0 - 4 1140 CALL "OUTVECT" , XMAX , Y0 1150 FOR I = 1 TO 16 1160 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , 783 - I * YOMS 1170 CALL "OUTVECT" , X0 + 2 , 783 - I * YOMS 1180 NEXT 1190 FOR I = 1 TO 23 1200 CALL "GRAPH" , I * XOMS , Y0 - 2 1210 CALL "OUTVECT" , I * XOMS , Y0 + 2 * ( Y0 <= 775 ) 1220 NEXT 1230 FOR I = 1 TO N 1240 LET X = X0 + XOMS * KO ( 2 , I ) / Y1 1250 LET Y = Y0 - YOMS * KO ( 1 , I ) / X1 1260 IF ( X < 2 ) + ( X > 1021 ) + ( Y > 777 ) + ( Y < 777 - YMAX ) THEN GOTO 1310 1270 CALL "GRAPH" , X - 2 , Y + 2 1280 CALL "OUTVECT" , X + 2 , Y - 2 1290 CALL "OUTVECT" , X - 2 , Y - 2 1300 CALL "OUTVECT" , X + 2 , Y + 2 1310 NEXT 1320 LET XSTARTH = YSTART * XOMS / 25 YSTARTH = 783 - XSTART * YOMS / 25 1330 LET XSLUTH = YSLUT * XOMS / 25 YSLUTH = 783 - XSLUT * YOMS / 25 1340 IF YSTARTH > 779 THEN 1350 LET YSTARTH = 779 1360 LET XSTARTH = ( YSTART + 100 * P * X1 / Y1 / YOMS ) * XOMS / 25 1370 ENDIF 1380 IF YSLUTH > 779 THEN 1390 LET YSLUTH = 779 1400 LET XSLUTH = ( YSLUT + 100 * P * X1 / Y1 / YOMS ) * XOMS / 25 1410 ENDIF 1420 CALL "GRAPH" , XSTARTH , YSTARTH 1430 CALL "OUTVECT" , XSLUTH , YSLUTH 1440 CALL "GRAPH" , 0 , 765 1450 CALL "ALPHA" 1460 ENDPROC 1470 PROC RETTE 1480 PRINT "HVIS ET TAELSAET SKAL RETTES, INDTAST DETS NR. ELLERS INDTAST 0" 1488 INPUT I 1490 IF I = 0 THEN GOTO 1540 1495 ON ERR THEN EXEC OUTERR 1498 PRINT "TAELSAET NR " , I ; 1500 INPUT " X=" , KO ( 1 , I ) , " Y=" , KO ( 2 , I ) 1510 GOTO 1480 1532 PROC OUTERR 1533 PRINT 1534 PRINT "FORKERT NR. PR0V IGEN!!" 1536 ENDPROC 1540 ENDPROC 1550 PROC CHOICE 1560 DIM Q$ ( 1 ) 1570 PRINT "HVIS DENNE GRAF 0NSKES TEGNET, INDTAST T" 1580 PRINT "HVIS DER 0NSKES NYT KOORDINATSYSTEM, INDTAST K" 1590 PRINT "PROGRAMMET AFBRYDES VED AT INDTASTE S" 1600 INPUT Q$ 1610 IF ( Q$ <> "T" ) * ( Q$ <> "K" ) * ( Q$ <> "S" ) THEN GOTO 1600 1620 CASE Q$ OF 1630 WHEN "T" 1640 LET XOMS = 41.8 YOMS = 43.5 1650 LET XMAX = 1023 YMAX = 730 1660 PRINT "<27>AE" 1670 IF J THEN 1680 EXEC GRAF 1690 ELSE 1700 EXEC GRAFH 1710 ENDIF 1720 PRINT "<27>AF" 1730 PRINT "HVIS GRAFEN 0NSKES TEGNET IGEN, INDTAST T" 1740 WHEN "K" 1750 EXEC KOVALG 1760 EXEC GRAF 1770 PRINT "HVIS DENNE GRAF 0NSKES TEGNET, INDTAST T" 1780 WHEN "S" 1790 END «nul»+ 1800 ENDCASE «nul» 1810 GOTO 1580 1820 ENDPROC
FNA definition = 0xffff
FNB definition = 0xffff
FNC definition = 0xffff
FND definition = 0xffff
FNE definition = 0xffff
FNF definition = 0xffff
FNG definition = 0xffff
FNH definition = 0xffff
FNI definition = 0xffff
FNJ definition = 0xffff
FNK definition = 0xffff
FNL definition = 0xffff
FNM definition = 0xffff
FNN definition = 0xffff
FNO definition = 0xffff
FNP definition = 0xffff
FNQ definition = 0xffff
FNR definition = 0xffff
FNS definition = 0xffff
FNT definition = 0xffff
FNU definition = 0xffff
FNV definition = 0xffff
FNW definition = 0xffff
FNX definition = 0xffff
FNY definition = 0xffff
FNZ definition = 0xffff
FN[ definition = 0xffff
FN\ definition = 0xffff
FN] definition = 0xffff
GOSUB-RETURN stack pointer = 0x0001
stack[0] = 0x0222
stack[1] = 0x07ad
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 3.3735e-80 (0x00010000)
Var# = 0x0000
Loop Top = 0x0001
To Val = 3.3735e-80 (0x00010000)
Step Val = 0 (0x00000000)
Var# = 0x0087
Loop Top = 0x019a
To Val = 10 (0x41a00000)
Step Val = 1 (0x41100000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
REPEAT-UNTIL stack pointer = 0x0000
stack[0] = 0x0000
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
WHILE-ENDWHILE stack pointer = 0x0000
stack[0] = 0x0000
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
IF-ELSE stack pointer = 0x0000
stack[0] = 0x0000
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
Variables:
0x80 0xffff 0x00
0x81 0x0000 0x00 N
0x82 0x0002 0x01 KO
0x83 0x0041 0x00 SUMX
0x84 0x0043 0x00 SUMY
0x85 0x0045 0x00 SUMXY
0x86 0x0047 0x00 SUMX2
0x87 0x0049 0x00 I
0x88 0x004b 0x00 EX
0x89 0x004d 0x00 EY
0x8a 0x004f 0x00 EXY
0x8b 0x0051 0x00 EX2
0x8c 0x0053 0x00 VARX
0x8d 0x0055 0x00 P
0x8e 0x0057 0x00 Q
0x8f 0xffff 0x00 LIST10
0x90 0xffff 0x00 LISTT
0x91 0xffff 0x00 LIIST
0x92 0xffff 0x00 LIST50
0x93 0xffff 0x00 VANDRET
0x94 0xffff 0x00 XO
0x95 0xffff 0x00 YO
0x96 0xffff 0x00 X1
0x97 0xffff 0x00 Y1
0x98 0xffff 0x00 XO0
0x99 0xffff 0x00 X0
0x9a 0xffff 0x00 Y0
0x9b 0xffff 0x00 I1
0x9c 0xffff 0x00 I2
0x9d 0xffff 0x00 I3
0x9e 0xffff 0x00 I4
0x9f 0xffff 0x00 CM
0xa0 0xffff 0x00 LIST450
0xa1 0xffff 0x00 X
0xa2 0xffff 0x00 XNED
0xa3 0xffff 0x00 XOP
0xa4 0xffff 0x00 LISTLIST
0xa5 0xffff 0x00 Y
0xa6 0xffff 0x00 XNEDRE
0xa7 0xffff 0x00 X0VRE
0xa8 0xffff 0x00 YNEDRE
0xa9 0xffff 0x00 Y0VRE
0xaa 0xffff 0x00 LIST300
0xab 0xffff 0x00 ST
0xac 0xffff 0x00 LIST200
0xad 0x005f 0x00 J
0xae 0xffff 0x00 XOMS
0xaf 0xffff 0x00 YOMS
0xb0 0xffff 0x00 LIST400
0xb1 0xffff 0x00 XMAX
0xb2 0xffff 0x00 YMAX
0xb3 0xffff 0x00 X0MS
0xb4 0xffff 0x00 LLIST
0xb5 0xffff 0x00 LIST305
0xb6 0xffff 0x00 YVENSTRE
0xb7 0xffff 0x00 YH0JRE
0xb8 0xffff 0x00 XSTART
0xb9 0xffff 0x00 O
0xba 0xffff 0x00 XSLUT
0xbb 0xffff 0x00 YSTART
0xbc 0xffff 0x00 LISLIST
0xbd 0xffff 0x00 YSLUT
0xbe 0xffff 0x00 NUL
0xbf 0xffff 0x00 YSTOP
0xc0 0xffff 0x00 PRNT
0xc1 0xffff 0x00 KOVALG
0xc2 0xffff 0x00 LINIE
0xc3 0xffff 0x00 GRAF
0xc4 0xffff 0x02 G$
0xc5 0xffff 0x02 K$
0xc6 0xffff 0x00 RUNRUN
0xc7 0xffff 0x00 UN
0xc8 0xffff 0x00 LIST1000
0xc9 0xffff 0x00 RTUN
0xca 0xffff 0x02 Q$
0xcb 0xffff 0x00 TALSAET
0xcc 0xffff 0x00 Z
0xcd 0xffff 0x00 RETTE
0xce 0xffff 0x00 GRAF1
0xcf 0xffff 0x00 GRAFH
0xd0 0xffff 0x00 GRAFH0J
0xd1 0xffff 0x00 XSLUTH
0xd2 0xffff 0x00 YSLUTH
0xd3 0xffff 0x00 XSTARTH
0xd4 0xffff 0x00 YSTARTH
0xd5 0xffff 0x00 LIAT
0xd6 0xffff 0x00 YALUTH
0xd7 0xffff 0x00 LIST1600
0xd8 0xffff 0x00 CHOICE
0xd9 0xffff 0x00 WHWN
0xda 0xffff 0x00 OUTERR
0xdb 0x0059 0x00 SUMU1
0xdc 0x005b 0x00 SUMU2
0xdd 0x005d 0x00 USP
.magic = 0x4e32 .u_pas = 0x0882 // Length of UPAS in words .u_das = 0x029f // Length of UDAS in words .u_dvs = 0x023e // Start på savede variabel indhold (word adr) .u_nds = 0x024b // Address på næste prog.sætning (word adr) .u_cps = 0x0236 // Address på curr prog.sætning (word adr) .u_tll = 0x0048 // Page størrelse .u_tts = 0x000e // TAP størrelse .u_ran = 0x0001 // Random tal .u_cdl = 0x0006 // Current DATA sætning ptr .u_cdb = 0x0000 // Current DATA byte ptr .u_esa = 0x0042 // ON ESE (word adr) .u_era = 0x0000 // ON ERR (word adr) .u_cas = 0xffff // CASE dybde .u_las = 0xffff // last (-1)