|
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 - download
Length: 4608 (0x1200) Types: COMAL_SAVE Names: »NDIF2«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files └─⟦this⟧
SAVE filename: "NDIF2" 0010 DIM Q$ ( 150 ) 0020 PRINT "<27><12>" 0030 DELAY = 1 0040 PRINT 0050 PRINT 0060 PRINT " *** NUMERISK L0SNING AF N 2-ORDENS DIFFERENTIALLIGNINGER ***" 0070 PRINT 0080 PRINT 0090 PRINT " DIFFERENTIALLIGNINGERNE (H0JST 9) SKAL ANF0RES PAA FORMEN" 0100 PRINT 0110 PRINT " D2X(I)= FUNKTION AF X(1),...,X(N),DX(1),...,DX(N),T" 0120 PRINT 0130 PRINT "HVOR H0JRESIDEN DEFINERES AF BRUGEREN. X(I), DX(I), D2X(I) OG T" 0140 PRINT "(I=1,...,N) BETEGNER DE S0GTE FUNKTIONER, DERES TO AFLEDEDE OG" 0150 PRINT "DEN UAFHAENGIGE VARIABEL (TIDEN?)." 0160 PRINT " DET ER ENDVIDERE MULIGT AT DEFINERE OP TIL 5 HJAELPEFUNKTIONER" 0170 PRINT "H(1),...,H(M). DISSE KAN VAERE KONSTANTER ELLER KOMBINATIONER AF" 0180 PRINT "X(I),DX(I) OG T, OG DE KAN BENYTTES I DIFFERENTIALLIGNINGERNES" 0190 PRINT "H0JRESIDER." 0200 PRINT 0210 PRINT 0220 PRINT " EKSEMPEL (KEPLERBEVAEGELSE):" 0230 PRINT 0240 PRINT " H(1)= SQR(X(1)^2+X(2)^2)" 0250 PRINT 0260 PRINT " D2X(1)= -X(1)/H(1)^3" 0270 PRINT " D2X(2)= -X(2)/H(1)^3" 0280 PRINT 0290 INPUT " NAAR DU ER PARAT, TAST RETURN." , Q$ 0300 PRINT "<27><12>" 0310 DELAY = 1 0320 DIM G$ ( 10 ) 0330 DIM Q$ ( 150 ) 0340 PRINT 0350 PRINT "F0LGENDE LIGNINGER LIGGER I 0JEBLIKKET I PROGRAMMET:" 0360 PRINT 0370 LET AFBRYD = 0 0380 ON ESC THEN EXEC OUTESC 0390 OPEN FILE ( 0 , 1 ) "DIM2" 0400 READ FILE ( 0 ) N , M 0410 CLOSE FILE ( 0 ) 0420 OPEN FILE ( 1 , 1 ) "PRNT2" 0430 FOR I = 1 TO M + N 0440 READ FILE ( 1 ) Q$ 0450 IF I <= M THEN PRINT "H(" ; I ; ")=" ; Q$ 0460 IF I = M THEN PRINT 0470 IF I > M THEN PRINT "D2X(" ; I - M ; ")=" ; Q$ 0480 NEXT 0490 CLOSE FILE ( 1 ) 0500 LET AFBRYD = 1 0510 PRINT 0520 EXEC FILWORK 0530 PRINT "HVIS DU 0NSKER AT BENYTTE DISSE LIGNINGER (EVT. MED RETTELSER)" 0540 PRINT "INDTAST 0. ELLERS ET VILKAARLIGT ANDET TAL." 0550 INPUT Q 0560 IF Q THEN 0570 INPUT "ANTAL LIGNINGER " , N 0580 DIM F$ ( N , 150 ) 0590 PRINT "INDTAST ANTALLET AF HJAELPEFUNKTIONER (0,1,...,5)" 0600 INPUT M 0610 LET M = INT ( M ) 0620 IF ( M < 0 ) + ( M > 5 ) THEN GOTO 0600 0630 IF M THEN EXEC HJLP 0640 EXEC IND 0650 PRINT "HVIS DU 0NSKER AT RETTE I LIGNING(ERNE), INDTAST 0. ELLERS ET" 0660 PRINT "ANDET TAL" 0670 INPUT R 0680 IF R = 0 THEN EXEC RET 0690 EXEC GEM 0700 ELSE 0710 PRINT "HVIS DU 0NSKER AT BENYTTE GAMLE BEREGNINGSDATA, INDTAST 0. ELLERS ET" 0720 PRINT "VILKAARLIGT ANDET TAL." 0730 INPUT Q 0740 IF Q THEN 0750 PRINT "HVIS DU 0NSKER AT RETTE I LIGNING(ERNE), INDTAST 0. ELLERS ET" 0760 PRINT "ANDET TAL." 0770 INPUT R 0780 IF R THEN GOTO 0850 0790 DIM F$ ( N , 150 ) 0800 DIM K$ ( M + ( M = 0 ) , 150 ) 0810 LET AFBRYD = 0 0820 EXEC PRNT 0830 EXEC RET 0840 EXEC GEM 0850 ENDIF 0860 ENDIF 0870 IF Q THEN CHAIN "INT2" 0880 PRINT 0890 PRINT "0NSKER DU RESULTATERNE UNDERS0GT GRAFISK, INDTAST 1." 0900 PRINT "0NSKER DU TABEL, INDTAST 2." 0910 INPUT Q 0920 IF Q = 1 THEN CHAIN "NGRF2" 0930 IF Q = 2 THEN CHAIN "NTAB2" 0940 END «nul» 0950 PROC FILWORK 0960 DATA "810" , "1" , "820" , "2" , "830" , "3" , "840" , "4" , "850" , "5" 0970 DATA "860" , "1" , "870" , "2" , "880" , "3" , "890" , "4" , "900" , "5" 0980 DATA "910" , "6" , "920" , "7" , "930" , "8" , "940" , "9" 0990 DIM LNUM$ ( 3 ) , I$ ( 2 ) 1000 ENDPROC 1010 PROC HJLP 1020 PRINT "<27><12>" 1030 DELAY = 1 1040 DIM K$ ( M , 150 ) 1050 FOR I = 1 TO M 1060 PRINT "H(" ; I ; ")=" ; 1070 INPUT K$ ( I ) 1080 NEXT 1090 ENDPROC 1100 PROC IND 1110 PRINT "<27><12>" 1120 DELAY = 1 1130 FOR I = 1 TO N 1140 PRINT "D2X(" ; I ; ")=" ; 1150 INPUT F$ ( I ) 1160 NEXT 1170 ENDPROC 1180 PROC PRNT 1190 OPEN FILE ( 1 , 1 ) "PRNT2" 1200 FOR I = 1 TO M 1210 READ FILE ( 1 ) K$ ( I ) 1220 NEXT 1230 FOR I = 1 TO N 1240 READ FILE ( 1 ) F$ ( I ) 1250 NEXT 1260 CLOSE FILE ( 1 ) 1270 ENDPROC 1280 PROC RET 1290 INPUT "I HVILKET UDTRYK (H(I), D2X(I)) 0NSKES RETTET? " , Q$ 1300 RESTORE 0000 1310 FOR I = 1 TO M 1320 READ LNUM$ , I$ 1330 LET G$ = "H(" , I$ , ")" 1340 IF Q$ = G$ THEN 1350 PRINT "H(" ; I$ ; ")=" ; 1360 INPUT K$ ( I ) 1370 ENDIF 1380 NEXT 1390 FOR I = M + 1 TO 5 1400 READ LNUM$ , I$ 1410 NEXT 1420 FOR I = 1 TO N 1430 READ LNUM$ , I$ 1440 LET G$ = "D2X(" , I$ , ")" 1450 IF Q$ = G$ THEN 1460 PRINT "D2X(" ; I$ ; ")=" ; 1470 INPUT F$ ( I ) 1480 ENDIF 1490 NEXT 1500 PRINT "HVIS DU 0NSKER AT RETTE MERE, INDTAST 0. ELLERS ET ANDET" 1510 INPUT "TAL. " , R 1520 IF R = 0 THEN GOTO 1290 1530 ENDPROC 1540 PROC GEM 1550 PRINT "DU KAN STADIG NAA AT FORTRYDE RETTELSERNE VED AT TRYKKE" 1560 INPUT "ESCAPE. ELLERS RETURN." , Q$ 1570 LET AFBRYD = 0 1580 OPEN FILE ( 0 , 3 ) "DIM2" 1590 WRITE FILE ( 0 ) N , M 1600 CLOSE FILE ( 0 ) 1610 RESTORE 0000 1620 OPEN FILE ( 0 , 3 ) "LGNN2" 1630 OPEN FILE ( 1 , 3 ) "PRNT2" 1640 FOR I = 1 TO M 1650 READ LNUM$ , I$ 1660 WRITE FILE ( 0 ) LNUM$ , "LET H(" , I$ , ")=" , K$ ( I ) , "<13><10>" 1670 WRITE FILE ( 1 ) K$ ( I ) 1680 NEXT 1690 FOR I = M + 1 TO 5 1700 READ LNUM$ , I$ 1710 NEXT 1720 FOR I = 1 TO N 1730 READ LNUM$ , I$ 1740 WRITE FILE ( 0 ) LNUM$ , "LET D2X(" , I$ , ")=" , F$ ( I ) , "<13><10>" 1750 WRITE FILE ( 1 ) F$ ( I ) 1760 NEXT 1770 CLOSE FILE ( 0 ) 1780 CLOSE FILE ( 1 ) 1790 ENDPROC 1800 PROC OUTESC 1810 ON ESC THEN EXEC OUTESC 1820 IF AFBRYD THEN 1830 PRINT "PROGRAMMET AFBRUDT. DE GAMLE LIGNINGER OG DATA ER BEVARET." 1840 END «nul»: 1850 ENDIF 1860 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# = 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# = 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# = 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 0x0000 0x00 0x81 0xffff 0x02 G$ 0x82 0xffff 0x02 Q$ 0x83 0xffff 0x00 N 0x84 0xffff 0x00 M 0x85 0xffff 0x00 I 0x86 0xffff 0x00 FILWORK 0x87 0xffff 0x00 Q 0x88 0xffff 0x02 F$ 0x89 0xffff 0x00 HJLP 0x8a 0xffff 0x00 IN2 0x8b 0xffff 0x00 RETL 0x8c 0xffff 0x00 GEML 0x8d 0xffff 0x00 R 0x8e 0xffff 0x02 K$ 0x8f 0xffff 0x00 PRNT 0x90 0xffff 0x02 LNUM$ 0x91 0xffff 0x02 I$ 0x92 0xffff 0x00 IND 0x93 0xffff 0x00 RET 0x94 0xffff 0x00 GEM 0x95 0xffff 0x00 OUTESC 0x96 0xffff 0x00 WXEC 0x97 0xffff 0x00 AFBRYD 0x98 0xffff 0x00 LIAT
.magic = 0x4e32 .u_pas = 0x0745 // Length of UPAS in words .u_das = 0x00e5 // Length of UDAS in words .u_dvs = 0x00e5 // Start på savede variabel indhold (word adr) .u_nds = 0x0000 // Address på næste prog.sætning (word adr) .u_cps = 0x0000 // 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)