1  REM  ****  HP BASIC PROGRAM LIBRARY  ****************************
2  REM
3  REM        CHARGE:  CHARGE ACCOUNT SIMULATION
4  REM
5  REM        36604  REV A  6/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  *********************************
8  DIM S[54],T[30],U[30]
9  FOR I=1 TO 5
10  READ A[I],B[I],C[I],D[I],H[I]
11  NEXT I
12  FOR K=1 TO 54
13  READ S[K]
14  NEXT K
20  PRINT "PLEASE ENTER ROLE NUMBER,COMMA, AND MONTH.";
25  INPUT I,J
26  IF I<7 THEN 28
27  GOTO 34
28  IF I>0 THEN 31
31  IF J>12 THEN 34
32  IF J<0 THEN 34
33  GOTO 36
34  PRINT "ENTER ROLE NUMBER,COMMA,AND MONTH AGAIN-CORRECTLY THIS TIME";
35  GOTO 25
36  IF J=0 THEN 240
37  IF I<6 THEN 66
38  IF J=1 THEN 46
39  PRINT "ENTER THE FOUR PRIORITIES NOW.";
40  GOTO 50
45  IF I<6 THEN 67
46  PRINT "YOU ARE NOT PLAYING ONE OF THE ASSIGNED ROLES SO"
47  PRINT "I MUST KNOW WHAT YOUR PRIORITIES ARE.ENTER THE"
48  PRINT "FOUR PRIORITIES NOW ACCORDING TO THE INSTRUCTIONS"
49  PRINT "GIVEN IN THE MANUAL FOR ROLE 6.";
50  INPUT A[I],B[I],C[I],D[I]
51  IF A[I]>10 THEN 56
52  IF B[I]>10 THEN 56
53  IF C[I]>10 THEN 56
54  IF D[I]>10 THEN 56
55  GOTO 60
56  PRINT "EACH PRIORITY MUST BE 10 OR LESS."
57  GOTO 63
60  IF A[I]+B[I]+C[I]+D[I] <> 25 THEN 62
61  GOTO 65
62  PRINT "THE FOUR PRIORITIES MUST TOTAL 25."
63  PRINT "ENTER YOUR FOUR PRIORITIES CORRECTLY THIS TIME.";
64  GOTO 50
65  LET H[I]=50
66  PRINT "FIRST OF ALL, HOW MANY ITEMS(INCLUDING SAVINGS) THIS MONTH";
67  INPUT L
68  FOR X=1 TO L
69  LET Y=0
70  PRINT "CHOICE"X"--";
71  INPUT M,N
72  IF M>54 THEN 80
73  IF M=34 THEN 76
74  IF Y=1 THEN 76
75  IF N>100 THEN 80
76  LET T[X]=M
77  LET U[X]=N
78  NEXT X
79  GOTO 83
80  PRINT "ARE YOU SURE? ENTER AGAIN."
81  LET Y=1
82  GOTO 70
83  LET P=0
84  FOR X=1 TO L
85  LET B=T[X]
86  IF T[X]<17 THEN 95
87  IF T[X]<33 THEN 99
88  IF T[X]<40 THEN 103
89  IF T[X]<41 THEN 107
90  LET R=5*U[X]*S[B]
91  GOTO 108
95  LET R=A[I]*U[X]*S[B]
96  GOTO 108
99  LET R=B[I]*U[X]*S[B]
100  GOTO 108
101  PRINT 
103  LET R=C[I]*U[X]*S[B]
104  GOTO 108
107  LET R=D[I]*U[X]*S[B]
108  LET P=P+R
109  NEXT X
110  IF J <> 9 THEN 121
111  IF I <> 2 THEN 121
112  PRINT "SORRY, TERRY, BUT YOUR CAR REALLY WENT ON THE BLINK"
113  PRINT "THIS MONTH.YOU MUST PAY $138 TO SAM'S GARAGE TO HAVE"
114  PRINT "IT REPAIRED. SAM ALLOWS YOU TO PAY THREE EQUAL PAYMENTS"
115  PRINT "OF $46 EACH OF THE NEXT THREE MONTHS, INTEREST FREE."
116  PRINT "ADJUST YOUR ACTIVITY SHEET UNDER 'FIXED EXPENSES' IN"
117  PRINT "THE NEXT THREE MONTHS. WITH GOOD PLANNING, YOU'LL"
118  PRINT "STILL COME OUT FINE."
119  GOTO 197
121  PRINT "----UNEXPECTED EVENTS----"
122  LET G=INT(34*RND(X))+1
123  IF G>28 THEN 195
124  IF G>22 THEN 193
125  GOTO G OF 134,137,139,143,145,148,151,153,156,159
126  GOTO G-10 OF 162,164,166,168,170,173,175,178,180,185
127  IF G=22 THEN 188
128  PRINT "YOUR FRIEND(?) USED YOUR CREDIT CARD AND RAN UP CHARGES"
129  PRINT "YOU CAN'T PAY. YOUR CREDIT RATING HAS DROPPED.YOU CAN'T USE"
130  PRINT "YOUR CHARGE ACCOUNT FOR TWO MONTHS UNTIL YOU REESTABLISH"
131  PRINT "YOUR RATING. ALL PURCHASES MUST THEREFORE BE MADE IN CASH"
132  PRINT "DURING THE NEXT TWO MONTHS."
133  GOTO 197
134  PRINT "SALE AT STORE A. ANY RECREATIONAL ITEM (EXCEPT SCHOOL"
135  PRINT "ACTIVITIES) YOU WANT AT 20% OFF REGULAR PRICE NEXT MONTH."
136  GOTO 197
137  PRINT "ILLNESS--YOU PAY $25 IN DOCTOR BILLS."
138  GOTO 197
139  PRINT "LAWSUIT.YOU MAY SETTLE OUT OF COURT FOR $50, OR YOU MAY"
140  PRINT "HAVE THE CASE TRIED IN COURT. (TEACHER FLIPS COIN---"
141  PRINT "IF HEADS, YOU WIN $100.IF TAILS, YOU LOSE $100.)"
142  GOTO 197
143  PRINT "YOUR GRANDMOTHER GIVES YOU A PRESENT OF $10."
144  GOTO 197
145  PRINT "YOU QRE GOING SKIING WITH YOUR FRIENDS FOR THE WEEK-END."
146  PRINT "YOUR SHARE OF THE TOTAL EXPENSE IS $25."
147  GOTO 197
148  PRINT "BIG SALE AT STORE A. ANY ITEM OF CLOTHING YOU WANT AT"
149  PRINT "1/3 OFF NEXT MONTH."
150  GOTO 197
151  PRINT "YOUR SHARE OF YOUR MOTHER'S BIRTHDAY PRESENT WAS $10."
152  GOTO 197
153  PRINT "YOU ARE NOT ABLE TO WORK DUE TO A SKI MISHAP-- NO INCOME"
154  PRINT "FROM YOUR JOB NEXT MONTH."
155  GOTO 197
156  PRINT "YOU RECEIVE A RAISE OF $25 A MONTH(BEGINNING NEXT MONTH)"
157  PRINT "DUE TO YOUR ASSUMING MORE RESPONSIBILITY."
158  GOTO 197
159  PRINT "HOURS OF WORK REDUCED BY HALF DURING A LAYOFF. YOUR TAKE"
160  PRINT "HOME PAY IS 50% LESS DURING THE NEXT TWO MONTHS."
161  GOTO 197
162  PRINT "YOU WORKED OVERTIME. TAKE HOME PAY $50 MORE THIS MONTH."
163  GOTO 197
164  PRINT "YOU LOST YOUR WALLET. IT HAD $23 IN IT."
165  GOTO 197
166  PRINT "YOU BOUGHT A MAGAZINE SUBSCRIPTION FOR $9."
167  GOTO 197
168  PRINT "BUSINESS GOOD THIS MONTH. YOUR BOSS GAVE YOU A $35 BONUS."
169  GOTO 197
170  PRINT "YOU DAMAGED EQUIPMENT AT WORK WHICH YOU HAD TO REPLACE "
171  PRINT "AT A COST OF $19."
172  GOTO 197
173  PRINT "YOU EARNED AN EXTRA $10 BABYSITTING THIS M@NTH."
174  GOTO 197
175  PRINT "YOUR FATHER GAVE YOU AN EXTRA $25 FOR DOING SO MUCH BETTER"
176  PRINT "IN YOUR SCHOOLWORK."
177  GOTO 197
178  PRINT "YOUR PRIZE FOR FIRST PLACE IN A HOG-CALLING CONTEST IS $50."
179  GOTO 197
180  PRINT "YOU LOST YOUR CREDIT CARD AND DIDN'T KNOW ABOUT THE LOSS"
181  PRINT "UNTIL YOU WANTED TO USE IT. YOU DON'T HAVE INSURANCE"
182  PRINT "AGAINST LOSS OF CREDIT CARDS. YOUR CARD HAS BEEN USED BY"
183  PRINT "SOMEONE TO MAKE PURCHASES OF $10 AND $15. YOU MUST PAY $25."
184  GOTO 197
185  PRINT "YOU OWED A FRIEND $12 AND HE COLLECTED THIS MONTH."
186  GOTO 197
188  PRINT "YOU WIN A SWEEPSTAKES DRAWING. YOUR PRIZE----TWICE THE"
189  PRINT "AMOUNT OF MONEY YOU SPENT THIS MONTH IN CATEGORY 5--"
190  PRINT "MISCELLANEOUS ITEMS."
191  GOTO 197
193  PRINT "NO GOODIES OR BADDIES THIS MONTH."
194  GOTO 197
195  PRINT "THINGS DULL THIS MONTH. NO UNEXPECTED EVENTS."
197  LET Z=INT(P/240+.5)
199  PRINT 
200  PRINT "THANK YOU FOR SHOPPING COMPU."
201  IF I=1 THEN 210
202  IF I=4 THEN 212
203  IF I=3 THEN 214
205  LET F=Z
206  GOTO 235
210  LET F=INT(576*P/(1140*240)+.5)
211  GOTO 235
212  LET F=INT(576*P/(1392*240)+.5)
213  GOTO 235
214  LET F=INT(576*P/(1320*240)+.5)
235  PRINT "YOUR TOTAL POINTS THIS MONTH WERE"F+1
239  GOTO 300
240  PRINT " END OF YEAR"
241  PRINT 
242  PRINT "ENTER TOTAL BALANCE TO PAY NOW.";
243  INPUT E
244  PRINT "ENTER ENDING SAVINGS ACCOUNT BALANCE NOW.";
245  INPUT W
250  LET Q=0
251  IF E <= 50 THEN 255
252  LET Q=Q-INT((E-50)/5+.5)
255  IF I=6 THEN 261
256  IF W >= H[I] THEN 259
257  LET Q=Q-INT((H[I]-W)/10+.5)
258  GOTO 270
259  LET Q=Q+INT((W-H[I])/25+.5)
260  GOTO 270
261  PRINT "ENTER THE AMOUNT(APPROXIMATE) OF MONEY YOU HAD TO SPEND"
262  PRINT "EACH MONTH AFTER FIXED EXPENSES AND 20% INCIDENTALS ARE"
263  PRINT "SUBTRACTED FROM MONTHLY INCOME."
264  INPUT V
265  LET Q=Q-INT((V*(V-48)*120)/(48*V))
266  LET Q=Q+INT(W/100)
267  IF Q <> 0 THEN 270
269  GOTO 300
270  IF Q >= 0 THEN 274
271  PRINT "THE RESULTS ARE IN, BUT YOU MUST SUBTRACT"ABS(Q)" POINTS"
272  PRINT "FROM YOUR TOTAL POINTS TO GET YOUR FINAL SCORE."
273  GOTO 300
274  IF Q=0 THEN 278
275  PRINT "YOU LUCKY DOG,YOU GET TO ADD"Q" POINTS"
276  PRINT "TO YOUR TOTAL POINTS TO GET YOUR FINAL SCORE."
277  GOTO 300
278  PRINT "NO POINTS TO ADD OR SUBTRACT THIS TIME."
280  DATA 7,5,3,10,1000,5,7,10,3,50,4,10,10,1,0,7,10,1,7,1000
281  DATA 10,10,4,1,25
282  DATA 10,7,6,3,6,6,7,2,8,2,5,9,3,9,8,3,2,9,8,2,8,10,5,7,4,7,2
283  DATA 4,8,10,8,6,8,7,7,9,8,9,4,6,2,5,9,5,6,2,6,6,9,6,3,6,4,6
300  PRINT '10'10'10'10'10'10'10'10'10
301  GOTO 20
302  END 
999  PRINT "READY"
1000  END 
9000  REM  *****  PRINT  *****  DEMONSTRATION PROGRAM  *****
9001  REM  *****  VERSION III  *****  2/16/73  *****
9002  REM  *****  GENERATES LARGE LETTERS  *****  REVISED BY  *****
9003  REM  *****  RANDY GILBERTSON  *****
9004  DIM A$[72],B$[72],C$[2],M[60,6]
9005  LET B=255
9006  PRINT "INFORMATION";
9007  INPUT A
9008  IF A=0 THEN 9017
9009  PRINT "THIS PROGRAM PRINTS CHARACTERS OF HEIGHT 2, 3.5, 5, OR 7"
9010  PRINT "INCHES. WHEN THE MACHINE TYPES 'SIZE?' TYPE A NUMBER"
9011  PRINT "FROM 1 TO 4 FOR CHARACTERS OF THE ABOVE SIZES. WHEN"
9012  PRINT "THE MACHINE TYPES 'WHAT IS YOUR MESSAGE?' INPUT A"
9013  PRINT "MESSAGE FROM 1 TO 72 CHARACTERS. FOR QUOTES USE A CONTROL"
9014  PRINT "K. WHEN THE MACHINE TYPES 'METHOD?' TYPE (1) CHARACTERS"
9015  PRINT "PRINTED IN THE CHARACTER THEY REPRESENT (2) PRINTED"
9016  PRINT "IN A CHARACTER OF YOUR CHOICE."
9017  PRINT "SIZE";
9018  INPUT Z
9019  PRINT "WHAT IS YOUR MESSAGE?"
9020  ENTER B,C,B$
9021  PRINT 
9022  PRINT "METHOD";
9023  INPUT A
9024  IF A#2 THEN 9027
9025  PRINT "INPUT 2 OF YOUR CHARACTERS";
9026  INPUT C$[1,2]
9027  PRINT '10'10'10'10'10'10'10'10'10'10'10'10'10'10'10
9028  LET A$="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789<>=#+-*/"'92"()[].,;:!?"'11"'$%"
9029  MAT  READ M
9030  FOR I=1 TO 9
9031  LET T[I]=2^(I)-1
9032  NEXT I
9033  FOR I=1 TO LEN(B$)
9034  FOR J=1 TO 60
9035  IF A$[J,J]#B$[I,I] THEN 9038
9036  LET F=J
9037  GOTO 9039
9038  NEXT J
9039  FOR K=1 TO 6
9040  LET X=M[F,K]
9041  IF X=0 THEN 9071
9042  FOR Q=1 TO 9
9043  IF T[Q]<X THEN 9046
9044  LET Y=Q
9045  GOTO 9047
9046  NEXT Q
9047  FOR L=1 TO 9
9048  LET P[L]=X-2*INT(X/2)
9049  LET X=INT(X/2)
9050  NEXT L
9051  FOR M=1 TO Z
9052  FOR O=1 TO Y
9053  IF P[O]=0 THEN 9064
9054  FOR Z1=1 TO Z
9055  GOTO A OF 9056,9061
9056  IF B$[I,I]#'11 THEN 9059
9057  PRINT "::";
9058  GOTO 9062
9059  PRINT B$[I,I];B$[I,I];
9060  GOTO 9062
9061  PRINT C$;
9062  NEXT Z1
9063  GOTO 9067
9064  FOR Z2=1 TO Z
9065  PRINT "  ";
9066  NEXT Z2
9067  NEXT O
9068  PRINT 
9069  NEXT M
9070  GOTO 9073
9071  PRINT 
9072  PRINT 
9073  NEXT K
9074  NEXT I
9075  PRINT '10'10'10'10'10'10'10'10'10'10
9076  DATA 511,264,264,264,511,0,511,273,273,273,238,0
9077  DATA 511,257,257,257,387,0,511,257,257,257,254,0
9078  DATA 511,273,273,273,257,0,511,272,272,256,256,0
9079  DATA 511,257,273,273,415,0,511,16,16,16,511,0
9080  DATA 0,257,511,257,0,0,3,1,1,1,511,0
9081  DATA 511,16,40,68,387,0,511,1,1,1,1,0
9082  DATA 511,96,24,96,511,0,511,96,24,6,511,0
9083  DATA 511,257,257,257,511,0,511,272,272,272,496,0
9084  DATA 511,257,261,259,511,0,511,272,272,272,239,0
9085  DATA 499,273,273,273,415,0,256,256,511,256,256,0
9086  DATA 510,1,1,1,510,0,496,12,3,12,496,0
9087  DATA 511,12,48,12,511,0,387,204,48,204,387,0
9088  DATA 384,96,31,96,384,0,259,269,313,353,385,0,0,0,0,0,0,0
9089  DATA 511,263,313,449,511,0,0,129,511,1,0,0
9090  DATA 391,265,281,273,225,0,387,273,273,273,495,0
9091  DATA 496,16,16,16,511,0,499,273,273,273,270,0
9092  DATA 511,273,273,273,415,0,384,263,280,352,384,0
9093  DATA 238,273,273,273,238,0,499,273,273,273,511,0
9094  DATA 16,40,40,68,68,0,68,68,40,40,16,0
9095  DATA 40,40,40,40,40,0,40,124,40,124,40,0
9096  DATA 16,16,124,16,16,0,16,16,16,16,16,0,68,40,254,40,68,0
9097  DATA 3,14,56,224,384,0,384,224,56,14,3,0
9098  DATA 0,56,198,387,257,0,257,387,198,56,0,0
9099  DATA 0,511,257,257,0,0,0,257,257,511,0,0
9100  DATA 0,0,1,1,0,0,0,0,2,3,0,0
9101  DATA 0,0,130,131,0,0,0,0,130,130,0,0
9102  DATA 0,0,509,509,0,0,128,256,269,285,224,0
9103  DATA 0,448,0,448,0,0,0,0,448,0,0,0
9104  DATA 499,273,511,273,415,0,387,398,312,483,387,0
9105  END 
