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