|
|
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: 3584 (0xe00)
Types: COMAL_SAVE
Names: »LINIE«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/JT1U.LINIE«
SAVE filename: "LINIE"
0010 OPEN FILE ( 0 , 11 ) "$LPT"
0020 PRINT "DETTE PROGRAM BEREGNER LIGNINGEN FOR DEN BEDSTE RETTE LINJE, OG"
0030 PRINT "UDSKRIVER DEREFTER ET BILAG, VELEGNET TIL FYSIKRAPPORTER O.L.<10>"
0040 PRINT "HVIS DU UNDER INDTASTNINGEN HAR LAVET EN FEJL, OG HAR TRYKKET "
0050 PRINT "PAA <34>RETURN<34>, TRYK DA <34>ESC<34> OG DU KAN INDTASTE DET RIGTIGE"
0060 PRINT "TALSAET.<10>"
0070 INPUT "ANTAL PUNKTER ? " , N
0080 INPUT "HVOR MANGE DECIMALER SKAL UDSKRIVES PAA X ? " , DECX
0090 INPUT "HVOR MANGE DECIMALER SKAL UDSKRIVES PAA Y ? " , DECY
0100 DIM X ( N ) , Y ( N ) , FORMAT$ ( 4 , 14 ) , NR$ ( 5 )
0110 INPUT "FYSIKQVELSE NR. ? " , NR$
0120 LET XX = 0 YY = 0 E = 0 G = 0 LIN = ( 38 - N ) DIV 2 YMAX = 0 FORMAT$ ( 4 ) = "-######.######"
0130 LET GDEC = ( DECX + DECY ) DIV 2 GDEC = 8 + GDEC - ( GDEC = 0 ) DECX = 8 + DECX - ( DECX = 0 ) DECY = 8 + DECY - ( DECY = 0 )
0140 IF GDEC < 14 THEN LET GDEC = GDEC + 1
0150 LET FORMAT$ ( 1 ) = FORMAT$ ( 4 , 1 , DECX ) FORMAT$ ( 2 ) = FORMAT$ ( 4 , 1 , DECY ) FORMAT$ ( 3 ) = FORMAT$ ( 4 , 1 , GDEC )
0160 PRINT "SKRIV PUNKTERNES KOORDINATER (X,Y)"
0170 ON ESC THEN EXEC ERASE
0180 FOR I = 1 TO N
0190 INPUT "(X,Y)= " , X ( I ) , Y ( I )
0200 LET XX = XX + X ( I ) YY = YY + Y ( I ) E = E + X ( I ) ^ 2 G = G + X ( I ) * Y ( I )
0210 NEXT
0220 LET A = ( N * G - XX * YY ) / ( N * E - XX ^ 2 ) B = ( YY - A * XX ) / N MAX = X ( N ) MIN = X ( 1 )
0260 PRINT FILE ( 0 ) "BILAG TIL FYSIKQVELSE NR. " ; NR$
0270 PRINT "<10><10>"
0300 PRINT FILE ( 0 ) "<10>KOORDINATERNE UDFRA HVILKE LIGNINGEN ER BEREGNET:<10><10>"
0310 FOR LF = 1 TO N
0320 LET YV = ABS ( ( A * X ( LF ) + B ) - ( Y ( LF ) ) )
0330 IF YV > YMAX THEN LET YMAX = YV
0340 IF X ( LF ) > MAX THEN LET MAX = X ( LF )
0350 IF X ( LF ) < MIN THEN LET MIN = X ( LF )
0360 PRINT FILE ( 0 ) FORMAT$ ( 1 ) , X ( LF ) ;
0370 PRINT FILE ( 0 ) FORMAT$ ( 2 ) , Y ( LF )
0380 NEXT
0390 LET K = ABS ( YMAX / ( ( MAX - MIN ) * SQR ( N / 3 ) ) )
0400 PRINT FILE ( 0 ) "<10><10>******************************<10><10>"
0440 PRINT FILE ( 0 ) "LIGNINGEN FOR DEN BEDSTE RETTE LINIE: " ;
0450 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A ; "X" ;
0460 LET FORMAT$ ( 3 , 1 ) = "+"
0470 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , B
0480 LET FORMAT$ ( 3 , 1 ) = "-"
0490 PRINT FILE ( 0 ) "HAELDNINGSKOEFFICIENT: " ;
0500 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A
0510 PRINT FILE ( 0 ) "SKAERING MED X-AKSEN: (" ;
0520 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , - B / A ; ",0)"
0530 PRINT FILE ( 0 ) "SKAERING MED Y-AKSEN: (0," ;
0540 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , B ; ")"
0550 PRINT FILE ( 0 ) "<10>ABSOLUT USIKKERHED PAA @: " ;
0560 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , K
0570 PRINT FILE ( 0 ) "RELATIV USIKKERHED PAA @: ####.#%" , ABS ( K / A * 100 )
0580 PRINT FILE ( 0 ) "<10><10>******************************<10><10>"
0630 ON ESC THEN GOTO 0715
0640 INPUT "QNSKES FUNKTIONSVAERDIER ? " , NR$
0650 IF NR$ <> "JA" THEN GOTO 0715
0660 PRINT "TRYK <34>ESCAPE<34> NAAR DU HAR VAERDIER NOK!"
0670 REPEAT
0680 INPUT "X= " , XX
0690 PRINT FILE ( 0 ) "X= -####.## Y= " , XX ;
0700 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A * XX + B
0710 UNTIL 0
0711 DIM B$ ( 5 )
0712 INPUT "ØNSKES GRAF : " , B$
0713 IF B$ = "JA" THEN CHAIN "JT08"
0715 CLOSE
0720 END (* ---------- *)«nul»
0730 PROC ERASE
0740 LET I = I - 1 XX = XX - X ( I ) YY = YY - Y ( I ) E = E - X ( I ) ^ 2 G = G - X ( I ) * Y ( I )
0750 PRINT
0760 INPUT "(X,Y) " , X ( I ) , Y ( I )
0770 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 = 0x0000
stack[0] = 0x0000
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
Var# = 0x0412
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 = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0095
Loop Top = 0x0269
To Val = 2 (0x41200000)
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 0x00 DECX
0x83 0x0004 0x00 DECY
0x84 0x0006 0x01 X
0x85 0x000f 0x01 Y
0x86 0x0018 0x03 FORMAT$
0x87 0x0043 0x02 NR$
0x88 0x0049 0x00 XX
0x89 0x004b 0x00 YY
0x8a 0x004d 0x00 E
0x8b 0x004f 0x00 G
0x8c 0x0051 0x00 LIN
0x8d 0x0053 0x00 YMAX
0x8e 0x0055 0x00 GDEC
0x8f 0xffff 0x00 ERASE
0x90 0x0057 0x00 I
0x91 0x0059 0x00 A
0x92 0x005b 0x00 B
0x93 0x005d 0x00 MAX
0x94 0x005f 0x00 MIN
0x95 0x0061 0x00 LF
0x96 0x0063 0x00 YV
0x97 0x0065 0x00 K
0x98 0xffff 0x00 R40A3
0x99 0xffff 0x00 ZXCV
0x9a 0xffff 0x02 B$
.magic = 0x4e32 .u_pas = 0x049e // Length of UPAS in words .u_das = 0x0156 // Length of UDAS in words .u_dvs = 0x00ef // Start på savede variabel indhold (word adr) .u_nds = 0x0469 // Address på næste prog.sætning (word adr) .u_cps = 0x045e // 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 = 0x03db // CASE dybde .u_las = 0xffff // last (-1)