1  REM **********STABIL**********
2  REM TRYING TO STABILIZE THE ECONOMY.
3  REM DESIGNED BY M. CROOK.
4  REM PROGRAMMED BY R. HESS.
5  REM 6/14/74.  VERSION 2.
6  REM  HEWLETT-PACKARD CONTRIBUTED LIBRARY, 2/75
1000  K=L=F=H=0
1010  E=0
1020  PRINT TAB(25);"*****STABIL*****";LIN(5)
1030  PRINT "ARE YOU STARTING(1), OR CONTINUING ANOTHER GAME(0)";
1040  INPUT Q
1050  IF Q=1 THEN 1280
1060  PRINT "WHAT WAS THE NUMBER OF THE LAST QUARTER YOU DID";
1070  INPUT S
1080  PRINT "WHICH GAME WERE YOU DOING (1=RAPID INFLATION, 2=RECESSIONAL)";
1090  INPUT C
1100  IF C=2 THEN 1130
1110  B$=" RAPID INFLATION "
1120  GOTO 1140
1130  B$=" RECESSION "
1140  PRINT "WHAT WERE THE LAST VALUES FOR GNP,INFLATION, ETC.";
1150  INPUT G,U,I,W,P,R
1160  PRINT "WAS A PRICE-WAGE FREEZE IN EFFECT WHEN YOU STOPPED (1=YES,0=NO)";
1170  INPUT F
1180  IF F=1 THEN 1240
1190  PRINT "WAS ONLY A PRICE FREEZE IN EFFECT (1=YES, 0=NO)";
1200  INPUT K
1210  IF K=1 THEN 1240
1220  PRINT "WAS ONLY A WAGE FREEZE IN EFFECT (1=YES, 0=NO)";
1230  INPUT L
1240  L1=L
1250  F1=F
1260  K1=K
1270  GOTO 1330
1280  RESTORE 
1290  READ G,U,I,W,P,R
1300  C=S=1
1310  DIM A$[6],B$[30],A[8],B[8],C[8]
1320  B$=" RAPID INFLATION "
1330  PRINT "DO YOU WANT INSTRUCTIONS";
1340  INPUT A$
1350  IF A$[1,1] <> "Y" THEN 1500
1360  PRINT "YOUR GOAL IS TO USE THE ECONOMIC TOOLS AVAILABLE"
1370  PRINT "TO ACHIEVE A SITUATION OF CONTROLLED EXPANSION IN"
1380  PRINT "THE ECONOMY WITHIN 8 QUARTERS.  THIS IDEAL SITUATION"
1390  PRINT "WILL BE ACHIEVED WHEN THE ECONOMIC INDICATORS HAVE"
1400  PRINT "THE FOLLOWING VALUES:";LIN(2)
1410  PRINT TAB(25);"GNP GROWTH";TAB(43);"10%"
1420  PRINT TAB(25);"UNEMPLOYMENT RATE";TAB(43);" 4%"
1430  PRINT TAB(25);"INFLATION RATE";TAB(43);" 4%"
1440  PRINT TAB(25);"WAGE GROWTH";TAB(43);" 6%"
1450  PRINT TAB(25);"PROFIT RATE";TAB(43);"10%"
1460  PRINT TAB(25);"INTEREST RATE";TAB(43);" 7%"
1470  PRINT LIN(2);"(FOR A VALUE TO BE ACCEPTABLE, IT MUST BE WITHIN"
1480  PRINT "1/2 OF A PERCENT OF THE ABOVE FIGURE)."
1490  IF Q=0 THEN 1520
1500  REM  C
1510  F=K=L=F1=K1=L1=0
1520  FOR A=S TO 8
1530  E=0
1540  IF A>1 THEN 1580
1550  PRINT LIN(2);"AT THE PRESENT TIME THE ECONOMY IS"
1560  PRINT "IN A STATE OF";B$;"AS THE ECONOMIC"
1570  PRINT "INDICATORS CLEARLY SHOW.";LIN(2)
1580  PRINT LIN(2);TAB(25);"QUARTER";A
1590  PRINT TAB(25);"---------"
1600  PRINT "GNP GROWTH:";TAB(20);G;TAB(32);"%";TAB(34);
1610  IF G >= 9.5 THEN 1640
1620  PRINT SPA(5);"TOO SLOW"
1630  GOTO 1690
1640  IF G>10.5 THEN 1680
1650  PRINT SPA(5);"OK!"
1660  E=E+1
1670  GOTO 1690
1680  PRINT SPA(5);"TOO FAST"
1690  PRINT "UNEMPLOYMENT RATE:";TAB(20);U;TAB(32);"%";TAB(34);
1700  IF U >= 3.5 THEN 1730
1710  PRINT SPA(5);"TOO LOW?"
1720  GOTO 1780
1730  IF U>4.5 THEN 1770
1740  PRINT SPA(5);"OK!"
1750  E=E+1
1760  GOTO 1780
1770  PRINT SPA(5);"TOO HIGH"
1780  PRINT "INFLATION RATE:";TAB(20);I;TAB(32);"%";TAB(34);
1790  IF I >= 3.5 THEN 1820
1800  PRINT SPA(5);"TOO LOW?"
1810  GOTO 1870
1820  IF I>4.5 THEN 1860
1830  PRINT SPA(5);"OK!"
1840  E=E+1
1850  GOTO 1870
1860  PRINT SPA(5);"TOO HIGH"
1870  PRINT "WAGE RATE GROWTH:";TAB(20);W;TAB(32);"%";TAB(34);
1880  IF W >= 5.5 THEN 1910
1890  PRINT SPA(5);"TOO LOW"
1900  GOTO 1960
1910  IF W>6.5 THEN 1950
1920  PRINT SPA(5);"OK!"
1930  E=E+1
1940  GOTO 1960
1950  PRINT SPA(5);"TOO HIGH"
1960  PRINT "PROFIT RATE:";TAB(20);P;TAB(32);"%";TAB(34);
1970  IF P >= 9.5 THEN 2000
1980  PRINT SPA(5);"TOO LOW"
1990  GOTO 2050
2000  IF P>10.5 THEN 2040
2010  PRINT SPA(5);"OK!"
2020  E=E+1
2030  GOTO 2050
2040  PRINT SPA(5);"TOO HIGH"
2050  PRINT "INTEREST RATE:";TAB(20);R;TAB(32);"%";TAB(34);
2060  F1=F
2070  K1=K
2080  L1=L
2090  IF R >= 6.5 THEN 2120
2100  PRINT SPA(5);"TOO LOW"
2110  GOTO 2170
2120  IF R>7.5 THEN 2160
2130  PRINT SPA(5);"OK!"
2140  E=E+1
2150  GOTO 2170
2160  PRINT SPA(5);"TOO HIGH"
2170  IF E=6 THEN 4090
2180  IF A=9 THEN 4130
2190  PRINT "WILL YOU INPUT STABILIZATION DECISIONS NOW(1) OR LATER(0)";
2200  INPUT H
2210  IF H=0 THEN 4370
2220  PRINT "DO YOU WANT A LISTING OF THE ECONOMIC POLICIES";
2230  INPUT A$
2240  IF A$[1,1] <> "Y" THEN 2390
2250  PRINT LIN(2);"YOU MAY USE ONE OR SEVERAL OF THE FOLLOWING POLICY "
2260  PRINT "ACTIONS (TOOLS) TO ACHIEVE CONTROLLED EXPANSION.";LIN(2)
2270  PRINT "FISCAL POLICIES"
2280  PRINT "---------------"
2290  PRINT "1.  CHANGE FEDERAL SPENDING -10% OR +10%"
2300  PRINT "2.  CHANGE FEDERAL BUDGET FOR JOB RETRAINING -50% OR +50%"
2310  PRINT "3.  CHANGE FEDERAL TAXES ON INDIVIDUALS -10% OR +10%"
2320  PRINT "4.  CHANGE FEDERAL TAXES ON BUSINESSES -10% OR +10%";LIN(2)
2330  PRINT "MONETARY POLICY";LIN(1);"---------------"
2340  PRINT "5.  CHANGE MONEY SUPPLY -10% OR +10%";LIN(2)
2350  PRINT "DISCRETIONARY POLICIES";LIN(1);"----------------------"
2360  PRINT "6.  IMPOSE PRICE CONTROLS FOR THIS QUARTER"
2370  PRINT "7.  IMPOSE WAGE CONTROLS FOR THIS QUARTER"
2380  PRINT "8.  IMPOSE PRICE, WAGE, AND INTEREST RATE FREEZE FOR THIS QUARTER"
2390  PRINT LIN(2);"HOW MANY ECONOMIC TOOLS DO YOU WISH TO USE";
2400  INPUT N1
2410  IF N1<7 AND N1>-1 AND N1=INT(N1) THEN 2440
2420  PRINT "CHOOSE A NUMBER BETWEEN 0 AND 6 INCLUSIVE."
2430  GOTO 2390
2440  MAT B=ZER
2450  IF N1=0 THEN 2810
2460  PRINT "INPUT YOUR CHOICES, NOW."
2470  MAT  INPUT A[N1]
2480  N6=0
2490  FOR N5=1 TO N1
2500  IF A[N5]<6 THEN 2520
2510  N6=N6+1
2520  NEXT N5
2530  IF N6 <= 1 THEN 2560
2540  PRINT "YOU MAY CHOOSE ONLY ONE DISCRETIONARY POLICY PER QUARTER."
2550  GOTO 2390
2560  MAT C=ZER[N1]
2570  FOR N2=1 TO N1
2580  IF A[N2]<9 AND A[N2]>0 AND A[N2]=INT(A[N2]) THEN 2610
2590  PRINT "THERE IS NO POLICY #";A[N2];".  START OVER."
2600  GOTO 2390
2610  IF A[N2] >= 6 THEN 2710
2620  PRINT "HOW DO YOU WANT TO CHANGE TOOL #";A[N2];
2630  INPUT C[N2]
2640  IF A[N2] <> 2 THEN 2680
2650  IF C[N2]=50 OR C[N2]=-50 THEN 2720
2660  PRINT "INPUT EITHER 50 OR -50.  TRY AGAIN."
2670  GOTO 2620
2680  IF C[N2]=10 OR C[N2]=-10 THEN 2720
2690  PRINT "INPUT EITHER 10 OR -10.  TRY AGAIN."
2700  GOTO 2620
2710  C[N2]=1
2720  NEXT N2
2730  B=J=T1=T2=M=F=K=L=0
2740  FOR N3=1 TO 8
2750  FOR N4=1 TO N1
2760  IF A[N4] <> N3 THEN 2790
2770  B[N3]=C[N4]
2780  GOTO 2800
2790  NEXT N4
2800  NEXT N3
2810  B=B[1]
2820  J=B[2]
2830  T1=B[3]
2840  T2=B[4]
2850  M=B[5]
2860  K=B[6]
2870  L=B[7]
2880  F=B[8]
2890  REM GNP CALCULATION
2900  G=G-2*(B=-10)+2*(B=10)
2910  G=G-1*(T1=10)+1*(T1=-10)
2920  G=G-1*(T2=10)+1*(T2=-10)
2930  G=G-2*(M=-10)+2*(M=10)
2940  REM UNEMPLOYMENT CALCULATION
2950  U=U-1*(B=10)+1*(B=-10)
2960  U=U-.5*(J=50)+.5*(J=-50)
2970  U=U-.5*(T1=-10)+.5*(T1=10)
2980  U=U-.5*(T2=-10)+.5*(T2=10)
2990  U=U-1*(M=10)+1*(M=-10)
3000  IF U >= 0 THEN 3020
3010  U=0
3020  REM INFLATION CALCULATION
3030  IF F=1 OR K=1 THEN 3340
3040  IF F1=1 OR K1=1 THEN 3370
3050  I=I-1*(B=-10)+1*(B=10)
3060  I=I-1*(T1=10)+1*(T1=-10)
3070  I=I-1*(T2=10)+1*(T2=-10)
3080  I=I-1*(M=-10)+1*(M=10)
3090  REM WAGE CALCULATION
3100  IF F=1 OR L=1 THEN 3620
3110  IF F1=1 OR L1=1 THEN 3650
3120  W=W-1*(B=-10)+1*(B=10)
3130  W=W-1*(T1=10)+1*(T1=-10)
3140  W=W-1*(T2=10)+1*(T2=-10)
3150  W=W-1*(M=-10)+1*(M=10)
3160  REM PROFIT
3170  P=P-1*(B=-10)+1*(B=10)
3180  P=P-1*(T1=10)+1*(T1=-10)
3190  P=P-2*(T2=10)+2*(T2=-10)
3200  P=P-1*(M=-10)+1*(M=10)
3210  REM PRIME INTEREST RATE CALCULATION
3220  IF F=1 THEN 3280
3230  IF F1=1 THEN 3890
3240  R=R-1*(B=-10)+1*(B=10)
3250  R=R-.5*(T1=10)+.5*(T1=-10)
3260  R=R-.5*(T2=10)+.5*(T2=-10)
3270  R=R-1*(M=10)+1*(M=-10)
3280  NEXT A
3290  A=9
3300  PRINT LIN(2);TAB(25);"FINAL RESULTS"
3310  PRINT TAB(25);"-------------"
3320  E=0
3330  GOTO 1600
3340  I=0
3350  I=4*(K=1)
3360  GOTO 3090
3370  I=-2
3380  IF G<0 THEN 3600
3390  I=1
3400  IF G <= 1.5 THEN 3600
3410  I=2
3420  IF G <= 2.5 THEN 3600
3430  I=2.5
3440  IF G <= 5.5 THEN 3600
3450  I=3
3460  IF G <= 6.5 THEN 3600
3470  I=3.5
3480  IF G <= 9.5 THEN 3600
3490  I=4
3500  IF G <= 10.5 THEN 3600
3510  I=6
3520  IF G <= 11.5 THEN 3600
3530  I=8
3540  IF G <= 12.5 THEN 3600
3550  I=10
3560  IF G <= 15.5 THEN 3600
3570  I=12
3580  IF G <= 16.5 THEN 3600
3590  I=16
3600  IF K1=1 THEN 3090
3610  GOTO 3650
3620  W=0
3630  W=6*(L=1)
3640  GOTO 3160
3650  W=-2
3660  IF G<0 THEN 3160
3670  W=0
3680  IF G <= 1.5 THEN 3160
3690  W=2
3700  IF G <= 2.5 THEN 3160
3710  W=3
3720  IF G <= 5.5 THEN 3160
3730  W=4
3740  IF G <= 6.5 THEN 3160
3750  W=5
3760  IF G <= 9.5 THEN 3160
3770  W=6
3780  IF G <= 10.5 THEN 3160
3790  W=7
3800  IF G <= 11.5 THEN 3160
3810  W=8
3820  IF G <= 12.5 THEN 3160
3830  W=9
3840  IF G <= 15.5 THEN 3160
3850  W=10
3860  IF G <= 16.5 THEN 3160
3870  W=12
3880  GOTO 3160
3890  R=4
3900  IF G<0 THEN 3280
3910  R=5
3920  IF G <= 1.5 THEN 3280
3930  R=6
3940  IF G <= 6.5 THEN 3280
3950  R=6.5
3960  IF G <= 9.5 THEN 3280
3970  R=7
3980  IF G <= 10.5 THEN 3280
3990  R=7.5
4000  IF G <= 11.5 THEN 3280
4010  R=8
4020  IF G <= 12.5 THEN 3280
4030  R=9
4040  IF G <= 15.5 THEN 3280
4050  R=10
4060  IF G <= 16.5 THEN 3280
4070  R=12
4080  GOTO 3280
4090  PRINT LIN(2);"CONGRATULATIONS, YOU HAVE SUCCESSFULLY BALANCED THE "
4100  PRINT "ECONOMIC INDICATORS AND ACHIEVED CONTROLLED EXPANSION."
4110  IF C >= 2 THEN 4370
4120  GOTO 4210
4130  PRINT LIN(2);"SORRY, YOU HAVE FAILED TO BALANCE THE ECONOMIC INDICATORS"
4140  PRINT "SO AS TO ACHIEVE CONTROLLED EXPANSION."
4150  PRINT LIN(2);"WOULD YOU LIKE TO TRY AGAIN (1=YES,0=NO)";
4160  INPUT H
4170  IF H=1 AND C=1 THEN 1280
4180  IF H=0 AND C=1 THEN 4210
4190  IF H=0 AND C >= 2 THEN 4370
4200  GOTO 4250
4210  PRINT LIN(2);"WOULD YOU LIKE TO TRY YOUR SKILL AT SOLVING"
4220  PRINT "THE OPPOSITE PROBLEM, RECESSION (1=YES, 0=NO)";
4230  C=1
4240  INPUT H
4250  RESTORE 
4260  READ G,U,I,W,P,R
4270  READ G,U,I,W,P,R
4280  C=2
4290  IF H=0 THEN 4370
4300  S=A=1
4310  B$=" RECESSION "
4320  GOTO 1500
4330  REM DATA FOR RAPID INFLATION
4340  DATA 16,2,12,10,15,9
4350  REM DATA FOR RECESSION
4360  DATA 0,7,1,0,3,4
4370  END 
