|
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: 8704 (0x2200) Types: TextFile Names: »B27«
└─⟦6dbcc9c03⟧ Bits:30000463 DOMUS disk image └─⟦this⟧ »/B27«
0010 REM KOSTBEREGNING AF JENS DØSSING OG PETER B YDE 0020 REM VERSION FRA 26/5/78 0030 REM RC 701 VERSION AF F G KNUDSEN, RISMØLLESKOLEN 0040 REM FEBRUAR 80. 0050 REM MINDRE MODIFIKATIONEN VED ERLING SCHMIDT 0055 ON ESC CHAIN "MENU" 0060 DIM BUFFER$(128),BILLED$(7),SVAR$(1) 0070 DIM STIP$(75),LINIE$(75) 0080 D=15; MR=5; MI=6; L=18 0090 STIP$="..................:......:......:......:......:" 0100 STIP$=STIP$+"......:......:......:......:" 0110 LINIE$="--------------------------------------" 0120 LINIE$=LINIE$+"-------------------------------------" 0130 DIM RNAVN$(MR,L),X$(L),SUM(6,D),V(D) 0140 DIM VARE(MR,MI),MÆNGDE(MR,MI),SUMMÆNG(MR) 0150 DIM INGR(MI),GEM(MR*MI,D) 0160 DIM VNAVN$(MI*MR,L) 0170 OPEN "DATKOST",IND,BUFFER$,20 0180 EXEC TALIND 0190 EXEC FILFIND 0200 EXEC UDSKRIFT 0210 EXEC VURDER 0220 END KOSTBEREGNING 0230 REM //----------// 0240 PROC TALIND 0250 PRINT CHR(12) 0260 REPEAT 0270 INPUT " ANTAL RETTER : ",RET 0280 IF RET>MR THEN 0290 PRINT "DER MÅ HØJST ANGIVES"; MR; "RETTER." 0300 ENDIF 0310 PRINT 0320 UNTIL RET<=MR 0330 FOR T=1 TO RET 0340 PRINT 0350 PRINT " HVAD HEDDER RET NR.:"; T; 0360 INPUT RNAVN$(T) 0370 REPEAT 0380 INPUT " HVOR MANGE INGREDIENSER ER DER I RETTEN: ",INGR(T) 0390 IF INGR(T)>MI THEN 0400 PRINT "DER MÅ HØJST VÆRE"; MI; "INGREDIENSER." 0410 ENDIF 0420 PRINT 0430 UNTIL INGR(T)<=MI 0440 IF T=1 THEN 0450 PRINT " NU SKAL DU ANGIVE FØDEVARENUMMER IFØLGE FØDEVARE-" 0460 PRINT " LISTEN SAMT DEN ANVENDTE MÆNGDE AF HVER VARE." 0470 ELSE 0480 PRINT " FØDEVARENUMMER OG MÆNGDE ANGIVES." 0490 ENDIF 0500 PRINT 0510 FOR Z=1 TO INGR(T) 0520 INPUT " FØDEVARE NR.: ",VARE(T,Z) 0530 IF VARE(T,Z)<1 OR VARE(T,Z)>205 THEN GO TO 0520 0540 GET IND,VARE(T,Z)*4-2 : VNAVN$(1) 0550 PRINT VNAVN$(1), 0560 INPUT "OK? ",VNAVN$(2) 0570 IF VNAVN$(2)<>"" AND VNAVN$(2)<>"JA" THEN GO TO 0520 0580 INPUT " ANTAL GRAM : ",MÆNGDE(T,Z) 0590 SUMMÆNG(T)=SUMMÆNG(T)+MÆNGDE(T,Z) 0600 NEXT Z 0610 MAX1=MAX1+SUMMÆNG(T) 0620 PRINT 0630 NEXT T 0640 ENDPROC TALIND 0650 REM //----------// 0660 PROC FILFIND 0670 FOR T=1 TO RET 0680 FOR Z=1 TO INGR(T) 0690 Z1=VARE(T,Z)*4-2 0700 Z2=(T-1)*MI+Z 0710 GET IND,Z1 : VNAVN$(Z2) 0720 GET IND,Z1+1 : V(1),V(2),V(3),V(4),V(5) 0730 GET IND,Z1+2 : V(6),V(7),V(8),V(9),V(10) 0740 GET IND,Z1+3 : V(11),V(12),V(13),V(14),V(15) 0750 FOR Y=1 TO D 0760 P=V(Y)*MÆNGDE(T,Z)/100 0770 SUM(T,Y)=SUM(T,Y)+P 0780 SUM(6,Y)=SUM(6,Y)+P 0790 GEM((T-1)*MI+Z,Y)=P 0800 NEXT Y 0810 NEXT Z 0820 NEXT T 0830 CLOSE IND 0840 ENDPROC FILFIND 0850 REM //----------// 0860 PROC UDSKRIFT 0870 FOR T=1 TO RET 0880 EXEC FORTSÆT 0890 VKOL=2; HKOL=7 0900 PRINT " "; RNAVN$(T) 0910 PRINT 0920 EXEC ENERGI 0930 EXEC TALUD 0940 EXEC FORTSÆT 0950 PRINT " "; RNAVN$(T) 0960 VKOL=8; HKOL=15 0970 EXEC VITAMINERAL 0980 EXEC TALUD 0990 NEXT T 1000 EXEC FORTSÆT 1010 T=6 1020 ENDPROC UDSKRIFT 1030 REM //----------// 1040 PROC TALUD 1050 Z=0 1060 REPEAT 1070 Z=Z+1 1080 PRINT VNAVN$((T-1)*MI+Z); TAB(18); ":"; 1090 IF VKOL=2 THEN 1100 UD=MÆNGDE(T,Z) 1110 EXEC USIN(UD) 1120 UD=GEM((T-1)*MI+Z,1) 1130 EXEC USIN(UD) 1140 ENDIF 1150 FOR Y=VKOL TO HKOL 1160 UD=GEM((T-1)*MI+Z,Y) 1170 EXEC USIN(UD) 1180 NEXT Y 1190 PRINT 1200 UNTIL Z=INGR(T) 1210 PRINT STIP$ 1220 PRINT "INDHOLD IALT"; TAB(18); ":"; 1230 EXEC SUMMEN 1240 IF VKOL=2 THEN EXEC PROCENT 1250 PRINT LINIE$ 1260 ENDPROC TALUD 1270 REM //----------// 1280 PROC ENERGI 1290 PRINT TAB(18); ": : : FEDTSTOF : KULHYDRAT :"; 1300 PRINT " PROTEIN :" 1310 PRINT TAB(18); ":NETTO :KILO- : IALT :POLY- : IALT :"; 1320 PRINT "SLAG- : IALT :ESSENT:" 1330 PRINT TAB(18); ": :JOULE : :UMÆTT.: :"; 1340 PRINT "GER : :AMINOS:" 1350 IF T<=5 THEN 1360 PRINT "FØDEVARENAVN"; 1370 ELSE 1380 PRINT "RET"; 1390 ENDIF 1400 PRINT TAB(18); ": GRAM : KJ : GRAM : GRAM : GRAM :"; 1410 PRINT " GRAM : GRAM : GRAM :" 1420 PRINT LINIE$ 1430 ENDPROC ENERGI 1440 REM //----------// 1450 PROC VITAMINERAL 1460 PRINT TAB(18); ":"; TAB(35); "VITAMINER"; 1470 PRINT TAB(60); ": MINERALER :" 1480 PRINT TAB(18); ": A : D : E : C : B1 :"; 1490 PRINT " B2 : CA : FE :" 1500 PRINT TAB(18); ":MIKRO-:MIKRO-:MILLI-:MILLI-:"; 1510 PRINT "MIKRO-:MIKRO-:MILLI-:MILLI-:" 1520 IF T<=5 THEN 1530 PRINT "FØDEVARENAVN"; 1540 ELSE 1550 PRINT "RET"; 1560 ENDIF 1570 PRINT TAB(18); ": GRAM : GRAM : GRAM : GRAM :"; 1580 PRINT " GRAM : GRAM : GRAM : GRAM :" 1590 PRINT LINIE$ 1600 ENDPROC VITAMINERAL 1610 REM //----------// 1620 PROC SUMMEN 1630 IF VKOL=2 THEN 1640 UD=SUMMÆNG(T) 1650 EXEC USIN(UD) 1660 UD=SUM(T,1) 1670 EXEC USIN(UD) 1680 ENDIF 1690 FOR Y=VKOL TO HKOL 1700 UD=SUM(T,Y) 1710 EXEC USIN(UD) 1720 NEXT Y 1730 PRINT 1740 ENDPROC SUMMEN 1750 REM //----------// 1760 PROC PROCENT 1770 PRINT "ENERGI-PROCENT"; TAB(32); ":"; 1780 F=100/(SUM(T,2)*9.3+(SUM(T,4)+SUM(T,6))*4.1) 1790 FOR Y=VKOL TO HKOL 1800 IF Y<4 THEN 1810 PRO=SUM(T,Y)*9.3*F 1820 ELSE 1830 PRO=SUM(T,Y)*4.1*F 1840 ENDIF 1850 EXEC USIN(PRO) 1860 NEXT Y 1870 PRINT 1880 ENDPROC PROCENT 1890 REM //----------// 1900 PROC VURDER 1910 PRINT CHR(12) 1920 VKOL=2; HKOL=7 1930 PRINT " S A M L E T V U R D E R I N G" 1940 PRINT 1950 FOR Q=1 TO 2 1960 IF VKOL=2 THEN EXEC ENERGI 1970 IF VKOL=8 THEN EXEC VITAMINERAL 1980 FOR T=1 TO RET 1990 PRINT RNAVN$(T); TAB(18); ":"; 2000 EXEC SUMMEN 2010 NEXT T 2020 T=6 2030 PRINT STIP$ 2040 PRINT "INDHOLD IALT :"; 2050 IF VKOL=2 THEN 2060 UD=MAX1 2070 EXEC USIN(UD) 2080 UD=SUM(6,1) 2090 EXEC USIN(UD) 2100 ENDIF 2110 FOR Y=VKOL TO HKOL 2120 UD=SUM(6,Y) 2130 EXEC USIN(UD) 2140 NEXT Y 2150 PRINT 2160 PRINT "INDHOLD/1000 KJ :"; 2170 F=1000/SUM(6,1) 2180 IF VKOL=2 THEN 2190 UD=MAX1*F 2200 EXEC USIN(UD) 2210 PRINT " 1000:"; 2220 ENDIF 2230 FOR Y=VKOL TO HKOL 2240 UD=SUM(6,Y)*F 2250 EXEC USIN(UD) 2260 NEXT Y 2270 PRINT 2280 PRINT "NORMER /1000 KJ :"; 2290 IF VKOL=2 THEN 2300 PRINT " : 1000: 8.5: 1.0:"; 2310 PRINT " 33.0: 1.0: 7.0: 2.0:" 2320 PRINT STIP$ 2330 EXEC PROCENT 2340 ELSE 2350 PRINT " 100.0: 1.3: 1.3: 6.0:"; 2360 PRINT " 140.0: 170.0: 100.0: 1.7:" 2370 ENDIF 2380 PRINT LINIE$ 2390 IF Q=1 THEN EXEC FORTSÆT 2400 VKOL=8; HKOL=15 2410 NEXT Q 2420 ENDPROC VURDER 2430 REM //----------// 2440 PROC FORTSÆT 2450 PRINT 2460 INPUT " TRYK RETURN FOR AT FORTSÆTTE : ",SVAR$ 2470 PRINT CHR(12) 2480 ENDPROC FORTSÆTTE 2490 REM //----------// 2500 PROC USIN(UTAL) 2510 REM 6 PLADSER + STREG 2520 BILLED$=" :" 2530 UHEL=0 2540 IF UTAL<1000000 AND UTAL=INT(UTAL) THEN UHEL=1 2550 UTAL=INT(UTAL*10+.5)/10 2560 IF UTAL<10000 OR UHEL=1 THEN 2570 UX=6 2580 IF UHEL=0 THEN 2590 UDEL=(UTAL-INT(UTAL))*10; UTAL=UTAL-UDEL/10 2600 BILLED$(5 : 2)="."+CHR(UDEL+48) 2610 UX=4 2620 ENDIF 2630 WHILE UTAL>0 DO 2640 UDEL=UTAL-INT(UTAL/10)*10; UTAL=INT(UTAL/10) 2650 BILLED$(UX : 1)=CHR(UDEL+48) 2660 UX=UX-1 2670 ENDWHILE 2680 IF BILLED$(4 : 2)=" ." THEN BILLED$(4 : 1)="0" 2690 ELSE 2700 BILLED$="??????:" 2710 ENDIF 2720 PRINT BILLED$; 2730 ENDPROC «eof»