mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-01 09:21:15 +00:00
163 lines
4.4 KiB
QBasic
163 lines
4.4 KiB
QBasic
|
||
10 REM ELECT1 - HISTORICAL ELECTIONS: 19TH CENTURY
|
||
20 REM COPYRIGHT 1972 -STATE UNIVERSITY OF NEW YORK
|
||
30 REM DEVELOPED BY D. KLASSEN & J. MCGRATH, JUNE 1972
|
||
40 REM PROGRAMMED BY L. KAUFMAN, JUNE 1972
|
||
50 REM LATEST REVISION 8-29-72
|
||
60 DIM Y(8),W(9),M(72),I(3),S(3),P(16)
|
||
70 FOR I=1TO7
|
||
80 READ Y(I)
|
||
90 NEXT I
|
||
100 FOR I=1TO63
|
||
110 READ M(I)
|
||
120 NEXT I
|
||
130 FOR I=1TO14
|
||
140 READ P(I)
|
||
150 NEXT I
|
||
160 PRINTTAB(30);"ELECT1"
|
||
170 PRINT
|
||
180 PRINTTAB(16);"HISTORICAL ELECTIONS - 19TH 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 NUMBER 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" JACKSON";TAB(28);"ADAMS"
|
||
710 GOTO910
|
||
720 IF E>2THEN750
|
||
730 PRINT" VAN BUREN";TAB(28);"HARRISON"
|
||
740 GOTO910
|
||
750 IF E>3THEN780
|
||
760 PRINT" POLK";TAB(28);"CLAY"
|
||
770 GOTO910
|
||
780 IF E>4THEN810
|
||
790 PRINT" SEYMOUR";TAB(28);"GRANT"
|
||
800 GOTO910
|
||
810 IF E>5THEN840
|
||
820 PRINT" TILDEN";TAB(28);"HAYES"
|
||
830 GOTO910
|
||
840 IF E>6THEN870
|
||
850 PRINT" CLEVELAND";TAB(28);"BLAINE"
|
||
860 GOTO910
|
||
870 PRINT" MC KINLEY";TAB(28);"BRYAN"
|
||
880 IF F<>0 THEN1230
|
||
890 PRINT" REPUBICAN";TAB(28);"DEMOCRAT"
|
||
900 GOTO1000
|
||
910 IF F<>0THEN1230
|
||
920 PRINT" DEMOCRAT";
|
||
930 IF E>1THEN960
|
||
940 PRINT TAB(28);"NATIONAL REPUBLICAN"
|
||
950 GOTO1000
|
||
960 IF (E-2)*(E-3)=0THEN990
|
||
970 PRINTTAB(28);"REPUBLICAN"
|
||
980 GOTO1000
|
||
990 PRINTTAB(28);"WHIG"
|
||
1000 PRINT
|
||
1010 PRINT"CANDIDATE A - ";
|
||
1020 GOSUB 1490
|
||
1030 LET S(1)=I(1)/100
|
||
1040 LET S(2)=I(2)/100
|
||
1050 LET S(3)=I(3)/100
|
||
1060 PRINT"CANDIDATE B - ";
|
||
1070 GOSUB1490
|
||
1080 PRINT
|
||
1090 FOR J=1TO3
|
||
1100 LET W(J)=S(1)*M(X+J-1)
|
||
1110 NEXT J
|
||
1120 FOR J=4TO6
|
||
1130 LET W(J)=S(2)*M(X+J-1)
|
||
1140 NEXT J
|
||
1150 FOR J=7TO9
|
||
1160 LET W(J)=S(3)*M(X+J-1)
|
||
1170 NEXT J
|
||
1180 LET W(1)=W(1)+W(4)+W(7)
|
||
1190 LET W(2)=W(2)+W(5)+W(8)
|
||
1200 LET W(3)=W(3)+W(6)+W(9)
|
||
1210 LET A=W(1)*(I(1)/100)+W(2)*(I(2)/100)+W(3)*(I(3)/100)
|
||
1220 LET A1=((A-1)/4)*100
|
||
1230 IF F>0THEN1280
|
||
1240 PRINT"THE RESULT OF YOUR STRATEGY IS:"
|
||
1250 LET F=1
|
||
1260 PRINT
|
||
1270 GOTO690
|
||
1280 IF F=2THEN1360
|
||
1290 PRINT" ";A1;" PERCENT";TAB(25);100-A1;" PERCENT"
|
||
1300 PRINT
|
||
1310 PRINT"THE VOTE FOR THE TWO MAJOR CANDIDATES"
|
||
1320 PRINT"IN THE ACTUAL ELECTION:"
|
||
1330 LET F=2
|
||
1340 PRINT
|
||
1350 GOTO690
|
||
1360 PRINT" ";P(2*E-1);" PERCENT";TAB(25);P(2*E);" PERCENT"
|
||
1370 PRINT
|
||
1380 PRINT"ANOTHER RUN (1=YES, 0=NO)";
|
||
1390 INPUT I
|
||
1400 IF I=1THEN190
|
||
1410 IF I<>0THEN1380
|
||
1420 GOTO1600
|
||
1430 DATA 1828,1840,1844,1868,1876,1884,1896
|
||
1440 DATA 4,3,3,3,2,2,3,3,3,2,3,3,3,4,3,3,3,3,1,2,3,2,4,4,3,4,5
|
||
1450 DATA 1,3,3,3,4,3,3,3,3,2,2,3,2,3,3,3,3,4,4,3,3,3,2,2,3,2,3
|
||
1460 DATA 2,3,3,3,4,4,3,4,3
|
||
1470 DATA 56,44,47,53,50.7,49.3,47.3,52.7,51.5,48.5
|
||
1480 DATA 50.1,49.9,52.2,47.8
|
||
1490 PRINT"STRATEGY (3 NUMBERS, 10 <= I <= 80, TOTAL=100)";
|
||
1500 INPUT I(1),I(2),I(3)
|
||
1510 FOR I=1TO3
|
||
1520 IF I(I)<10THEN1560
|
||
1530 NEXTI
|
||
1540 IF ABS(I(1)+I(2)+I(3)-100)>.01THEN1580
|
||
1550 RETURN
|
||
1560 PRINT"EACH COMPONENT OF THE STRATEGY MUST BE AT LEAST 10!"
|
||
1570 GOTO1490
|
||
1580 PRINT"THE TOTAL OF EACH STRATEGY VECTOR MUST EQUAL 100!"
|
||
1590 GOTO1490
|
||
1600 END
|
||
*U*
|
||
|