mirror of
https://github.com/PDP-10/stacken.git
synced 2026-01-13 07:09:50 +00:00
155 lines
4.3 KiB
QBasic
155 lines
4.3 KiB
QBasic
|
||
10 REM ELECT2 - HISTORICAL ELECTIONS - 20TH CENTURY
|
||
20 REM COPYRIGHT 1972 - STATE UNIVERSITY OF NEW YORK
|
||
30 REM DEVELOPED BY D. KLASSEN AND J. MCGRATH, JUNE 1972
|
||
40 REM PROGRAMMED BY L. KAUFMAN, JUNE 1972
|
||
50 REM LATEST REVISION 8-29-72
|
||
60 DIM Y(7),W(9),M(63),I(3),S(3),P(14)
|
||
70 FOR I=1TO7
|
||
80 READ Y(I)
|
||
90 NEXT I
|
||
100 FOR I=1TO63
|
||
110 READ M(I)
|
||
120 NEXT I
|
||
130 FORI=1TO14
|
||
140 READ P(I)
|
||
150 NEXT I
|
||
160 PRINTTAB(30);"ELECT2"
|
||
170 PRINT
|
||
180 PRINT TAB(16);"HISTORICAL ELECTIONS - 20TH CENTURY"
|
||
190 PRINT
|
||
200 LET F=0
|
||
210 PRINT"DO YOU WANT INSTRUCTIONS (1=YES, 0=NO)";
|
||
220 INPUT I
|
||
230 IF I=0THEN480
|
||
240 IF I<>1THEN210
|
||
250 PRINT
|
||
260 PRINT" YOUR GOAL WILL BE TO CHOOSE THE OPTIMUM STRATEGY"
|
||
270 PRINT"FOR CANDIDATES IN AN HISTORICAL ELECTION."
|
||
280 PRINT
|
||
290 PRINT" EACH CANDIDATE'S STRATEGY CONSISTS OF 3 NUMBERS."
|
||
300 PRINT
|
||
310 PRINT" THE FIRST REPRESENTS THE AMOUNT OF EMPHASIS TO BE"
|
||
320 PRINT"PLACED ON THE CANDIDATES IMAGE."
|
||
330 PRINT
|
||
340 PRINT" THE SECOND REPRESENTS THE AMOUNT OF EMPHASIS TO BE"
|
||
350 PRINT"PLACED ON PARTY AFFILIATION."
|
||
360 PRINT
|
||
370 PRINT" THE THIRD REPRESENTS THE AMOUNT OF EMPHASIS TO BE "
|
||
380 PRINT"PLACED ON THE CAMPAIGN ISSUES."
|
||
390 PRINT
|
||
400 PRINT" EACH OF THESE NUMBERS IS BETWEEN 10 AND 80, WITH"
|
||
410 PRINT"A HIGHER NUMER REPRESENTING MORE EMPHASIS."
|
||
420 PRINT
|
||
430 PRINT" THE TOTAL OF EACH STRATEGY MUST EQUAL 100!"
|
||
440 PRINT
|
||
450 PRINT" THE COMPUTER WILL FIRST ASK - 'ELECTION CODE NO.?'"
|
||
460 PRINT"CHOOSE THE CODE NO. FROM THE FOLLOWING LIST:"
|
||
470 GOTO520
|
||
480 PRINT"DO YOU WANT CODE LIST (1=YES,0=NO)";
|
||
490 INPUT I
|
||
500 IF I=0THEN570
|
||
510 IF I<>1THEN480
|
||
520 PRINT
|
||
530 PRINT" ELECTION";TAB(20);"CODE NO."
|
||
540 FOR I=1TO7
|
||
550 PRINT" ";Y(I);TAB(20);I
|
||
560 NEXT I
|
||
570 PRINT
|
||
580 PRINT"ELECTION CODE NO.";
|
||
590 INPUT E
|
||
600 FOR I=1TO7
|
||
610 IF I=ETHEN640
|
||
620 NEXTI
|
||
630 GOTO460
|
||
640 LET X=(E*9)-8
|
||
650 PRINT
|
||
660 PRINTTAB(14);"ELECTION OF";Y(E)
|
||
670 PRINT
|
||
680 PRINT" CANDIDATE A";TAB(28);"CANDIDATE B"
|
||
690 IF E>1THEN720
|
||
700 PRINT" HARDING";TAB(28);"COX"
|
||
710 GOTO880
|
||
720 IF E>2THEN750
|
||
730 PRINT" HOOVER";TAB(28);"SMITH"
|
||
740 GOTO880
|
||
750 IF E>3THEN780
|
||
760 PRINT" ROOSEVELT";TAB(28);"HOOVER"
|
||
770 GOTO880
|
||
780 IF E>4THEN810
|
||
790 PRINT" TRUMAN";TAB(28);"HOOVER"
|
||
800 GOTO880
|
||
810 IF E>5THEN840
|
||
820 PRINT" EISENHOWER";TAB(28);"STEVENSON"
|
||
830 GOTO880
|
||
840 IF E>6THEN870
|
||
850 PRINT" KENNEDY";TAB(28);"NIXON"
|
||
860 GOTO880
|
||
870 PRINT" NIXON";TAB(28);"HUMPHREY"
|
||
880 IF F<>0THEN1160
|
||
890 IF(E-3)*(E-4)*(E-6)<>0THEN920
|
||
900 PRINT" DEMOCRAT";TAB(28);"REPUBLICAN"
|
||
910 GOTO930
|
||
920 PRINT" REPUBLICAN";TAB(28);"DEMOCRAT"
|
||
930 PRINT
|
||
940 PRINT"CANDIDATE A - ";
|
||
950 GOSUB 1420
|
||
960 LET S(1)=I(1)/100
|
||
970 LET S(2)=I(2)/100
|
||
980 LET S(3)=I(3)/100
|
||
990 PRINT"CANDIDATE B - ";
|
||
1000 GOSUB1420
|
||
1010 PRINT
|
||
1020 FOR J=1TO3
|
||
1030 LET W(J)=S(1)*M(X+J-1)
|
||
1040 NEXT J
|
||
1050 FOR J=4TO6
|
||
1060 LET W(J)=S(2)*M(X+J-1)
|
||
1070 NEXTJ
|
||
1080 FOR J=7TO9
|
||
1090 LET W(J)=S(3)*M(X+J-1)
|
||
1100 NEXT J
|
||
1110 LET W(1)=W(1)+W(4)+W(7)
|
||
1120 LET W(2)=W(2)+W(5)+W(8)
|
||
1130 LET W(3)=W(3)+W(6)+W(9)
|
||
1140 LET A=W(1)*(I(1)/100)+W(2)*(I(2)/100)+W(3)*(I(3)/100)
|
||
1150 LET A1=((A-1)/4)*100
|
||
1160 IF F>0THEN1210
|
||
1170 PRINT"THE RESULT OF YOUR STRATEGY IS:"
|
||
1180 LET F=1
|
||
1190 PRINT
|
||
1200 GOTO690
|
||
1210 IF F=2 THEN1290
|
||
1220 PRINT" ";A1;" PERCENT";TAB(25);100-A1;" PERCENT"
|
||
1230 PRINT
|
||
1240 PRINT"THE VOTE FOR THE TWO MAJOR CANDIDATES"
|
||
1250 PRINT"IN THE ACTUAL ELECTION:"
|
||
1260 LET F=2
|
||
1270 PRINT
|
||
1280 GOTO690
|
||
1290 PRINT" ";P(2*E-1);" PERCENT";TAB(25);P(2*E);" PERCENT"
|
||
1300 PRINT
|
||
1310 PRINT"ANOTHER RUN (1=YES, 0=NO)";
|
||
1320 INPUT I
|
||
1330 IF I=1THEN190
|
||
1340 IF I<>0THEN1310
|
||
1350 GOTO1530
|
||
1360 DATA 1920,1928,1932,1948,1952,1960,1968
|
||
1370 DATA 4,4,3,4,4,3,3,3,2,4,4,3,4,4,3,3,3,2,4,3,4,3,2,3,4,3,3
|
||
1380 DATA 2,3,3,3,4,4,2,3,3,4,3,4,3,2,3,4,3,3,3,3,3,3,4,3,3,3,2
|
||
1390 DATA 3,3,3,3,2,3,3,3,4
|
||
1400 DATA 63.9,36.1,58.8,41.2,59.2,40.8,52.4,47.6,55.4,44.6
|
||
1410 DATA 50.1,49.9,50.4,49.6
|
||
1420 PRINT"STRATEGY (3 NUMBERS, 10<=I<=80, TOTAL=100)";
|
||
1430 INPUT I(1),I(2),I(3)
|
||
1440 FOR I=1TO3
|
||
1450 IF I(I)<10THEN1490
|
||
1460 NEXTI
|
||
1470 IF ABS(I(1)+I(2)+I(3)-100)>.01THEN1510
|
||
1480 RETURN
|
||
1490 PRINT"EACH COMPONENT OF THE STRATEGY MUST BE AT LEAST 10."
|
||
1500 GOTO1420
|
||
1510 PRINT"THE TOTAL OF EACH STRATEGY VECTOR MUST EQUAL 100."
|
||
1520 GOTO1420
|
||
1530 END
|
||
*U* |