|
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: 4826 (0x12da) Types: COMAL_SAVE Names: »TITRC «
└─⟦3d9d2c4f1⟧ Bits:30001780 SG0000 Floppy └─⟦this⟧
SAVE filename: "TITRC" 0010 REM «so» *** T I T R E R - B *** ØH OKT.79«nul» 0015 REM IKKE TITRB MEN TITRC MED GRAFUDSKRIVNING PÅ TEKTRONIX'EN«nul» 0020 REM «nul» 0030 REM «nul» 0040 REM TITRERING AF 10 ML 0.1M SYRER/BASE MED 0.1M NAOH/HCL«nul» 0050 REM SYREN/BASEN KAN VÆRE DI - ELLER MONOVALENT (pKüü70)«nul» 0060 REM FOR BASER BEREGNES OH LIGESOM H FOR SYRER.«nul» 0070 REM DER ANVENDES NEWTON-RAPHSON ITERATION«nul»R 0080 DIM SYRE$ ( 30 ) , LL$ ( 132 ) , T$ ( 12 ) 0090 INPUT "TITRERING AF SYRER(1) ELLER BASE(2) " , TITRAND 0100 IF TITRAND <> 1 AND TITRAND <> 2 THEN GOTO 0090 0110 LET SYRE = 1 BASE = 2 0120 REPEAT 0130 IF TITRAND = SYRE THEN 0140 INPUT "SYRENS NAVN " , SYRE$ 0145 PRINT "HVIS K2=0 INDTAST DA PK2= FEKS. 20" 0150 INPUT "SYRENS PK-værdier (pK1 og pK2) " , KA1 , KA2 0160 ELSE 0170 INPUT "BASENS NAVN " , SYRE$ 0180 INPUT " BASENS pK-værdier (pKb1 og pKb2)" , KA1 , KA2 0190 ENDIF 0195 IF KA2 > 20 THEN LET KA2 = 15.7 0200 LET KA1 = 10 ^ ( - KA1 ) KA2 = 10 ^ ( - KA2 ) 0210 UNTIL KA1 > KA2 AND KA2 >= 0 0220 REM ÆKVIVALENS-PUNKTER VED 10 OG 20 ML. SLUT +5 ML.«nul» 0230 LET SLUT = 25 0240 IF KA2 = 0 THEN LET SLUT = 15 0250 LET XMIN = 0 XMAX = SLUT YMIN = 0 YMAX = 15 0255 LET YMIN = - 1 YMAX = 14 0260 REM DER TITSÆTTES EKSTRA VAND. MÆNGDE ANGIVES I M.MOL«nul» 0270 INPUT "KONDITIONELT EKSTRAVOLUMEN VX : " , VX 0280 IF VX < 0 THEN GOTO 0270 0290 LET VOL = 10 + VX A = 1 TIT = 0 VTIT = 0 0300 EXEC SLET 0305 EXEC UDSKRIFT 0310 EXEC COAKSE 0320 EXEC DEFF 0340 LET CTOT = A / VOL H = SQR ( CTOT * KA1 ) N = 0 0350 IF KA1 > 100 THEN LET H = CTOT 0360 REPEAT 0370 EXEC KOEF 0380 EXEC ITERATOR 0390 LET PH = - FNL ( H ) 0400 IF TITRAND = BASE THEN LET PH = 14 - PH 0410 LET X = VTIT Y = PH 0420 IF VTIT = 0 THEN EXEC HOP 0430 EXEC LINIE 0440 LET DV = 1 / 4 N = N + 1 0450 LET VTIT = VTIT + DV TIT = 0.1 * VTIT VOL = VOL + DV 0460 UNTIL VTIT > SLUT 0490 PROC DEFF 0500 LET KW = 1e-14 0510 DEF FNP ( VAR88 ) = [LVAR] ^ 4 + K1 * [LVAR] ^ 3 + K2 * [LVAR] ^ 2 + K3 * [LVAR] + K4 0520 DEF FND ( VAR88 ) = 4 * [LVAR] ^ 3 + 3 * K1 * [LVAR] ^ 2 + 2 * K2 * [LVAR] + K3 0530 DEF FNL ( VAR98 ) = LOG ( [LVAR] ) / LOG ( 10 ) 0540 ENDPROC 0550 PROC KOEF 0560 LET CTIT = TIT / VOL CTOT = A / VOL K1 = CTIT + KA1 0570 LET K2 = KA1 * KA2 - KA1 * CTOT + KA1 * CTIT - KW 0580 LET K3 = - 2 * KA1 * KA2 * CTOT + KA1 * KA2 * CTIT - KA1 * KW 0590 LET K4 = - KA1 * KA2 * KW 0600 ENDPROC 0610 PROC ITERATOR 0620 REPEAT 0630 IF H = 0 THEN LET H = 1e-20 0640 LET H1 = H - FNP ( H ) / FND ( H ) REL = ABS ( ( H1 - H ) / H ) H = H1 0650 UNTIL REL < 0.01 0660 ENDPROC 0670 PROC UDSKRIFT 0680 DIM TITRATOR$ ( 4 ) 0690 IF TITRAND = SYRE THEN LET TITRATOR$ = "NAOH" 0700 IF TITRAND = BASE THEN LET TITRATOR$ = "HCL" 0710 PRINT "<12><14> **TITRERING AF 10 ML 0,1M " ; SYRE$ ; " MED 0,1M " ; TITRATOR$ ; " **" 0720 PRINT 0730 PRINT " PK1 = ###.##" , - FNL ( KA1 ) 0735 IF KA2 > 10 ^ ( - 16 ) THEN PRINT " PK2 = ###.##" , - FNL ( KA2 ) 0740 PRINT " KONDITIONELT EKSTRAVOLUMEN " ; VX ; " ML" 0750 PRINT 0800 ENDPROC 9000 REM ØRSTED NOV.78 «so»GRAFKO SIDE 1«nul». 9005 REM HUSK AT SLETTE DENNE PROCEDURE INDEN SAVE'ING ELLER LIST'NING«nul»«nul» 9010 PROC COAKSE 9015 PAGE = 0 9020 ON ESC THEN EXEC UDSKIFT 9025 LET SX = 1000 / ( XMAX - XMIN ) 9030 LET SY = 800 / ( YMAX - YMIN ) 9035 LET SKIFT = 0 9040 EXEC RAMME 9045 REM YAKSE«nul» 9050 REM X«nul»K 9055 LET AKSE = 0 9060 ENDPROC 9065 PROC SLET 9070 PRINT "<27><12>" 9075 DELAY = 1 9080 LET SKIFT = 1 9085 ENDPROC 9090 PROC SKIFT 9095 IF SKIFT THEN 9100 PRINT "<29>" ; 9105 ELSE 9110 PRINT "<31>" ; 9115 ENDIF 9120 LET SKIFT = 1 - SKIFT 9125 ENDPROC 9130 PROC UDSKIFT 9135 LET SKIFT = 1 9140 ON ESC THEN EXEC UDSKIFT 9145 STOP «nul» 9150 ENDPROC 9155 PROC RAMME 9160 LET AKSE = 1 XA = 0 YA = 0 9165 EXEC HOP 9170 LET XA = 1023 9175 EXEC LINIE 9180 LET YA = 800 9185 EXEC LINIE 9190 LET XA = 0 9195 EXEC LINIE 9200 LET YA = 0 SS = 1 9205 EXEC LINIE 9210 LET YAA = 0 9215 EXEC XINDEL 9220 LET XAA = 0 9225 EXEC YINDEL 9230 ENDPROC 9235 PROC XINDEL 9240 FOR I = 2 TO SLUT STEP 2 9245 LET XA = 100 * I YA = YAA - 10 9247 LET XA = 1000 * I / SLUT 9250 EXEC HOP 9255 LET YA = YAA + 10 9260 EXEC LINIE 9265 IF SS = 0 OR I = SLUT THEN GOTO 9285 9270 EXEC SKIFT 9275 PRINT XA / SX + XMIN 9280 EXEC SKIFT 9285 NEXT 9290 ENDPROC 9295 REM ØRSTED NOV. 78 «ff» «so»GRAFPROC SIDE 2«nul» 9300 PROC YINDEL 9305 FOR I = 1 TO 14 9310 LET YA = 800 * I / 15 XA = XAA - 10 9315 EXEC HOP 9320 LET XA = XAA + 10 9325 EXEC LINIE 9330 IF SS = 0 THEN GOTO 9350 9335 EXEC SKIFT 9340 PRINT YA / SY + YMIN 9345 EXEC SKIFT 9350 NEXT 9355 ENDPROC 9360 PROC XAKSE 9365 LET AKSE = 0 SS = 0 9370 LET X = XMIN Y = 0 9375 EXEC HOP 9380 LET AKSE = 1 YAA = YA XA = 1010 9385 EXEC LINIE 9390 LET XA = 1000 YA = YAA + 10 9395 EXEC LINIE 9400 LET YA = YAA - 10 9405 EXEC LINIE 9410 LET YA = YAA XA = 1010 9415 EXEC LINIE 9420 LET YA = YAA + 10 9425 EXEC SKIFT 9430 PRINT "X" 9435 EXEC SKIFT 9440 EXEC XINDEL 9445 ENDPROC 9450 PROC YAKSE 9455 LET AKSE = 0 SS = 0 9460 LET X = 0 Y = YMIN 9465 EXEC HOP 9470 LET AKSE = 1 XAA = XA YA = 790 9475 EXEC LINIE 9480 LET YA = 780 XA = XAA - 10 9485 EXEC LINIE 9490 LET XA = XAA + 10 9495 EXEC LINIE 9500 LET XA = XAA YA = 790 9505 EXEC LINIE 9510 LET XA = XAA + 15 9515 EXEC HOP 9520 EXEC SKIFT 9525 PRINT "Y" 9530 EXEC SKIFT 9535 EXEC YINDEL 9540 ENDPROC 9545 PROC LINIE 9550 IF SKIFT THEN EXEC SKIFT 9555 EXEC TEGN 9560 ENDPROC 9565 PROC HOP 9570 IF SKIFT THEN EXEC SKIFT 9575 PRINT "<29>" ; 9580 EXEC TEGN 9585 ENDPROC 9590 PROC TEGN 9595 IF AKSE = 0 THEN 9600 LET XA = SX * ( X - XMIN ) YA = SY * ( Y - YMIN ) 9605 ENDIF 9610 IF XA < 0 THEN LET XA = 0 9615 IF XA > 1023 THEN LET XA = 1023 9620 IF YA < 0 THEN LET YA = 0 9625 IF YA > 800 THEN LET YA = 800 9630 LET YH = YA DIV 32 + 32 YL = YA MOD 32 + 96 9635 LET XH = XA DIV 32 + 32 XL = XA MOD 32 + 64 9640 PRINT CHR ( YH ) ; CHR ( YL ) ; 9645 PRINT CHR ( XH ) ; CHR ( XL ) ; 9650 ENDPROC
FNA definition = 0xffff FNB definition = 0xffff FNC definition = 0xffff FND definition = 0x02d1 FNE definition = 0xffff FNF definition = 0xffff FNG definition = 0xffff FNH definition = 0xffff FNI definition = 0xffff FNJ definition = 0xffff FNK definition = 0xffff FNL definition = 0x02ea FNM definition = 0xffff FNN definition = 0xffff FNO definition = 0xffff FNP definition = 0x02bc 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 = 0x0005 stack[0] = 0x0251 stack[1] = 0x0433 stack[2] = 0x04d6 stack[3] = 0x051f stack[4] = 0x047c stack[5] = 0x0663 stack[6] = 0x0507 FOR-NEXT stack pointer = 0x0000 Var# = 0x0108 Loop Top = 0x0301 To Val = 2.50546e-76 (0x021d02e0) 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 = 0x0000 To Val = 0 (0x00000000) Step Val = 3.08853e-84 (0x00000006) Var# = 0x00be Loop Top = 0x04e4 To Val = 25 (0x42190000) Step Val = 2 (0x41200000) 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 0x02 SYRE$ 0x82 0x0012 0x02 LL$ 0x83 0x0057 0x02 T$ 0x84 0x0060 0x00 TITRAND 0x85 0x0062 0x00 SYRE 0x86 0x0064 0x00 BASE 0x87 0xffff 0x00 TYPE 0x88 0x0066 0x00 KA1 0x89 0x0068 0x00 KA2 0x8a 0x006a 0x00 SLUT 0x8b 0x0074 0x00 VX 0x8c 0x0076 0x00 VOL 0x8d 0x0078 0x00 A 0x8e 0x007a 0x00 TIT 0x8f 0x007c 0x00 VTIT 0x90 0xffff 0x00 DEFF 0x91 0xffff 0x00 UDSKRIFT 0x92 0xffff 0x00 CTOT 0x93 0xffff 0x00 H 0x94 0xffff 0x00 N 0x95 0xffff 0x00 KOEF 0x96 0xffff 0x00 ITERATOR 0x97 0xffff 0x00 PH 0x98 0xffff 0x00 DV 0x99 0xffff 0x02 P$ 0x9a 0xffff 0x00 KW 0x9b 0xffff 0x00 K1 0x9c 0xffff 0x00 K2 0x9d 0xffff 0x00 K3 0x9e 0xffff 0x00 K4 0x9f 0xffff 0x00 CTIT 0xa0 0xffff 0x00 H1 0xa1 0xffff 0x00 REL 0xa2 0x0080 0x02 TITRATOR$ 0xa3 0xffff 0x02 L$ 0xa4 0xffff 0x00 M 0xa5 0xffff 0x00 X 0xa6 0xffff 0x00 Y 0xa7 0xffff 0x00 HOP 0xa8 0xffff 0x00 LINIE 0xa9 0x006c 0x00 XMIN 0xaa 0x006e 0x00 XMAX 0xab 0x0070 0x00 YMIN 0xac 0x0072 0x00 YMAX 0xad 0xffff 0x00 SLET 0xae 0xffff 0x00 COAKSE 0xaf 0xffff 0x00 UDSKIFT 0xb0 0x0085 0x00 SX 0xb1 0x0087 0x00 SY 0xb2 0x007e 0x00 SKIFT 0xb3 0xffff 0x00 RAMME 0xb4 0xffff 0x00 YAKSE 0xb5 0xffff 0x00 XAKSE 0xb6 0x0089 0x00 AKSE 0xb7 0x008b 0x00 XA 0xb8 0x008d 0x00 YA 0xb9 0x0097 0x00 SS 0xba 0x0099 0x00 YAA 0xbb 0xffff 0x00 XINDEL 0xbc 0xffff 0x00 XAA 0xbd 0xffff 0x00 YINDEL 0xbe 0x009b 0x00 I 0xbf 0xffff 0x00 TEGN 0xc0 0x008f 0x00 YH 0xc1 0x0091 0x00 YL 0xc2 0x0093 0x00 XH 0xc3 0x0095 0x00 XL 0xc4 0xffff 0x00 RUN20 0xc5 0xffff 0x00 LIST9300 0xc6 0xffff 0x00 O 0xc7 0xffff 0x00 YM 0xc8 0xffff 0x00 LIST300 0xc9 0xffff 0x00 XXT
.magic = 0x4e32 .u_pas = 0x06e3 // Length of UPAS in words .u_das = 0x0277 // Length of UDAS in words .u_dvs = 0x01da // Start på savede variabel indhold (word adr) .u_nds = 0x0489 // Address på næste prog.sætning (word adr) .u_cps = 0x0482 // Address på curr prog.sætning (word adr) .u_tll = 0x0000 // 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)