|
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)