1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-03-01 09:21:15 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

293 lines
7.5 KiB
QBasic
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
100 REM MALAR -- SIMULATION OF ATTACK PHASE TREATMENT
110 REM OF A MALARIA EPIDEMIC
120 REM BASED ON COSTS SUPPLIED THROUGH THE W.H.O.
130 REM ORIGINAL CONCEPT - A. FRISHMAN
140 REM DEVELOPED BY - J. FRIEDLAND
150 REM PROGRAMMING - J. FRIEDLAND, S. HOLLANDER
160 REM COPYRIGHT 1972 - STATE UNIVERSITY OF NEW YORK
170 REM LATEST REVISION 12/6/72
200 PRINT "DO YOU REQUIRE INSTRUCTIONS FOR MALAR (1=YES, 0=NO)";
210 INPUT Q
220 IF Q=0 THEN 400
230 IF Q<>1 THEN 200
240 PRINT "CURRENT CONDITIONS:"
245 PRINT " APPROX. POP. OF AREA:100000"
250 PRINT " APPROX. NO. ILL WITH MALARIA:25000"
255 PRINT " APPROX. NO. DEATHS/YR DUE TO MALARIA:1000"
260 PRINT
265 PRINT "TO CORRECT THIS SITUATION YOU CAN:"
270 PRINT " ISOLATE THOSE ILL IN QUARANTINE HOSPITALS"
275 PRINT " ADMINISTER DRUGS TO THOSE ILL"
280 PRINT " APPLY PESTICIDES TO KILL MOSQUITOES"
285 PRINT " GIVE PREVENTIVE DRUGS TO THOSE STILL HEALTHY"
290 PRINT
295 PRINT "THESE ARE THE APPROX. COSTS:"
300 PRINT " FIELD HOSPITAL OF 20 BEDS: $2000 PER YEAR"
305 PRINT " DRUG TREATMENT FOR ILL: $2 PER PERSON FOR 1 YR."
310 PRINT " FULL ANTI-MOSQUITO SPRAY:$ 75000 FOR 1 YEAR"
315 PRINT " WHEN USING DDT, OTHER SPRAYS HIGHER COST"
320 PRINT " PREVENTIVE DRUG EFFECTIVE 1 YR.:72 CENTS PER PERSON"
330 PRINT
335 PRINT "CONSULT YOUR STUDENT MANUAL FOR FURTHER INFORMATION"
400 PRINT"YOU MAY USE MALAR EITHER WITH A BUDGET (VERSION 1)"
410 PRINT"OR WITHOUT A BUDGET (VERSION 2). VERSION NUMBER";
415 INPUTZ9
420 IF(Z9-1)*(Z9-2)<>0THEN400
425 RANDOMIZE
430 DEF FNR(A)=COS(6.283*RND(0))*SQR(-2*LOG(RND(0)))
435 DIM Y(4,5)
440 LET N=0
445 READS2,S4
450 READ S1,S5,S6,E1,E2,E3,E4
455 FOR Z=1TO4
456 FORX=1TO5
460 LETY(Z,X)=0
462 NEXTX
465 NEXTZ
470 IFN<>0THEN495
475 READC7,C6,G
480 DATA 0,0,0,0,0,0,0,0,0,5E5,5E5,0
485 IF Z9=1THEN495
490 LETC6=0
495 LETC8=C6
500 PRINT
505 PRINT"YOUR OBJECTIVE IS TO MINIMIZE MALARIA FOR THE NEXT"
510 IF Z9=2THEN525
515 PRINT"5 YEARS, WITH A TOTAL FUND OF ";C6/1E3;" THOUSAND DOLLARS"
520 GOTO 530
525 PRINT"FIVE YEARS."
530 GOSUB 1675
535 PRINT" (HOSPITALS)"
540 PRINT
545 LET Z=1
550 PRINT"HOW MANY FIELD HOSPITALS DO YOU INTEND TO USE";
555 INPUTR
560 IFR<=0THEN605
565 IFR<>INT(R)THEN550
570 GOSUB 1515
575 LETY1=Y
580 LETC1=INT(R*Y*2000)
585 LETC=C1
590 GOSUB1585
595 IFC=.5THEN550
600 GOTO610
605 LETC1=0
610 GOSUB1675
615 PRINT" (DRUGS FOR SICK)"
620 PRINT
625 LETZ=2
630 PRINT"HOW MANY FULL TREATMENTS OF DRUGS"
635 PRINT"FOR THE ILL, SHOULD BE ORDERED PER YEAR";
640 INPUT P
645 IFP<=0THEN690
650 IFP<>INT(P)THEN630
655 GOSUB1515
660 LETY2=Y
665 LETC2=INT(2*P*Y)
670 LETC=C2
675 GOSUB1585
680 IFC=.5THEN630
685 GOTO695
690 LETC2=0
695 GOSUB1675
700 PRINT" (MOSQUITOES)"
705 PRINT
710 LETL3=.75
715 LETZ=3
720 PRINT"WHAT PERCENTAGE OF MOSQUITOES DO YOU WANT TO ELIMINATE";
725 INPUTV
730 IFV<=0THEN825
735 IFABS(V-50)>50THEN720
740 LETV=V/100
745 PRINT"WHAT PESTICIDE WILL YOU USE"
750 PRINT"1=DDT 2=MALATHION 3=PROPOXUR"
755 INPUT Q
760 IFQ=1THEN790
765 IFQ<>2THEN780
770 LETL3=L3*3.08
775 GOTO790
780 IFQ<>3THEN750
785 LETL3=L3*8.5
790 GOSUB1515
795 LETY3=Y
800 LETC3=INT(L3*1E5*V*Y)
805 LETC=C3
810 GOSUB1585
815 IFC=.5THEN710
820 GOTO830
825 LETC3=0
830 GOSUB1675
835 PRINT" (PREVENTIVE DRUGS)"
840 PRINT
845 LETZ=4
850 PRINT"HOW MANY DOSES OF PREVENTIVE DRUGS, FOR THOSE"
855 PRINT"HEALTHY, DO YOU WANT TO ORDER PER YEAR";
860 INPUT H
865 IFH<=0THEN910
870 IFH<>INT(H)THEN850
875 GOSUB1515
880 LETY4=Y
885 LETC4=INT(.72*H*Y)
890 LETC=C4
895 GOSUB1585
900 IFC=.5THEN850
905 GOTO915
910 LETC4=0
915 REM CALC. SECT.
920 PRINT
925 PRINT
930 IFN<>0THEN955
935 LETQ=FNR(0)
940 LETM=2.5E4+Q*SQR(4500)
945 LETF=.04*M+Q*SQR(.04*M)
950 PRINT"USING YOUR PLAN:"
955 PRINT"YEAR","NO. SICK","NO. DEATHS DUE TO MALARIA"
960 PRINT"----","--------","-------------------------"
965 PRINTN,INT(M+.5),INT(F+.5)
970 FORX=1TO5
975 IFY(3,X)<>1THEN995
980 LETV1=V*.8
985 LET E3=E3+V1
990 GOTO1000
995 LETV1=0
1000 LETS5=.25*S4+S5
1005 LETS4=INT(.75*S4+.5)
1010 IFY(4,X)<>1THEN1050
1015 LETH1=(H+S4)/1E5
1020 IFH1<1THEN1035
1025 LETH1=1
1030 LETS4=S4+H-1E5
1035 LETH1=H1*.6
1040 LETE4=E4+H1
1045 GOTO1055
1050 LETH1=0
1055 LETQ=FNR(0)
1060 LETM=2.5E4*(1-V1)*(1-H1)+Q*SQR(4500)
1065 LET S6=.25*S2+S6
1070 LETS2=INT(.75*S2+.5)
1075 IFY(2,X)<>1THEN1115
1080 LETP1=(P+S2)/M
1085 IFP1<1THEN1100
1090 LETP1=1
1095 LETS2=S2+P-M
1100 LETP1=P1*.85
1105 LETE2=E2+P1
1110 GOTO1120
1115 LETP1=0
1120 IFY(1,X)<>1THEN1190
1125 LETR3=20*R
1130 IFY(2,X)<>1THEN1155
1135 IFP+S2>50*RTHEN1150
1140 LETR3=P+S2+R
1145 GOTO1155
1150 LETR3=51*R
1155 LETR1=R3/M
1160 IFR1<=1THEN1175
1165 LETR1=1
1170 LETS1=S1+1
1175 LETR1=R1*.97
1180 LET E1=E1+R1
1185 GOTO1195
1190 LETR1=0
1195 IFR1>P1THEN1205
1200 LET R1=P1
1205 LETM=(1-R1)*M
1210 LETF=(.04-.036*P1)*M+Q*SQR((.04-.036*P1)*M)
1215 IFF>0THEN1225
1220 LET F=0
1225 LETG=G+INT(F+.5)
1230 PRINTX+N,INT(M+.5),INT(F+.5)
1235 NEXTX
1240 REM EVAL.SECT.
1245 PRINT
1250 PRINT"OVER YOUR ";N+5;" YEAR TREATMENT PROGRAM"
1255 PRINTG;" DEATHS DUE TO MALARIA HAVE BEEN RECORDED"
1260 PRINT
1265 PRINT"DO YOU WISH AN EVALUATION (1=YES, 0=NO)";
1270 INPUT Q
1275 IFQ=0THEN1410
1280 IFQ<>1THEN1260
1285 PRINT
1290 PRINT
1295 PRINT"TOTAL COST ";C8-C6;" DOLLARS"
1300 IFC1+C2+C3+C4=0THEN1410
1305 PRINT"PROGRAM","COST","YEARS","EFFECTIVENESS (PCT.)"
1310 PRINT"-------","----","-----","-------------------"
1315 IFC1=0THEN1325
1320 PRINT"HOSPITALS",C1,Y1,INT(E1*1000/Y1)/10
1325 IF C2=0THEN1335
1330 PRINT"DRUG TREAT",C2,Y2,INT(E2*1000/Y2)/10
1335 IFC3=0THEN1345
1340 PRINT"MOSQ SPRAY",C3,Y3,INT(E3*1000/Y3)/10
1345 IFC4=0THEN1355
1350 PRINT"PREVENT DRUG",C4,Y4,INT(E4*1000/Y4)/10
1355 IFS1+S2+S4+S5+S6=0THEN1410
1360 PRINT
1365 PRINT"SURPLUS ORDERING:"
1370 IFS1=0THEN1380
1375 PRINTS1;" YEARS SURPLUS IN SOME UNOCCUPIED BEDS"
1380 IFS2+S6=0THEN1395
1385 PRINTINT(S2+S6);" TREATMENTS OF DRUGS FOR SICK UNUSED"
1390 PRINT"OF THESE ";INT(.75*S2+.5);" DOSES ARE STILL USABLE"
1395 IFS4+S5=0THEN1410
1400 PRINTINT(S4+S5);" DOSES OF PREVENTIVE DRUG NOT ADMINISTERED"
1405 PRINT"OF THESE ";INT(S4*.75+.5);" DOSES ARE STILL USABLE"
1410 PRINT
1415 PRINT"DO YOU WANT TO (1) TAKE THE NEXT FIVE YEARS"
1420 PRINT"OR (2) START OVER OR (3) END. TYPE NUMBER";
1425 INPUTQ
1430 IFQ=1THEN1455
1435 IFQ=3THEN1700
1440 IFQ<>2THEN1410
1445 RESTORE
1450 GOTO440
1455 IFZ9=2THEN1495
1460 IFC6<=0THEN1475
1465 PRINT"YOUR FUND HAS BEEN CREDITED WITH YOUR CURRENT"
1470 PRINT"BALANCE OF $";C6
1475 LETC6=C6+C7
1480 LETN=N+5
1485 RESTORE
1490 GOTO450
1495 LETN=N+5
1500 LETC6=C8
1505 RESTORE
1510 GOTO450
1515 PRINT
1520 PRINT"FOR THIS TREATMENT:"
1525 IFC<>0THEN1540
1530 PRINT"INDICATE YEARS TO BE USED BY TYPING, AFTER THE YEAR,"
1535 PRINT"1=YES OR 0=NO"
1540 LETY=0
1545 FORX=1TO5
1550 PRINT"YEAR";X+N;
1555 INPUTY(Z,X)
1560 IF Y(Z,X)=0THEN1575
1565 IFY(Z,X)<>1THEN1535
1570 LET Y=Y+1
1575 NEXTX
1580 RETURN
1585 PRINT"COST OF THIS TREATMENT: $";C
1590 IFZ9=1THEN1610
1595 LETC8=C8+C
1600 PRINT"TOTAL MONEY ALREADY ALLOCATED FOR ";N+5;" YEARS $";C8
1605 RETURN
1610 LETC6=C6-C
1615 IFC6<0THEN1630
1620 PRINT"THIS LEAVES A BALANCE OF ";C6;" DOLLARS"
1625 RETURN
1630 LETC6=C6+C
1635 LETC=.5
1640 PRINT"YOUR LAST ITEM OVERSPENT YOUR BUDGET"
1645 PRINT"RESET THIS EXPENDITURE SO IT'S WITHIN THE $";C6;" REMAINING"
1650 RETURN
1675 PRINT
1680 FOR X=1TO49
1685 PRINT"-";
1690 NEXTX
1695 RETURN
1700 END
*U*+9