|
|
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: 4608 (0x1200)
Types: COMAL_SAVE
Names: »HJB01«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/HJB01«
SAVE filename: "HJB01" 0010 REM *** HENRIK BRUHN 2.Y DEN 30-4-82 ***«nul»B 0020 PRINT 0030 PRINT "<14><28>" ; " FUNKTIONSUNDERSØGELSE" 0040 PRINT 0050 PRINT "FUNKTIONEN ER DEFINERET I LINIE 100.ØNSKES" 0060 PRINT "UNDERSØGELSE AF NY FKT AENDRES DENNE DEF." 0070 PRINT "PROGRAMMET KØRES VIDERE VED AT TASTE ''CON''" 0080 PRINT "(KAN KUN UNDERSØGE FKT I MONOTONE INTERVALLER)" 0090 STOP «nul» 0100 DEF FNA ( VAR98 ) = 2 * ( [LVAR] ^ 2 ) - 2 0110 PRINT 0120 DIM F$ ( 40 ) 0130 INPUT "INDTAST FUNKTIONSFORSKRIFTEN EN GANG TIL : " , F$ 0140 PRINT 0150 PRINT 0160 PRINT 0170 PRINT "<14>" ; "*** GRAF ***" 0180 PRINT 0190 INPUT "INDTAST STEPVÆRDI FOR GRAF : " , HOP 0200 INPUT "INDTAST ENDEPUNKTERNE : " , VEN , H\J 0210 PRINT 0220 PRINT 0230 PRINT " F(X) = " ; F$ 0240 FOR TAEL = VEN TO H\J STEP HOP 0250 LET ML = INT ( FNA ( TAEL ) ) 0260 IF TAEL = - HOP THEN 0270 IF ML < 0 THEN PRINT TAB ( 30 + ML ) ; "*" ; TAB ( 30 ) ; "I" ; TAB ( 39 ) ; "10" 0280 IF ML > 0 THEN PRINT TAB ( 18 ) ; "-10" ; TAB ( 30 ) ; "I" ; TAB ( 30 + ML ) ; "*" 0290 IF ML = 0 THEN PRINT TAB ( 18 ) ; "-10" ; TAB ( 30 ) ; "*" ; TAB ( 39 ) ; "10" 0300 ELSE 0310 IF TAEL > ( - 0.5 * HOP ) AND TAEL < 0.5 * HOP THEN 0320 PRINT "-------------------+---------+---------+--------------------> Y" 0330 ELSE 0340 IF ML <= 40 AND ML > 0 THEN 0350 IF TAEL = 1 THEN PRINT TAB ( 28 ) ; "1 +" ; TAB ( 30 + ML ) ; "*" 0360 IF TAEL = 10 THEN PRINT TAB ( 27 ) ; "10 +" ; TAB ( 30 + ML ) ; "*" 0370 IF TAEL <> 1 AND TAEL <> 10 THEN PRINT TAB ( 30 ) ; "I" ; TAB ( 30 + ML ) ; "*" 0380 ELSE 0390 ENDIF 0400 IF ML >= - 30 AND ML < 0 THEN 0410 IF TAEL = 1 THEN PRINT TAB ( 30 + ML ) ; "*" ; TAB ( 28 ) ; "1 +" 0420 IF TAEL = 10 THEN PRINT TAB ( 30 + ML ) ; "*" ; TAB ( 27 ) ; "10 +" 0430 IF TAEL <> 1 AND TAEL <> 10 THEN PRINT TAB ( 30 + ML ) ; "*" ; TAB ( 30 ) ; "I" 0440 ELSE 0450 ENDIF 0460 IF ML = 0 THEN PRINT TAB ( 30 + ML ) ; "*" 0470 ENDIF 0480 ENDIF 0490 NEXT 0500 PRINT TAB ( 30 ) ; "V X" 0510 PRINT 0520 PRINT 0530 PRINT 0540 PRINT "<14>" ; "*** NULPUNKTER ***" 0550 PRINT 0560 LET FEJL = 0 0570 INPUT "INDTAST ØNSKEDE USIKKERHED" , E1 0580 INPUT "INDTAST INTERVALGRAENSER : " , VE , HE 0590 LET V = VE H = HE 0600 LET FV = FNA ( V ) FH = FNA ( H ) T = 0 0610 LET FVE = FV FHE = FH 0620 IF FV * FH <= 0 THEN 0630 REPEAT 0640 LET T = T + 1 0650 LET M = ( V + H ) / 2 0660 LET FM = FNA ( M ) 0670 IF FM * FV <= 0 THEN 0680 LET H = M FH = FM 0690 ELSE 0700 LET V = M FV = FM 0710 ENDIF 0720 UNTIL H - V < 2 * E1 0730 PRINT 0740 LET R = ( V + H ) / 2 0750 PRINT "ROD = " ; R 0760 ELSE 0770 PRINT 0780 PRINT "FUNKTIONEN HAR IKKE NULPUNKTER" 0790 PRINT "ELLER ER IKKE MONOTON I INTERVALLET" 0800 LET FEJL = 2 0810 ENDIF 0820 IF FEJL <> 2 THEN 0830 LET A1 = 1 0840 REPEAT 0850 LET DRH = ( FNA ( R + A1 ) - FNA ( R ) ) / A1 0860 LET DRV = ( FNA ( R - A1 ) - FNA ( R ) ) / ( - A1 ) 0870 LET A1 = A1 / 2 0880 UNTIL ABS ( DRH - DRV ) <= E1 0890 LET DR = ( DRH + DRV ) / 2 0900 ELSE 0910 ENDIF 0920 PRINT 0930 PRINT 0940 PRINT "<14>" ; "*** MONOTONIFORHOLD ***" 0950 PRINT 0960 LET H = HE V = VE 0970 LET T1 = 1 0980 REPEAT 0990 LET FHH = ( FNA ( H + T1 ) - FNA ( H ) ) / T1 1000 LET FHV = ( FNA ( H - T1 ) - FNA ( H ) ) / ( - T1 ) 1010 LET T1 = T1 / 2 1020 UNTIL ABS ( FHH - FHV ) <= E1 1030 LET FH = ( FHH + FHV ) / 2 1040 LET T2 = 1 1050 REPEAT 1060 LET FVH = ( FNA ( V + T2 ) - FNA ( V ) ) / T2 1070 LET FVV = ( FNA ( V - T2 ) - FNA ( V ) ) / ( - T2 ) 1080 LET T2 = T2 / 2 1090 UNTIL ABS ( FVH - FVV ) <= E1 1100 LET FV = ( FVH + FVV ) / 2 1110 LET N = 0 1120 LET DHE = FH DVE = FV 1130 LET DV = FV DH = FH 1140 IF FV * FH <= 0 THEN 1150 REPEAT 1160 LET N = N + 1 1170 LET M = ( V + H ) / 2 1180 LET A2 = 1 1190 REPEAT 1200 LET MH = ( FNA ( M + A2 ) - FNA ( M ) ) / A2 1210 LET MV = ( FNA ( M - A2 ) - FNA ( M ) ) / ( - A2 ) 1220 LET A2 = A2 / 2 1230 UNTIL ABS ( MH - MV ) <= E1 1240 LET FM = ( MH + MV ) / 2 1250 IF FM * FV <= 0 THEN 1260 LET H = M FH = FM 1270 ELSE 1280 LET V = M FV = FM 1290 ENDIF 1300 UNTIL H - V < 2 * E1 1310 LET D = ( V + H ) / 2 1320 PRINT "VENDEPKT.= " ; D 1330 ELSE 1340 LET FEJL = FEJL + 1 1350 PRINT "FUNKTIONEN HAR IKKE VENDEPUNKTER" 1360 PRINT "ELLER ER IKKE MONOTON I INTERVALLET" 1370 ENDIF 1380 PRINT 1390 PRINT 1400 PRINT " X " , " F'(X) " , " F(X)" 1410 PRINT "----------------------------------------" 1420 PRINT VE , DVE , FVE 1430 IF FEJL = 0 THEN 1440 IF D <> R THEN 1450 IF D < R THEN 1460 PRINT D , " 0" , FNA ( D ) 1470 PRINT R , DR , " 0" 1480 ELSE 1490 PRINT R , DR , " 0" 1500 PRINT D , " 0" , FNA ( D ) 1510 ENDIF 1520 ELSE 1530 PRINT R , " 0" , " 0" 1540 ENDIF 1550 ELSE 1560 IF FEJL = 1 THEN PRINT R , DR , " 0" 1570 IF FEJL = 2 THEN PRINT D , " 0" , FNA ( D ) 1580 ENDIF 1590 PRINT HE , DHE , FHE
FNA definition = 0x00dc
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# = 0x04b4
Loop Top = 0x04d0
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 = 5.14756e-85 (0x00000001)
Step Val = 3.3735e-80 (0x00010000)
Var# = 0x0090
Loop Top = 0x0160
To Val = 5 (0x41500000)
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 0xffff 0x00 A
0x82 0x0051 0x00 N
0x83 0x0037 0x00 M
0x84 0x0029 0x00 V
0x85 0x002b 0x00 H
0x86 0x0025 0x00 VE
0x87 0x0027 0x00 HE
0x88 0xffff 0x00 E
0x89 0x002d 0x00 FV
0x8a 0x002f 0x00 FH
0x8b 0x0039 0x00 FM
0x8c 0x003b 0x00 R
0x8d 0x0023 0x00 E1
0x8e 0x0061 0x00 D
0x8f 0x0017 0x00 HOP
0x90 0x001d 0x00 TAEL
0x91 0x001f 0x00 ML
0x92 0xffff 0x00 LIST100
0x93 0x0019 0x00 VEN
0x94 0x001b 0x00 H\J
0x95 0x0031 0x00 T
0x96 0xffff 0x00 ROD
0x97 0x0021 0x00 FEJL
0x98 0xffff 0x00 X
0x99 0xffff 0x00 F
0x9a 0x0000 0x02 F$
0x9b 0xffff 0x00 LLIST
0x9c 0xffff 0x00 FIND
0x9d 0xffff 0x00 AUT0
0x9e 0x0045 0x00 T1
0x9f 0x0047 0x00 FHH
0xa0 0xffff 0x00 TI
0xa1 0x0049 0x00 FHV
0xa2 0x004b 0x00 T2
0xa3 0x004d 0x00 FVH
0xa4 0x004f 0x00 FVV
0xa5 0x0033 0x00 FVE
0xa6 0x0035 0x00 FHE
0xa7 0x0053 0x00 DHE
0xa8 0x0055 0x00 DVE
0xa9 0x0043 0x00 DR
0xaa 0x003d 0x00 A1
0xab 0x003f 0x00 DRH
0xac 0x0041 0x00 DRV
0xad 0xffff 0x00 CUNL
0xae 0xffff 0x00 RYNL
0xaf 0x005b 0x00 A2
0xb0 0x005d 0x00 MH
0xb1 0x005f 0x00 MV
0xb2 0xffff 0x00 UYT
0xb3 0xffff 0x00 LISBETH
0xb4 0xffff 0x00 IYYBBZ
0xb5 0xffff 0x00 RN
0xb6 0xffff 0x00 U
0xb7 0xffff 0x00 RU
0xb8 0xffff 0x00 HEJ
0xb9 0x0057 0x00 DV
0xba 0x0059 0x00 DH
.magic = 0x4e32 .u_pas = 0x0608 // Length of UPAS in words .u_das = 0x01f2 // Length of UDAS in words .u_dvs = 0x018f // Start på savede variabel indhold (word adr) .u_nds = 0x0608 // Address på næste prog.sætning (word adr) .u_cps = 0x0603 // 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)