Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
Another useful collection of decision aids for Farm Management. This
one is from Alberta College's Department of Agriculture, and each
one analyzes a specific farming related situation. If you are
involved in any aspect of farming, or are a student of analysis
methods, this disk holds a lot of information.
System Requirements: Monochrome display, 64K and one disk drive.
How to Start: To run BASIC programs consult the directions in GETTING
STARTED for your configuration. Consult README.DOC for additional
program information.
File Descriptions:
AUTOEXEC BAT Batch file BASICA HELLO
DIET BAS Diet Detective Jr. - March 1983
CRCROP BAS Concensus research crops model - July 1984
COWCRAB BAS Cow calf risk analysis budget - July 1983
CFP BAS Comparative feed pricing - June 1984
CARCOST BAS Car or truck costing program - January 1984
BFP BAS Breakeven feeder prices - July 1984
BESTCROP BAS Breakeven prices & yields - March 1982
HAYCRAB BAS Hay cost returns and analysis - March 1982
DOLLAR BAS Dollar Detective - personal budgeting - March 1983
LOAN BAS Loan calculator - August 1984
LANDPUR BAS Land purchase decisions - February 1983
INSTALL BAT Batch file to add system and BASICA to disk
HELLO BAS Alberta Agricluture menu program - August 1984
README DOC Author supplied documentation file
RATION BAS Ration balancing - May 1984
1 REM BESTCROP-AN ANALYSIS OF EQUAL RETURN PRICES & YIELDS FOR TWO CROPS
3 REM ORIGINATED FROM AGNET PROGRAM
4 REM REWRITTEN IN APPLESOFT BASIC FOR APPLE II & III BY EL MCCARLEY MARCH/82
5 REM CONTACT: E.L. MCCARLEY, C.S.B.
6 REM LAST REVISION: MARCH 30, 1982 BY ELM ( CHANGE LINE 9075 ALSO)
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN"HELLO.BAS"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM *** MAINLINE: BESTCROP ***
5005 DIM F(5),G(5),L(5),R(5),E(5),D(5),P(5)
5006 B=1:B1=1:C=1:C1=1
5010 GOSUB 60000
5020 GOSUB 9000
5030 GOSUB 6000: REM PAINT SCREEN
5040 GOSUB 6500: REM ENTER CROP DATA
5050 S1=23:S2=1: GOSUB 24: PRINT "ANY CHANGES (Y/N)?":S1=23:S2=22:S3=3:S6$="Y":S9=1: GOSUB 9
5060 IF S$="Y" THEN 5040
5070 GOSUB 7000: REM RESULTS TO SCREEN
5080 S1=23:S2=1: GOSUB 24: PRINT "DO YOU WANT TO PRINT RESULTS (Y/N)?":S1=23:S2=37:S3=3:S6$="Y":S9=1: GOSUB 9
5090 IF S$="Y" THEN GOSUB 8000: REM RESULTS TO PRINTER
5100 S1=23:S2=1: GOSUB 24: PRINT "DO YOU WANT TO RUN AGAIN (Y/N)? ":S2=37: GOSUB 9
5110 IF S$="Y" THEN 5030
5120 CLS : PRINT : PRINT : PRINT : PRINT "THANK YOU AND GOOD FARMING!"
5130 LOCATE 10,1: COLOR 0,7 : PRINT "PLEASE WAIT ... LOADING PROGRAM MENU": COLOR 7,0 : RUN "HELLO"
6000 REM *** SUBR: PAINT SCREEN
6010 CLS
6020 PRINT "NAME OF BASE CROP ?"
6030 PRINT " ---- ----"
6040 PRINT "UNIT OF YIELD ?"
6050 PRINT "EXPECTED YIELD/ACRE ?"
6060 PRINT "EXPECTED PRICE/UNIT ($) ?"
6070 PRINT : PRINT "DIRECT CASHFLOW EXPENSE/ACRE TO GROW"
6080 PRINT " LESS SECONDARY CROP VALUE ($) ?"
6100 PRINT : PRINT "======================================="
6120 PRINT : PRINT : PRINT "NAME OF COMPETING CROP ?"
6130 PRINT " --------- ----"
6140 PRINT "UNIT OF YIELD ?"
6150 PRINT "EXPECTED YIELD/ACRE ?"
6160 PRINT "EXPECTED PRICE/UNIT ($) ?"
6170 PRINT : PRINT "DIRECT CASHFLOW EXPENSE/ACRE TO GROW"
6180 PRINT " LESS SECONDARY CROP VALUE ($) ?"
6190 RETURN
6500 REM *** SUBR: ENTER BASE & COMPETING CROP DATA
6510 S1=1:S2=21:S3=2:S9=15:S6$=B$: GOSUB 9:B$=S$
6515 S1=3:S2=27:S9=7:S6$=U$: GOSUB 9:U$=S$
6520 S1=4:S3=1:S4=0.1:S5=999:S6$= MID$(STR$(B),2): GOSUB 9:B=S
6525 S1=5:S6$= MID$(STR$(B1),2): GOSUB 9:B1=S
6530 S1=8:S2=36:S4=0:S5=500:S6$= MID$(STR$(E1),2): GOSUB 9:E1=S
6535 S1=13:S2=26:S3=2:S9=15:S6$=C$: GOSUB 9:C$=S$
6540 S1=15:S2=27:S9=7:S6$=W$: GOSUB 9:W$=S$
6545 S1=16:S3=1:S4=0.1:S5=999:S6$= MID$(STR$(C),2): GOSUB 9:C=S
6550 S1=17:S6$= MID$(STR$(C1),2): GOSUB 9:C1=S
6555 S1=20:S2=34:S4=0:S5=500:S6$= MID$(STR$(E2),2): GOSUB 9:E2=S
6580 RETURN
7000 REM *** SUBR: DISPLAY RESULTS ON SCREEN
7010 CLS
7020 PRINT "BREAKEVEN PRICES & YIELDS FOR TWO CROPS"
7025 PRINT "======================================="
7030 PRINT : PRINT LEFT$(B$+" ",9)+"*"+ LEFT$(C$+" ",9)+"-------"+"PRICE ($)/"+ LEFT$(W$,4)
7040 M=0!
7050 FOR J=1 TO 5
7060 F(J)=C1+C1*(M-0.2)
7070 F(J)= INT(F(J)*100!)/100!
7080 M=M+0.1
7090 NEXT J
7100 S3$=STR$(B)+" ":S3$=MID$(S3$,2,3):A$=S3$+"*"
7101 S4=6:S5=2
7102 FOR J=1 TO 5
7104 S3=F(J): GOSUB 200:A$=A$+S3$
7106 NEXT J
7108 PRINT "YIELD=";A$
7110 PRINT " PRICE($)*"
7120 PRINT " /"; LEFT$(U$+" ",7);"*'=RETURN' "; LEFT$(C$+" ",9);"YIELD/ACRE": PRINT " *"
7130 M=0
7140 FOR I=1 TO 5
7150 D(I)=B1+B1*(M-0.2)
7160 M=M+0.1
7170 FOR J=1 TO 5
7180 G(J)=(B*D(I)-E1+E2)/F(J)
7190 G(J)= INT(G(J)*100!)/100!
7200 NEXT J
7210 S3=D(I):S4=6:S5=2: GOSUB 200:A$=S3$+" *"
7214 S5=0: FOR K=1 TO 5:S3=G(K): GOSUB 200:A$=A$+S3$: NEXT K
7218 PRINT A$
7220 NEXT I
7230 GOSUB 300: CLS
7235 REM ********* TABLE #2 *********
7240 PRINT " ": PRINT LEFT$(B$+" ",9)+"*"+ LEFT$(C$+" ",9)+"----"+"YIELD/ACRE------"
7250 M=0
7260 FOR J=1 TO 5
7270 L(J)=C+C*(M-0.2)
7280 L(J)= INT(L(J)*100!)/100!
7290 M=M+0.1
7300 NEXT J
7410 S3=B1:S4=6:S5=2: GOSUB 200:A$="$"+S3$+" *"
7414 S5=1: FOR J=1 TO 5:S3=L(J): GOSUB 200:A$=A$+S3$: NEXT J
7418 PRINT A$;
7420 PRINT : PRINT " YIELD *"
7430 PRINT "PER ACRE *'=RETURN' "; LEFT$(C$+" ",9)+"--PRICE($)":PRINT " *"
7440 M=0
7450 FOR I=1 TO 5
7460 E(I)=B+B*(M-0.2)
7470 M=M+0.1
7480 FOR J=1 TO 5
7490 G(J)=(E(I)*B1-E1+E2)/L(J)
7500 G(J)= INT(G(J)*100!)/100!
7510 NEXT J
7520 S3=E(I):S4=5:S5=1: GOSUB 200:A$=S3$+" *"
7524 S4=6:S5=2: FOR K=1 TO 5:S3=G(K): GOSUB 200:A$=A$+S3$: NEXT K
7528 PRINT A$
7530 NEXT I
7550 GOSUB 300: CLS
7555 REM ********* TABLE #3 *********
7560 S3=B1:S4=5:S5=2: GOSUB 200
7562 PRINT : PRINT LEFT$(B$+" ",9)+": YIELD="+ RIGHT$ (" "+ STR$(B),3)+" "+ LEFT$(U$+" ",6)+";PRICE=$"+S3$
7570 PRINT : PRINT "PRICE RETURN YIELD RETURN"
7580 PRINT
7590 FOR J=1 TO 5
7600 P(J)=B*D(J)-E1
7610 R(J)=B1*E(J)-E1
7620 R(J)= INT(R(J)*100!)/100!:P(J)= INT(P(J)*100!)/100!
7630 S4=6:S5=2:S3=D(J): GOSUB 200:A$="$"+S3$
7634 S3=P(J): GOSUB 200:A$=A$+" $"+S3$
7636 S3=E(J): GOSUB 200:A$=A$+" "+S3$
7638 S3=R(J): GOSUB 200:A$=A$+" $"+S3$
7639 PRINT A$
7640 NEXT J
7650 PRINT
7660 RETURN
8000 REM *** SUBR: DISPLAY RESULTS ON PRINTER
8040 LPRINT " ":LPRINT " ":LPRINT " "
8050 LPRINT " BREAKEVEN PRICES AND YIELDS FOR TWO CROPS"
8055 LPRINT " ========================================="
8060 LPRINT " ":LPRINT " ":LPRINT B$,C$,"PRICE($)/ ";W$
8070 LPRINT "YIELD=";B,F(1);" ";F(2);" ";F(3);" ";F(4);" ";F(5)
8080 LPRINT " PRICE($)"
8090 LPRINT " PER ";U$,"EQUAL-RETURN ";C$;" YIELD/ACRE"
8100 FOR I=1 TO 5
8110 FOR J=1 TO 5
8120 G(J)=(B*D(I)-E1+E2)/F(J)
8130 G(J)= INT(G(J)*100!)/100!
8140 NEXT J
8150 S3=D(I):S4=8:S5=2: GOSUB 200:A$=S3$+" "
8152 S4=11:S5=1: FOR K=1 TO 5:S3=G(K): GOSUB 200:A$=A$+S3$: NEXT K
8154 LPRINT A$
8160 NEXT I
8165 LPRINT " ":LPRINT "------------------------------------------------------------"
8170 LPRINT " ":LPRINT B$,C$,"YIELD PER ACRE"
8180 LPRINT "PRICE=$ ";B1,L(1);" ";L(2);" ";L(3);" ";L(4);" ";L(5)
8190 LPRINT " YIELD"
8200 LPRINT " PER ACRE EQUAL-RETURN ";C$,"PRICE ($)"
8210 FOR I=1 TO 5
8220 FOR J=1 TO 5
8230 G(J)=(E(I)*B1-E1+E2)/L(J)
8240 G(J)= INT(G(J)*100!)/100
8250 NEXT J
8260 S3=E(I):S4=8:S5=1: GOSUB 200:A$=S3$+" "
8262 S4=11:S5=2: FOR K=1 TO 5:S3=G(K): GOSUB 200:A$=A$+S3$: NEXT K
8264 LPRINT A$
8270 NEXT I
8280 LPRINT " ":LPRINT " -----------------------------------------------------------"
8290 LPRINT " ":LPRINT " ":LPRINT B$;" YIELD=";B;" ";U$;,B$;" PRICE=$";B1
8300 LPRINT "PRICE","RETURN","YIELD","RETURN"
8310 LPRINT " "
8320 FOR J=1 TO 5
8330 S4=6:S5=2:S3=D(J): GOSUB 200:A$="$"+S3$+" "
8332 S4=14:S3=P(J): GOSUB 200:A$=A$+S3$+" "
8334 S5=1:S3=E(J): GOSUB 200:A$=A$+S3$+" "
8336 S5=2:S3=R(J): GOSUB 200:A$=A$+S3$
8338 LPRINT A$
8340 NEXT J
8350 LPRINT
8355 REM END PRINT
8360 RETURN
9000 REM *** SUBR: DESCRIPTION SCREEN ***
9020 CLS
9030 PRINT : PRINT : COLOR 0,7 : PRINT " B E S T C R O P ": COLOR 7,0
9040 PRINT : PRINT : PRINT " AN ANALYSIS OF EQUAL RETURN"
9050 PRINT : PRINT " PRICES AND YIELDS"
9055 PRINT : PRINT : PRINT : PRINT "THIS ANALYSIS ASSUMES ENOUGH MACHINERY"
9060 PRINT "AND TIME TO GROW EITHER CROP WITHOUT"
9065 PRINT "ADVERSE EFFECTS DUE TO MONO-CULTURE,"
9070 PRINT "ROTATION, PESTS, ETC."
9075 PRINT : PRINT : PRINT : PRINT : PRINT " MARCH 30, 1982"
9080 GOSUB 300: REM SCRNHOLD
9090 RETURN
10000 REM **** VARIABLES ****
10002 REM B$=BASE CROP *C$=COMPETING CROP
10004 REM B =YIELD/ACRE *C =YIELD/ACRE
10006 REM B1=PRICE/UNIT *C1=PRICE/UNIT
10008 REM E1=CASHFLOW EXPENSES *E2=CASHFLOW EXPENSES
10010 REM D()= RANGE OF PRICES/UNIT YIELD OF BASE CROP
10012 REM E()= RANGE OF YIELDS/ACRE OF BASE CROP
10014 REM F()= RANGE OF PRICES/UNIT YIELD OF COMPETING CROP
10016 REM L()= RANGE OF YIELDS/ACRE OF COMPETING CROP
10018 REM P()=EXPECTED RETURNS FOR BASE CROP (YIELD B & PRICES D())
10020 REM R()=EXPECTED RETURNS FOR BASE CROP (PRICE B1 & YIELDS E())
10022 REM G()= WORK ARRAY
10024 REM I,J,K=COUNTERS (1-5) : M =COUNTER (BY .1)
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 17,4
60430 PRINT"FIELD SERVICES DIVISION"
60440 LOCATE 18,4
60450 PRINT" & ECONOMIC SERVICES DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,14:PRINT"FIELD SERVICES & ECONOMIC SERVICES DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
1 REM *** BREAK-EVEN FEEDER PRICES****
2 REM ***THIS PROGRAM CALCULATES THE BREAK-EVEN PURCHASE PRICE, SALE PRICE AND
3 REM *** EXPECTED NET REVENUE FOR FEEDING LIVESTOCK.
4 REM ****JULY/84****
5 REM G.MONNER
6 REM R.E.B.S. BRANCH
7 REM FAIRVIEW,ALTA.
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOSUB 9090:GOTO 22
16 IF S3=1 THEN GOSUB 56:IF T=1 OR T=2 THEN 20
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN "HELLO.BAS"
55 RETURN
56 GOSUB 9090:S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 GOSUB 62000: GOSUB 60000: REM LOGO SCRNPRT LOADER
5010 REM ****************************
5020 REM *****T I T L E *************
5030 REM ****************************
5040 CLS
5050 PRINT : PRINT : PRINT " BREAK-EVEN FEEDER PRICES"
5060 PRINT
5070 PRINT " REVISED JULY/84"
5080 PRINT : PRINT : PRINT : PRINT : PRINT : PRINT
5090 PRINT " ENTER VALUES AS REQUESTED. IF YOU"
5100 PRINT " NEED ASSISTANCE ENTER 'H' FOR HELP."
5110 PRINT " THE FOLLOWING SECTIONS HAVE THE"
5115 PRINT " 'HELP' FUNCTION:"
5120 PRINT " -AVERAGE WEIGHTS & PRICES"
5130 PRINT " -AVERAGE DAYS ON FEED "
5140 PRINT " -FEED COSTS"
5150 PRINT " -YARDAGE "
5160 PRINT " NOTE: CHECK MANUAL FOR MORE FEATURES."
5220 GOSUB 300
5230 REM *******************************
5240 REM ****MAIN TABLE DATA ENTRY******
5250 REM *******************************
5260 DIM Y(12):S9=8:V=1:A1=2:A2=1:B1=1:B2=1:DF=1:DR=1
5270 FOR I=1 TO 12:Y(I)=1: NEXT I
5280 GOSUB 7900: REM PRINT MAIN TABLE
5290 GOSUB 9260:V=2: GOSUB 9260
5300 S6$= STR$(A1):S1=5:S2=6:S3=1:S4=1:S5=3000:V=2: GOSUB 9:V=1: IF T=1 THEN T=0:I=1: GOSUB 6260: GOTO 5370
5310 A1=S
5320 GOSUB 9260:V=3: GOSUB 9260
5330 S6$= STR$(B1):S2=16:S4=1:S5=3000:V=3: GOSUB 9:V=1: IF T=1 THEN T=0:I=1: GOSUB 6260: GOTO 5370
5340 IF T=2 THEN T=0: GOSUB 8490: GOTO 5380
5350 B1=S
5360 S2=28: GOSUB 24: PRINT INT(((A1*B1)/100)*100+0.5)/100
5370 GOSUB 9260:V=2: GOSUB 9260
5380 S6$= STR$(A2):S1=6:S2=6:S3=1:S4=1:S5=3000:V=2: GOSUB 9:V=1: IF T=1 THEN T=0:I=2: GOSUB 6260: GOTO 5440
5390 A2=S
5400 GOSUB 9260
5410 S6$= STR$(B2):S2=16:S4=1:S5=3000: GOSUB 9:V=1: IF T=1 THEN T=0:I=2: GOSUB 6260: GOTO 5440
5420 B2=S
5430 S2=28: GOSUB 24: PRINT INT(((A2*B2)/100)*100+0.5)/100
5440 GOSUB 9260:V=2: GOSUB 9260
5450 S6$= STR$(DF):S1=8:S2=29:S3=1:S4=1:S5=500:V=2: GOSUB 9:V=1: IF T=1 THEN T=0: GOSUB 6660: GOTO 5470
5460 DF=S
5470 GOSUB 9260:V=4: GOSUB 9260
5480 S6$= STR$(FC):S1=10:S2=29:S3=1:S4=0.01:S5=500:V=4: GOSUB 9:V=1: IF T=1 THEN T=0: GOSUB 7020: GOTO 5510
5490 IF T=3 THEN T=0:FC= INT(S*DF*1000+0.5)/1000: GOSUB 24: PRINT FC;: GOTO 5510
5500 FC=S
5510 GOSUB 9260:V=5: GOSUB 9260
5520 S6$= STR$(VM):S1=11:S2=29:S3=1:S4=0.01:S5=500:V=5: GOSUB 9:V=1
5530 IF T=3 THEN T=0:VM= INT(S*DF*1000+0.5)/1000: GOSUB 24: PRINT VM;: GOTO 5550
5540 VM=S
5550 GOSUB 9260
5560 S6$= STR$(DR):S1=12:S2=29:S3=1:S4=1:S5=100: GOSUB 9:V=1
5570 IF T=3 THEN T=0:DR= INT(S*DF*1000+0.5)/1000: GOTO 5590
5580 DR=S
5590 GOSUB 9260:V=6: GOSUB 9260
5600 S6$=I8$
5640 S1=13:S2=14: GOSUB 24: PRINT " ";
5650 S3=1:S4=0.01:S5=500:V=6: GOSUB 9:V=1
5660 IF T=3 THEN T=0:IR= INT(S*DF*100+0.5)/100:I7=1: GOTO 5760
5670 IF T=4 THEN T=0:IR=S:I7=2: GOTO 5760
5680 IF T=5 THEN T=0:V1=((FC/2)*(S/100)*(DF/2)/365):I7=3: GOTO 5750
5690 IF I8$=S$ AND VAL(S6$) > 0 THEN 5700
5695 GOTO 5720
5700 IF I7=1 THEN T=3: GOTO 5660
5705 IF I7=2 THEN T=4: GOTO 5670
5710 IF I7=3 THEN T=5: GOTO 5680
5720 S1$="":S2$="ADD '*','%' OR '$' TO THE #'S END"
5730 GOSUB 78
5740 GOTO 5600
5750 CA=A2*B2/100
5755 IR= INT(((CA*S*DF/36500!)+V1-(V1*DR/200))*100+0.5)/100
5760 CA=A2*B2/100
5770 S2=29: GOSUB 24: PRINT " ": GOSUB 24: PRINT IR;
5780 GOSUB 9260:V=4: GOSUB 9260
5790 S6$= STR$(YA):S1=14:S2=29:S3=1:S4=0.01:S5=500:V=4: GOSUB 9:V=1
5800 IF T=3 THEN T=0:YA= INT(S*DF*100+0.5)/100: GOSUB 24: PRINT YA;: GOTO 5830
5810 IF T=1 THEN T=0: GOSUB 7450: GOTO 5830
5820 YA=S
5830 GOSUB 9260
5840 GOSUB 8130
5850 S1=18:S2=1: GOSUB 24
5860 LOCATE 18,29: PRINT INT(BS*10000+0.5)/100
5870 LOCATE 19,29: PRINT INT(BP*10000+0.5)/100
5880 LOCATE 20,29: PRINT INT(NR*100+0.5)/100
5890 IF Q1 > 0 OR Q2 > 0 THEN V4=1: GOSUB 8670
5900 S1=23:S2=1: GOSUB 24: PRINT "CHANGE DATA (Y/N)? ";
5910 S6$=" ":S1=23:S2=22:S3=3: GOSUB 9
5920 IF LEFT$(S$,1)="Y" THEN 5280
5930 IF S$=" " THEN 5910
5940 IF V4=1 THEN S2=1: GOSUB 24: PRINT "PROBABILITY ANALYSIS (Y/N)?";: GOTO 5960
5950 GOTO 5980
5960 S6$="Y":S1=23:S2=29:S3=3: GOSUB 9
5970 IF LEFT$(S$,1)="Y" THEN 8720
5980 S2=1: GOSUB 24: PRINT "SUPPLEMENTAL INFORMATION (Y/N)? ";
5990 S6$="Y":S1=23:S2=35:S3=3: GOSUB 9
6000 IF LEFT$(S$,1)="Y" THEN 6100
6010 GOSUB 9040
6020 S2=1: GOSUB 24: PRINT "EXIT PROGRAM (Y/N)? ";
6030 S6$="N":S1=23:S2=21:S3=3: GOSUB 9
6040 IF LEFT$(S$,1)="Y" THEN CLS : PRINT "GOOD BYE": LOCATE 10,1: COLOR 0,7 : PRINT " PLEASE WAIT ... LOADING PROGRAM MENU ": COLOR 7,0 :RUN "HELLO"
6060 GOTO 5900
6070 REM *******************************
6080 REM ****SUPPLIMENTAL INFORMATION***
6090 REM *******************************
6100 CLS : PRINT : PRINT "****SUPPLEMENTAL INFORMATION****"
6110 PRINT "================================"
6120 PRINT : PRINT "A D G ...................=" INT(P0*100+0.5)/100
6130 PRINT : PRINT "* TOTAL COST/LB OF GAIN..=$" INT(P1*100+0.5)/100
6140 PRINT : PRINT " FEED COST/LB OF GAIN...=$" INT((P2)*100+0.5)/100
6150 PRINT : PRINT " FEED COST/ANIMAL/DAY...=$" INT(P3*100+0.5)/100
6160 PRINT : PRINT "* TOTAL COST/ANIMAL/DAY..=$" INT(P4*100+0.5)/100
6170 PRINT : PRINT " FEED COST/ANIMAL.......=$" INT(P5*100+0.5)/100
6180 PRINT : PRINT "* TOTAL COST/ANIMAL......=$" INT(P6*100+0.5)/100
6190 PRINT "================================"
6200 PRINT "* NOTE:DOES NOT INCLUDE PURCHASE PRICE.*"
6210 GOSUB 300: GOSUB 9040
6220 GOSUB 7900: GOTO 5850
6230 REM *******************************
6240 REM ***H E L P ! FOR WT. & PRICE***
6250 REM *******************************
6260 CLS : PRINT "AVERAGE WT = LBS.
6270 PRINT "AVERAGE PRICE= $/CWT
6280 PRINT : PRINT "===================================="
6290 PRINT " NO. OF WEIGHT PRICE"
6300 PRINT " ANIMALS <LBS> <$/CWT>"
6310 PRINT " -------- -------- --------"
6320 A(1)=A1:A(2)=A2:B(1)=B1:B(2)=B2
6330 J=1
6340 S1=7+J:S2=1: GOSUB 24: PRINT J;:S6$= STR$(N(J,I)):S2=4:S3=1:S4=1:S5=1000
6350 GOSUB 9
6360 IF S=0 THEN GOTO 6440
6370 N(J,I)= VAL(S$)
6380 S6$= STR$(AA(J,I)):S2=15:S5=2000: GOSUB 9
6390 AA(J,I)= VAL(S$)
6400 S6$= STR$(BB(J,I)):S2=29:S5=200: GOSUB 9
6410 BB(J,I)= VAL(S$)
6420 IF JK=1 THEN JK=0: GOTO 6570
6430 PRINT :J=J+1:KJ=J: GOTO 6340
6440 CC=0:N1=0:A3=0
6450 FOR JJ=1 TO KJ-1
6460 CC=CC+(N(JJ,I)*AA(JJ,I)*BB(JJ,I)/100)
6470 N1=N1+N(JJ,I):A3=A3+(N(JJ,I)*AA(JJ,I))
6480 NEXT JJ
6490 LOCATE 1,1:A(I)= INT((A3/N1)*100+0.5)/100:B(I)= INT((CC/A3)*10000+0.5)/100
6500 LOCATE 1,15: PRINT A(I):A1=A(1):A2=A(2)
6510 LOCATE 2,15: PRINT B(I):B1=B(1):B2=B(2)
6520 PRINT
6530 S6$=" ":S1=23:S2=1: GOSUB 24:
6540 PRINT " CHANGE DATA? ";:S2=23:S3=3: GOSUB 9: IF LEFT$(S$,1)="Y" THEN 6570
6550 IF LEFT$(S$,1)="N" THEN GOTO 6620
6560 GOTO 6530
6570 S6$="":S1=23:S2=1: GOSUB 24
6580 PRINT " ENTER LINE #: ";:S2=23:S3=1:S4=1:S5=KJ: GOSUB 9: IF S$="" THEN 6440
6590 J= VAL(S$):JK=1: LOCATE 1,1: IF J=KJ THEN JK=0
6600 FOR K=1 TO (4+J): PRINT : NEXT K
6610 GOTO 6340
6620 GOSUB 9040: GOSUB 7900: RETURN
6630 REM *****************************
6640 REM ***H E L P ! DAYS ON FEED****
6650 REM *****************************
6660 CLS : LOCATE 2,1: IF BS > 0 THEN Y$="Y"
6670 PRINT "AVERAGE DAYS ON FEED= "
6680 PRINT : PRINT "ENTER DATE AS 8-DIGIT NUMBER:"
6690 PRINT " EG.<APRIL 1,1980> IS <04011980>"
6700 PRINT : PRINT "==================================="
6710 PRINT "NO. OF DATE DATE"
6720 PRINT "ANIMALS PURCHASED SOLD DAYS"
6730 PRINT "-------- --------- ------- -----"
6740 S1=11:S2=1: GOSUB 24:DE=0:NA=0:I=0
6750 I=I+1: PRINT I;:S6$= STR$(E1(I)):S1=10+I:S2=4:S3=1:S4=1:S5=1000: GOSUB 9
6760 IF S$="" THEN 6910
6770 E1(I)= VAL(S$)
6780 IF E1(I)=0 THEN 6910
6790 S6$=E2$(I):S2=11:S4=1011979!:S5=12312000#: GOSUB 9:E2$(I)=S$:ER$=S$
6800 GOSUB 8420: IF ER=1 THEN 6790
6810 S6$=E3$(I):S2=24:S4=1011979!:S5=12312000#: GOSUB 9:E3$(I)=S$:ER$=S$
6820 GOSUB 8420: IF ER=1 THEN 6810
6830 L4= VAL( RIGHT$(E2$(I),4)+ LEFT$(E2$(I),2)+ MID$(E2$(I),3,2))
6840 L5= VAL( RIGHT$(E3$(I),4)+ LEFT$(E3$(I),2)+ MID$(E3$(I),3,2))
6850 IF L4 > L5 THEN I=I-1: GOTO 6750
6860 GOSUB 90: PRINT "PLEASE BE PATIENT! I'M THINKING.";
6870 GOSUB 8250:S1=10+I:S2=33: GOSUB 24: PRINT A
6880 GOSUB 93:S1=11+I:S2=1: GOSUB 24
6890 AD=E1(I)*A:DE=DE+AD:NA=NA+E1(I)
6900 GOTO 6750
6910 DF= INT((DE/NA)+0.5)
6920 S1=2:S2=23: GOSUB 24: PRINT DF
6930 S1=23:S2=1:S3=3: GOSUB 24
6940 PRINT " CHANGE DATA? ";:S6$=" ":S2=23: GOSUB 9:Y$= LEFT$(S$,1)
6950 IF Y$="Y" THEN 6740
6960 IF Y$="N" THEN 6980
6970 GOTO 6930
6980 GOSUB 9040: GOSUB 7900: RETURN
6990 REM *****************************
7000 REM ***H E L P ! FEED COSTS *****
7010 REM *****************************
7020 CLS : LOCATE 2,1: PRINT "AVERAGE FEED COST/HD=$ "
7030 PRINT " ---------"
7040 PRINT : PRINT "====================================="
7050 PRINT : PRINT " FEED- LBS DAYS $/ LBS/"
7060 PRINT " STUFF FED FED UNIT UNIT"
7070 PRINT " /DAY"
7080 PRINT " ----- --- --- ---- ----"
7090 J=0
7100 JJ=0
7110 J=J+1:S1=10+J:S2=1:GOSUB 24:PRINT "FEED#"J;
7115 S6$=FS$(J):S1=10+J:S2=8:S3=2: GOSUB 9: IF S$="" THEN 7250
7120 FS$(J)=S$
7130 S6$= STR$(PF(J)):S2=16:S3=1:S4=0.1:S5=100: GOSUB 9
7140 PF(J)= VAL(S$)
7150 IF DG(J)=0 OR DG(J)=DF THEN S6$= STR$(DF): GOTO 7170
7160 S6$= STR$(DG(J))
7170 S2=21:S4=1:S5=500: GOSUB 9
7180 DG(J)= VAL(S$)
7190 S6$= STR$(DU(J)):S2=27:S4=0.1:S5=5000: GOSUB 9
7200 DU(J)= VAL(S$)
7210 S6$= STR$(PU(J)):S2=33:S4=0.1:S5=25000: GOSUB 9
7220 PU(J)= VAL(S$)
7230 IF XX=1 THEN XX=0: RETURN
7240 PRINT :JJ=JJ+1: GOTO 7110
7250 GOSUB 7360
7260 S1=23:S2=1: GOSUB 24: PRINT " CHANGE DATA?(Y OR N) ";:S6$=" ":S2=29:S3=3: GOSUB 9
7270 IF S$="Y" THEN GOTO 7300
7280 IF S$="N" THEN GOSUB 9040: GOSUB 7900: RETURN
7290 GOTO 7260
7300 S2=1: GOSUB 24: PRINT " ENTER FEED #: ";
7310 S6$="1":S2=25:S3=1:S4=1:S5=JJ: GOSUB 9:Z= VAL(S$)
7320 LOCATE 1,1
7330 FOR K=1 TO (8+Z): PRINT : NEXT
7340 IF Z > JJ THEN XX=0:J=Z-1: GOTO 7110
7350 J=Z-1:XX=1: GOSUB 7110: GOTO 7250
7360 FC=0
7370 FOR I=1 TO JJ
7380 FC=FC+(PF(I)*DG(I)*DU(I)/PU(I))
7390 NEXT I
7400 FC= INT(FC*100+0.5)/100
7410 LOCATE 2,23:PRINT FC: RETURN
7420 REM ******************************
7430 REM *** H E L P ! YARDAGE ******
7440 REM ******************************
7450 CLS : LOCATE 2,1: PRINT " YARDAGE COST/HD=$"YA
7460 PRINT " -------"
7470 PRINT : PRINT "1-ANIMALS THROUGH FEEDLOT/YR= "Y(1)
7480 PRINT : PRINT "2-OPERATING & MAINTENANCE/YR=$"Y(2)
7490 PRINT : PRINT "3-LABOUR/YR.................=$"Y(3)
7500 PRINT : PRINT "4-FACILITIES:-INVESTMENT....=$"Y(4)
7510 PRINT "5- -SALVAGE VALUE.=$"Y(5)
7520 PRINT "6- -YEARS OF USE..= "Y(6)
7530 PRINT "7- -RATE OF RETURN= "Y(7)" %"
7540 PRINT : PRINT "8-MACHINERY:-INVESTMENT.....=$"Y(8)
7550 PRINT "9- -SALVAGE VALUE..=$"Y(9)
7560 PRINT "10- -YEARS OF USE...= "Y(10)
7570 PRINT "11- -RATE OF RETURN.= "Y(11)" %"
7580 PRINT : PRINT : PRINT
7590 PRINT " CHANGE DATA <Y OR N>"
7600 FOR L=1 TO 11:S6$= STR$(Y(L)):S2=31:S3=1:S4=1
7610 IF L=1 THEN S1=5:S5=10000: GOTO 7720
7620 IF L=2 THEN S1=7:S5=50000!: GOTO 7720
7630 IF L=3 THEN S1=9:S5=50000!: GOTO 7720
7640 IF L=4 THEN S1=11:S5=500000!: GOTO 7720
7650 IF L=5 THEN S1=12:S5=500000!: GOTO 7720
7660 IF L=6 THEN S1=13:S5=100: GOTO 7720
7670 IF L=7 THEN S1=14:S5=50: GOTO 7720
7680 IF L=8 THEN S1=16:S5=500000!: GOTO 7720
7690 IF L=9 THEN S1=17:S5=500000!: GOTO 7720
7700 IF L=10 THEN S1=18:S5=100: GOTO 7720
7710 IF L=11 THEN S1=19:S5=50: GOTO 7720
7720 GOSUB 9:Y(L)= VAL(S$)
7730 NEXT L
7740 GOSUB 7800
7750 S1=2:S2=20: GOSUB 24: PRINT YA;
7760 S6$=" ":S1=23:S2=27:S3=3: GOSUB 9
7770 IF S$="Y" THEN GOTO 7600
7780 IF S$="N" THEN GOSUB 9040: GOSUB 7900: RETURN
7790 GOTO 7740
7800 Y1=((Y(4)+Y(5))/2)*Y(7)/100
7810 Y2=((Y(8)+Y(9))/2)*Y(11)/100
7820 IF Y(6)=0 OR Y(10)=0 THEN Y3=0:Y4=0: GOTO 7850
7830 Y3=(Y(4)-Y(5))/Y(6)
7840 Y4=(Y(8)-Y(9))/Y(10)
7850 YA= INT(((Y(2)+Y(3)+Y1+Y2+Y3+Y4)/Y(1))*100+0.5)/100
7860 RETURN
7870 REM ******************************
7880 REM ****** PRINT MAIN TABLE ******
7890 REM ******************************
7900 CLS : LOCATE 2,1
7910 PRINT " WEIGHT * PRICE ="
7920 PRINT " <LBS.> <$/CWT>"
7930 PRINT " ------- ------- "
7940 PRINT "SALE:";A1; TAB( 14);"* ";B1; TAB( 26);"=$"; INT(A1*B1+0.5)/100
7950 PRINT "PUR.:";A2; TAB( 14);"* ";B2; TAB( 26);"=$"; INT(A2*B2+0.5)/100
7960 PRINT
7970 PRINT " DAYS ON FEED...........= "DF
7980 PRINT
7990 PRINT "FEED COST/HD..............=$"FC
8000 PRINT "VET. & MED./HD............=$"VM
8010 PRINT "DEATH LOSS................= "DR; TAB( 35)"%"
8020 PRINT "INTEREST/HD [ %,$,* ].....=$"IR
8030 PRINT "YARDAGE/HD................=$"YA
8040 PRINT "======================================"
8050 PRINT : PRINT
8060 PRINT "BREAK-EVEN SELLING PRICE..=$"
8070 PRINT "BREAK-EVEN PURCHASE PRICE.=$"
8080 PRINT "NET RETURN(/HD)...........=$"
8090 RETURN
8100 REM ******************************
8110 REM **** CALCULATE ANSWERS********
8120 REM ******************************
8130 OC=IR
8140 DL=A2*B2*DR/10000:SR=A1*B1/100
8150 CC=DL+FC+VM+YA+OC
8160 BS=(CA+CC)/A1
8170 BP=(SR-CC)/A2
8180 NR=SR-CA-CC
8190 P0=(A1-A2)/DF:P1=CC/(A1-A2):P2=FC/(A1-A2)
8200 P3=FC/DF:P4=CC/DF:P5=FC:P6=CC
8210 RETURN
8220 REM ******************************
8230 REM **** DAY CALCULATION ********
8240 REM ******************************
8250 L=0:DX=0:K=0
8260 M= VAL( LEFT$(E2$(I),2)):D= VAL( MID$(E2$(I),3,2))
8270 Y= VAL( RIGHT$(E2$(I),4))
8280 M1= VAL( LEFT$(E3$(I),2)):D1= VAL( MID$(E3$(I),3,2))
8290 Y1= VAL( RIGHT$(E3$(I),4))
8300 IF M=M1 AND Y=Y1 THEN 8380
8310 FOR J=1 TO M: READ D2: NEXT J
8320 RESTORE
8330 IF K=0 AND L <> 2 THEN DX=DX+D2-D:D=0: GOTO 8350
8340 DX=DX+D2
8350 IF INT(Y/4)=Y/4 AND M=2 THEN DX=DX+1
8360 M=M+1: IF M > 12 THEN M=1:Y=Y+1:L=2
8370 K=K+1: GOTO 8300
8380 IF K=0 AND L <> 2 THEN A=DX+D1-D: RETURN
8390 A=DX+D1: RETURN
8400 GOTO 8300
8410 DATA 31,28,31,30,31,30,31,31,30,31,30,31
8420 IF VAL( LEFT$(ER$,2)) > 12 THEN ER=1: RETURN
8430 IF VAL( MID$(ER$,3,2)) > 31 THEN ER=1: RETURN
8440 IF LEN (ER$) <> 8 THEN ER=1: RETURN
8450 ER=0: RETURN
8460 REM ***************************************
8470 REM ****** PROB. INPUT ***********
8480 REM ******************************
8490 CLS : LOCATE 2,1: PRINT : PRINT " IN $/CWT:"
8500 PRINT " ----------------------------"
8510 PRINT:PRINT"WHAT IS YOUR ESTIMATE OF THE ";:COLOR 0,7:PRINT"LOWEST":COLOR 7,0:PRINT"PRICE THAT YOU ";
8520 PRINT "COULD REASONABLY EXPECT":PRINT"TO SELL YOUR ANIMALS FOR?"
8530 PRINT:PRINT"WHAT IS YOUR ESTIMATE OF THE ";:COLOR 0,7:PRINT"HIGHEST":COLOR 7,0:PRINT"PRICE?"
8540 PRINT:PRINT"WHAT IS YOUR ESTIMATE OF THE ";:COLOR 0,7:PRINT"MOST LIKELY";:COLOR 7,0:PRINT"PRICE?"
8550 S1=23:S2=1: GOSUB 24: PRINT " CHANGE DATA?[Y OR N]"
8560 S6$= STR$(Q1):S1=8:S2=27:S3=1:S4=1:S5=200: GOSUB 9
8570 Q1= VAL(S$)
8580 S6$= STR$(Q2):S1=11:S2=8:S3=1:S4=1:S5=200: GOSUB 9
8590 Q2= VAL(S$)
8600 S6$= STR$(Q3):S1=14:S2=8:S3=1:S4=1:S5=200: GOSUB 9
8610 Q3= VAL(S$)
8620 S6$=" ":S1=23:S2=26:S3=3: GOSUB 9: IF S$="Y" THEN 8560
8630 IF S$=" " THEN 8620
8640 B1=Q3: GOSUB 9040: GOSUB 7900: RETURN
8650 REM ******************************
8660 REM ****** PROBABILITY CALC.******
8670 REM ******************************
8680 IF BS*100 > =Q3 THEN Q5=1-((Q2-BS*100)^2)/((Q2-Q3)*(Q2-Q1)): GOTO 8700
8690 IF BS*100 < Q3 THEN Q5=((BS*100-Q1)^2)/((Q3-Q1)*(Q2-Q1)): GOTO 8700
8700 Q4= INT(((Q3-Q1)/(Q2-Q1))*100+0.5)/100
8710 Q5=1-Q5: RETURN
8720 CLS : PRINT " GIVEN YOUR ESTIMATES:"
8730 PRINT " ======================="
8740 PRINT
8750 PRINT "PROB. $/CWT T"
8760 PRINT "----- ----- T 1. YOU HAVE A %CHANCE"
8770 PRINT " T OF GETTING MORE THAN "
8780 PRINT " T YOUR BREAK EVEN SALE"
8790 PRINT " T PRICE OF $ /CWT"
8800 PRINT " T"
8810 PRINT " T "
8820 PRINT " T 2. YOU HAVE A %CHANCE"
8830 PRINT " T OF GETTING MORE THAN "
8840 PRINT " T YOUR MOST LIKELY PRICE"
8850 PRINT " T OF $ /CWT"
8860 PRINT " T"
8870 PRINT " T"
8880 PRINT " T "
8890 PRINT " T "
8900 PRINT " T"
8910 S1=6:S2=1: GOSUB 24
8920 FOR I=10 TO 90 STEP 10
8930 IF I/100 < Q4 THEN Q8=Q1+((1-I/100)*(Q3-Q1)*(Q2-Q1))^0.5
8940 IF I/100 > =Q4 THEN Q8=Q2-(I/100*(Q2-Q3)*(Q2-Q1))^0.5
8950 PRINT I; TAB( 5) INT(Q8*100+0.5)/100: PRINT
8960 NEXT I
8970 IF Q5 < 0 THEN Q5=0
8972 IF(BS*100)<Q1 THEN Q5=1!
8974 IF(BS*100)>Q2 THEN Q5=0!
8980 S1=5:S2=29: GOSUB 24: COLOR 0,7 : PRINT INT(Q5*100+0.5)
8990 S1=8:S2=27: GOSUB 24: PRINT INT(BS*10000+0.5)/100
9000 S1=11:S2=29: GOSUB 24: PRINT INT((1-Q4)*100+0.5)
9010 S1=14:S2=21: GOSUB 24: PRINT Q3;: COLOR 7,0
9020 GOSUB 300: GOSUB 9040
9030 GOSUB 7900: GOTO 5850
9040 S1=23:S2=1: GOSUB 24: PRINT "PRINTOUT OF THIS SCREEN?(Y/N) ";
9050 S6$="N":S2=31:S3=3: GOSUB 9
9060 IF S$="Y" THEN S2=1: GOSUB 24: PRINT " ";:CALL PRTSCR:RETURN
9070 IF S$="N" THEN RETURN
9080 GOTO 9040
9090 ON V GOTO 9250,9100,9110,9120,9130,9140,9250
9100 GOSUB 9150: RETURN
9110 GOSUB 9170: RETURN
9120 GOSUB 9150: GOSUB 9190: RETURN
9130 GOSUB 9190: RETURN
9140 GOSUB 9190: GOSUB 9210: GOSUB 9230: RETURN
9150 IF LEFT$(S$,1)="H" THEN T=1:S$= STR$( VAL(S$))
9160 RETURN
9170 IF LEFT$(S$,1)="P" THEN T=2:S$= STR$( VAL(S$))
9180 RETURN
9190 IF RIGHT$(S$,1)="*" AND LEN(S$)>1 THEN T=3:I8$=S$:S$= LEFT$(S$, LEN (S$)-1)
9200 RETURN
9210 IF RIGHT$(S$,1)="$" AND LEN(S$)>1 THEN T=4:I8$=S$:S$= LEFT$(S$, LEN (S$)-1)
9220 RETURN
9230 IF RIGHT$(S$,1)="%" AND LEN(S$)>1 THEN T=5:I8$=S$:S$= LEFT$(S$, LEN (S$)-1)
9240 RETURN
9250 T=0: RETURN
9260 IF V=1 THEN GOSUB 93: RETURN
9270 GOSUB 93: GOSUB 90: COLOR 0,7
9280 IF V=2 THEN PRINT "ENTER 'H' FOR HELP SUBROUTINE";: COLOR 7,0 : RETURN
9290 IF V=3 THEN PRINT "ENTER 'P' FOR PROBABILITY INPUT.";: COLOR 7,0 : RETURN
9300 IF V=4 THEN PRINT "'H'=HELP:'*' MULT. VALUE BY DAYS FED";: COLOR 7,0 : RETURN
9310 IF V=5 THEN PRINT "ENTER'*'AFTER VALUE MULT. BY DAYS FED";: COLOR 7,0 : RETURN
9320 IF V=6 THEN PRINT " '*'=MULT:'%'=PERCENT:'$'=DOLLAR";: COLOR 7,0 : RETURN
9330 RETURN
9340 REM A1,A2,A(I)=SALE & PURCHASE WEIGHTS
9350 REM B1,B2,B(I)=SALE & PURCHASE PRICES
9360 REM DF= DAYS ON FEED
9370 REM FC= FEED COST
9380 REM VM= VET. & MED. COSTS
9390 REM DR= DEATH RATE
9400 REM IR,OC=INTEREST COST
9410 REM YA=YARDAGE COST
9420 REM P0=AVERAGE DAILY GAIN
9430 REM P1= TOTAL COST /LB OF GAIN
9440 REM P2= FEED COST /LB OF GAIN
9450 REM P3=FEED COST/ANIMAL /DAY
9460 REM P4=TOTAL COST/ANIMAL/DAY
9470 REM P5=FEED COST/ANIMAL
9480 REM P6= TOTAL COST/ANIMAL
9490 REM CA=COST OF ANIMALS
9500 REM N(J,I)= NUMBER OF ANIMALS
9510 REM AA()=WEIGHT OF ANIMALS
9520 REM BB()=PRICE OF ANIMALS
9530 REM CC=GROSS REV.(COST) ALL ANIMALS SOLD(PURCHASED)
9540 REM N1=TOTAL NO. OF ANIMALS PURCHSED(SOLD)
9550 REM A3= TOTAL GROSS WEIGHT OF ALL ANIMALS PURCHASED
9560 REM E1()=# OF ANIMALS
9570 REM E2$()=PURCHASE DATE
9580 REM E3$()=SALE DATE
9590 REM DE= TOTAL # OF ANIMAL DAYS
9600 REM NA= TOTAL # OF ANIMALS
9610 REM FS$()=FEED DESCRIPTION
9620 REM PF()= LBS FED/DAY
9630 REM DG()= DAYS FED
9640 REM DU()= LBS/UNIT
9650 REM PU()= $/UNIT
9660 REM Y()= YARDAGE INPUT SEE 7190-7290
9670 REM Y1,Y2=INTEREST ON FACILITIES & MACHINES
9680 REM Y3,Y4=DEPRECIATION ON FAC.& MACH.
9690 REM M,M1=MONTH
9700 REM D,D1=DAY
9710 REM Y,Y1=YEAR
9720 REM Q1...Q3 =PROBABILITY INPUT
9730 REM Q5=% CHANCE OF GETING MORE THAN BS
9740 REM 1-Q4= % CHANCE OF GETTING > THAN Q3
9750 REM DL= DEATH LOSS COST
9760 REM SR=REVENUE SALE OF LIVESTOCK
9770 REM CC= CASH COSTS
9780 REM BS= BREAKEVEN SELLING PRICE
9790 REM BP= BREAKEVEN PURCHASE PRICE
9800 REM NR= EXPECTED NET REVENUE
9810 REM I7= FLAG FOR KIND OF INTEREST COST INPUT 1=%,2=*,3=$
9820 REM I8= INTEREST RATE
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 17,4
60430 PRINT"FIELD SERVICES DIVISION"
60440 LOCATE 18,4
60450 PRINT" & ECONOMIC SERVICES DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,14:PRINT"FIELD SERVICES & ECONOMIC SERVICES DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM CARCOST-CAR & TRUCK COSTS CALCULATOR
2 REM PROGRAMMER: G.MONNER
3 REM LAST REVISION: FIXED METRIC CONVERSION: G.FISHER JAN 1984
4 REM CONTACT: G.MONNER, REBS BRANCH
5 REM APPLE II VERSION
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN"HELLO.BAS"
55 RETURN
56 GOSUB 6000:S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 GOSUB 62000: GOSUB 60000: REM MAIN LINE
5001 REM PRINT LOGO
5009 REM MAINLINE PROGRAM
5010 CLS : PRINT
5020 PRINT : PRINT : PRINT " CAR & TRUCK COSTING MODEL"
5030 PRINT " ------------------------"
5035 PRINT " REVISED JAN/84"
5040 PRINT : PRINT
5050 DIM A$(15),B$(15),M$(15),A(15)
5055 FOR I=1 TO 14:A(I)=1: NEXT I
5060 FOR I=1 TO 14: READ B$(I): NEXT I
5070 FOR I=1 TO 14: READ M$(I): NEXT I
5080 PRINT " BRITISH(B) OR METRIC(M) UNITS? ";
5090 S6$=" ":S1=9:S2=33:S3=2:S9=1: GOSUB 9:U$=S$
5100 IF U$="B" OR U$="M" THEN GOTO 5120
5110 GOTO 5090
5120 CLS : FOR I=1 TO 14
5130 IF U$="B" THEN A$(I)=B$(I)
5140 IF U$="M" THEN A$(I)=M$(I)
5150 PRINT A$(I);
5160 FOR I1=1 TO (31- LEN(A$(I))): PRINT ".";: NEXT I1: PRINT ">";A(I);
5170 IF I=2 OR I=4 OR I=7 OR I=9 OR I=11 OR I=12 THEN 5190
5180 PRINT
5190 PRINT
5200 NEXT I
5202 IF U <> 1 GOTO 5210
5206 CALL PRTSCR:U=0: RETURN
5210 IF U$="B" THEN S1$="TYPE 'M' AFTER ENTRY TO CONVERT"
5220 IF U$="M" THEN S1$="TYPE 'B' AFTER ENTRY TO CONVERT"
5230 S2$=" ": GOSUB 78: GOSUB 90: PRINT S1$;
5240 I=1:S9=7:S6$= STR$(A(I))
5250 S1=1:S2=33:S3=1:S4=0:S4=1:S5=300000!: GOSUB 9:A(I)= VAL(S$)
5260 I=I+1:S6$= STR$(A(I)):S1=3:S4=1:S5=150:GOSUB 9:A(I)= VAL(S$)
5270 I=I+1:S6$= STR$(A(I)):S1=4:S4=0.1:S5=3: GOSUB 9:A(I)= VAL(S$)
5280 I=I+1:S6$= STR$(A(I)):S1=6:S4=1:S5=500: GOSUB 9:A(I)= VAL(S$)
5290 I=I+1:S6$= STR$(A(I)):S1=7:S4=1:S5=50000!: GOSUB 9:A(I)= VAL(S$)
5300 I=I+1:S6$= STR$(A(I)):S1=9:S4=1:S5=5000: GOSUB 9:A(I)= VAL(S$)
5310 I=I+1:S6$= STR$(A(I)):S1=11:S4=1:S5=2000: GOSUB 9:A(I)= VAL(S$)
5320 I=I+1:S6$= STR$(A(I)):S1=12:S4=1:S5=300000!: GOSUB 9:A(I)= VAL(S$)
5330 I=I+1:S6$= STR$(A(I)):S1=14:S4=1:S5=9000:GOSUB 9:A(I)= VAL(S$)
5340 I=I+1:S6$= STR$(A(I)):S1=15:S4=1:S5=9000: GOSUB 9:A(I)= VAL(S$)
5350 I=I+1:S6$= STR$(A(I)):S1=17:S4=1:S5=300000!: GOSUB 9:A(I)= VAL(S$)
5360 I=I+1:S6$= STR$(A(I)):S1=18:S4=1:S5=300000!: GOSUB 9:A(I)= VAL(S$)
5370 I=I+1:S6$= STR$(A(I)):S1=19:S4=0.1:S5=50: GOSUB 9:A(I)= VAL(S$)
5380 I=I+1:S6$= STR$(A(I)):S1=21:S4=1:S5=100: GOSUB 9:A(I)= VAL(S$)
5390 S1=23:S2=1: GOSUB 24: PRINT "CHANGE DATA? (Y/N)";:S6$=" ":S2=20:S3=3: GOSUB 9
5400 IF S$="Y" THEN 5240
5405 IF S$="N" THEN 5410
5406 GOTO 5390
5410 IF U$="B" THEN A2=A(2)
5420 IF U$="M" THEN A2=100/A(2)
5430 FC= INT((A(3)/A2)*10000+0.5)/10000
5440 OL= INT((A(4)/A(5))*10000+0.5)/10000
5450 RT= INT((A(6)/A(1))*10000+0.5)/10000
5460 TR= INT((A(7)/A(8))*10000+0.5)/10000
5470 LI= INT((A(9)/A(1))*10000+0.5)/10000
5480 IS= INT((A(10)/A(1))*10000+0.5)/10000
5490 DE= INT((((A(11)-A(12))/A(13))/A(1))*10000+0.5)/10000
5500 IN= INT(((((A(11)+A(12))/2)*A(14)/100)/A(1))*1000+0.5)/1000
5510 X=FC+OL+RT+TR+LI+IS
5520 CF=DE+IN
5540 TC=DE+IN+FC+OL+RT+TR+LI+IS
5550 CLS
5560 PRINT " CAR & TRUCK COSTS "
5570 PRINT " ----------------- "
5580 PRINT
5590 PRINT " FUEL COST....=";:S3=100*FC:S4=6:S5=1: GOSUB 200: PRINT S3$
5600 PRINT " OIL & LUBE...=";:S3=100*OL: GOSUB 200: PRINT S3$
5610 PRINT " REPAIRS & ...=";:S3=100*RT: GOSUB 200: PRINT S3$
5620 PRINT " TIRES........=";:S3=100*TR: GOSUB 200: PRINT S3$
5630 PRINT : PRINT " LICENCE &"
5640 PRINT " INSURANCE....=";:S3=100*IS+LI: GOSUB 200: PRINT S3$
5650 PRINT " ------------------"
5660 PRINT " TOTAL CASH COSTS....=";:S3=100*X: GOSUB 200: PRINT S3$
5670 PRINT " DEPRECIATION.=";:S3=100*DE: GOSUB 200: PRINT S3$
5680 PRINT " INTEREST.....=";:S3=100*IN: GOSUB 200: PRINT S3$
5690 PRINT " ------------------"
5700 PRINT " TOTAL FIXED COSTS...=";:S3=100*CF: GOSUB 200: PRINT S3$
5710 PRINT " ------"
5720 IF U$="B" THEN GOSUB 5810: REM PRINT BRITISH TOTAL
5730 IF U$="M" THEN GOSUB 5840: REM PRINT METRIC TOTAL
5740 GOSUB 5800: PRINT "PRINTOUT OF RESULTS (Y/N)";
5750 S6$="N":S1=23:S2=26:S3=3: GOSUB 9
5760 IF S$="Y" THEN GOSUB 5800: PRINT " ";: GOSUB 6150
5770 GOSUB 5800: PRINT "CHANGE INPUT DATA (Y/N) ";:S2=25: GOSUB 9
5780 IF S$="Y" THEN 5120
5785 GOSUB 5800: PRINT "EXIT PROGRAM? (Y/N) ";:S2=21: GOSUB 9
5790 IF S$="N" THEN RUN 5010
5795 CLS : PRINT "THANK YOU":LOCATE 10,1: COLOR 0,7: PRINT "PLEASE WAIT ... LOADING PROGRAM MENU":COLOR 7,0: RUN "HELLO"
5800 S1=23:S2=1: GOSUB 24: RETURN
5810 PRINT " TOTAL COST (CENTS)..=";:S3=100*TC: GOSUB 200: PRINT S3$;"/MILE"
5820 PRINT " =";:S3=100*TC/1.6093: GOSUB 200: PRINT S3$;"/KM"
5830 RETURN
5840 PRINT " TOTAL COST (CENTS)..=";:S3=100*TC: GOSUB 200: PRINT S3$;"/KM"
5850 PRINT " =";:S3=100*TC*1.6093: GOSUB 200: PRINT S3$;"/MILE"
5860 RETURN
5870 END
5999 REM CONVERSION SUBROUTINE
6000 IF RIGHT$ (S$,1)="M" OR RIGHT$ (S$,1)="B" THEN 6040
6010 RETURN
6040 IF U$="B" AND RIGHT$ (S$,1)="M" THEN 6070
6050 IF U$="M" AND RIGHT$ (S$,1)="B" THEN 6120
6060 RETURN
6070 ON I GOSUB 6080,6090,6100,6110,6080,6110,6110,6080,6110,6110,6110
6075 GOSUB 24: PRINT " ";: GOSUB 24: PRINT S$;: RETURN
6080 S$=STR$(INT(VAL(S$)*0.621371+0.5)):RETURN
6090 S$= STR$( INT((282.102/ VAL(S$))*10+0.5)/10): RETURN
6100 S$= STR$( INT( VAL(S$)*454+0.5)/100): RETURN
6110 RETURN
6120 ON I GOSUB 6130,6090,6140,6110,6130,6110,6110,6130,6110,6110,6110
6125 GOSUB 24: PRINT " ";: GOSUB 24: PRINT S$;: RETURN
6130 S$=STR$(INT(VAL(S$)/0.621371+0.5)):RETURN
6140 S$= STR$( INT(( VAL(S$)/4.54)*100+0.5)/100): RETURN
6149 REM PRINT TABLE
6150 REM SCREEN PRINT
6152 CALL PRTSCR
6154 U=1: GOSUB 5100: RETURN
10000 DATA "MILES TRAVELLED /YR "
10010 DATA "AVERAGE # OF MPG ","COST/GAL OF FUEL($/GAL)"
10020 DATA "OIL & LUBE COST/OIL CHANGE"
10030 DATA "MILES BETWEEN O&L","REPAIR & TUNE-UP COST/YR "
10040 DATA "COST OF SET OF TIRES","MILES/SET OF TIRES"
10050 DATA "LICENCE FEE ($/YR)","INSURANCE ($/YR)","PURCHASE PRICE"
10060 DATA "TRADE-IN OR SALE VALUE"
10070 DATA "NUMBER OF YEARS OWNED","INTEREST RATE ON INVESTMENT(%)"
10080 DATA "KILOMETERS TRAVELLED/YR "
10090 DATA "AVERAGE # OF L/100KM ","COST/LITRE OF FUEL ($/LITRE)"
10100 DATA "OIL & LUBE COST/OIL CHANGE"
10110 DATA "KILOMETERS BETWEEN O&L","REPAIR & TUNE-UP COST/YR"
10120 DATA "COST OF SET OF TIRES","KILOMETERS/SET OF TIRES"
10130 DATA "LICENCE FEE($/YR)","INSURANCE ($/YR)","PURCHASE PRICE"
10140 DATA "TRADE-IN OR SALE VALUE"
10150 DATA "NUMBER OF YEARS OWNED","INTEREST RATE ON INVESTMENT(%)"
12000 REM A(I) WHERE I=1TO24 IS THE INPUT DATA
12010 REM U$ IS THE DESIGNATION OF BRITISH OR METRIC UNITS
12020 REM FC=FUEL COSTS
12030 REM OL=OIL & LUBE COS TS
12040 REM RT=REPAIR & MAINTANENCE COSTS
12050 REM TR=COST OF TIRES
12060 REM LI=LICENCE COSTS
12070 REM IS=INSURANCE COSTS
12080 REM DE=DEPRICIATION COST
12090 REM IN=INTEREST COST
12100 REM X=TOTAL CASH COSTS
12110 REM CF=TOYAL FIXED COSTS
12120 REM TC=TOTAL COSTS
12130 END
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 17,4
60430 PRINT"FIELD SERVICES DIVISION"
60440 LOCATE 18,4
60450 PRINT" & ECONOMIC SERVICES DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,14:PRINT"FIELD SERVICES & ECONOMIC SERVICES DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM **COMPARATIVE FEED PRICING**
2 REM **-A PROGRAM FOR CALCULATING THE ENERGY & PROTEIN EQUIVALENT PRICES OF
3 REM **FEEDSTUFFS RELATIVE TO THE PRICES OF BARLEY & CANOLA MEAL.
4 REM **REVISION DATE= 06/84 (CHANGE STMT 5063 ALSO)
5 REM **CONTACT: GEORGE MONNER DON MILLIGAN,R.D.WIESENBERGER
6 REM ** R.E.B.S. BRANCH LIVESTOCK INDUSTRY DIVISION
7 REM *** IBM VERSION
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN"HELLO.BAS"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
1110 REM Z5,Z6=INTERNAL COUNTERS
1120 REM I,I1,J,K=LOOP COUNTERS
1130 REM V,V$,V1,V2,V3=TEMPOARY VALUES FOR READ STATEMENTS
1140 REM C$( , )=FEEDSTUFF DESCRIPTION
1150 REM W( )=TEMPORARY STORAGE VALUE FOR FEEDSTUFF NUMBER
1160 REM W1= COUNTER OF THE NUMBER OF FEEDS USED
1170 REM NI=NUMBER IDENTIFIER FOR NEW FEEDS ADDED
1180 REM A( , ),C1,C2 ,C3,R,X,Y,V=TEMPOARY VALUES USED FOR DOING CALCULATION
1190 REM V1=$ VALUE CALCULATED FOR FEEDSTUFFS
4999 REM MAINLINE OF PROGRAM
5000 GOSUB 62000: REM SCREEN DUMP
5005 GOSUB 60000: REM LOGO
5006 CLS: PRINT "PLEASE WAIT... LOADING DATA"
5007 CLS
5010 PRINT " COMPARATIVE FEED PRICING"
5020 PRINT " ========================"
5025 PRINT : PRINT
5030 PRINT : PRINT " THIS PROGRAM CALCULATES THE ENERGY AND"
5035 PRINT "PROTEIN EQUIVALENT PRICES OF FEEDSTUFFS"
5040 PRINT "RELATIVE TO THE PRICES OF BARLEY AND "
5045 PRINT "CANOLA MEAL."
5050 PRINT : PRINT " NOTE: THIS PROGRAM DOES NOT TAKE INTO"
5055 PRINT "ACCOUNT SUCH FACTORS AS PALATABILITY"
5060 PRINT "AND DIGESTIBILITY OF THE FEEDSTUFFS."
5063 PRINT : PRINT : PRINT " JUNE 1984"
5065 GOSUB 300
5070 CLS : PRINT " MENU"
5071 PRINT " ---- "
5072 PRINT : PRINT
5080 PRINT "1. CHOOSE/ADD FEEDSTUFFS FROM LIST"
5090 PRINT : PRINT "2. CHOOSE/ADD OWN FEEDSTUFFS"
5100 PRINT : PRINT "3. LIST/CHANGE NUTRIENT VALUES OF FEEDS"
5105 PRINT : PRINT "4. DELETE FEEDSTUFFS"
5110 PRINT : PRINT "5. PERFORM DOLLAR CALCULATIONS"
5120 PRINT : PRINT "6. EXIT PROGRAM"
5130 PRINT : PRINT : PRINT
5135 PRINT : PRINT : PRINT
5140 PRINT "ENTER THE NUMBER OF YOUR CHOICE:"
5150 S6$="":S1=22:S2=34:S3=1:S4=1:S5=6:S9=1: GOSUB 9
5160 IF S$="1" THEN RESTORE : GOSUB 7000: GOTO 5070: REM CHOOSE/ADDFEEDSTUFFS FROM LIST
5170 IF S$="2" THEN GOSUB 7500: GOTO 5070: REM ADD OWN FEEDSTUFFS
5180 IF S$="3" THEN GOSUB 7800: GOTO 5070: REM LIST/CHANGE NUTRIENT VALUES
5185 IF S$="4" THEN GOSUB 8200: GOTO 5070: REM DELETE A FEEDSTUFF
5190 IF S$="5" THEN GOSUB 8000: GOTO 5070: REM ENTER $ VALUES & DO CALCULATIONS
5200 IF S$="6" THEN CLS : PRINT "GOOD BYE!":LOCATE 10,1:COLOR 0,7: PRINT " LOADING PROGRAM MENU PLEASE WAIT ":COLOR 7,0:RUN "HELLO"
5210 GOTO 5150
6999 REM CHOOSE/ADD FEEDS FROM LIST
7000 IF W1 > =6 THEN S$="MAX. FEEDS ALREADY CHOSEN 'RETURN'": GOSUB 302: RETURN
7003 Z5=1:Z6=7: GOSUB 7170: PRINT "HAY**": GOSUB 7210:S4=Z5:S5=Z6: GOSUB 7280
7005 IF I5=1 THEN I5=0: RETURN
7010 Z5=11:Z6=14: GOSUB 7170: PRINT "GREENFEED": GOSUB 7210:S4=Z5:S5=Z6: GOSUB 7280
7015 IF I5=1 THEN I5=0: RETURN
7020 Z5=21:Z6=29: GOSUB 7170: PRINT "*SILAGE": GOSUB 7210:S4=Z5:S5=Z6: GOSUB 7280
7025 IF I5=1 THEN I5=0: RETURN
7030 Z5=31:Z6=33: GOSUB 7170: PRINT "*STRAW*** ": GOSUB 7210:S4=Z5:S5=Z6: GOSUB 7280
7035 IF I5=1 THEN I5=0: RETURN
7040 Z5=41:Z6=43: GOSUB 7170: PRINT "*GRAIN*": GOSUB 7210:S4=Z5:S5=Z6: GOSUB 7280
7045 IF I5=1 THEN I5=0: RETURN
7050 Z5=51:Z6=57: GOSUB 7170: PRINT "*SUPPLEMENT**": GOSUB 7210: S4=Z5:S5=Z6
7051 GOSUB 7280
7060 RESTORE : GOSUB 90: PRINT "PLEASE BE PATIENT. I'M THINKING!";
7070 FOR I=1 TO 33
7080 READ V,V$,V1,V2,V3
7090 IF V=41 THEN C$(1,2)=V$:C$(1,3)= STR$(V1):C$(1,4)= STR$(V2):C$(1,5)= STR$(V3)
7100 IF V=56 THEN C$(2,2)=V$:C$(2,3)= STR$(V1):C$(2,4)= STR$(V2):C$(2,5)= STR$(V3)
7110 FOR J=1 TO W1
7120 IF V=W(J) AND C$(J+2,2)="" THEN C$(J+2,1)= STR$(V):C$(J+2,2)=V$:C$(J+2,3)= STR$(V1)
7130 IF V=W(J) AND C$(J+2,4)="" THEN C$(J+2,4)= STR$(V2):C$(J+2,5)= STR$(V3)
7140 NEXT J
7150 NEXT I
7155 RETURN
7169 REM HEADING FOR FEED LISTS
7170 CLS
7180 PRINT TAB( 16);" DM DE CP "
7190 PRINT "-------------------------------------"
7200 RETURN
7209 REM ROUTINE FOR READING & PRINTING FEED LISTS
7210 FOR I=Z5 TO Z6
7220 READ V,V$,V1,V2,V3
7230 PRINT
7235 PRINT USING"## \ \###.## #.#### #.####";V;V$;V1;V2;V3
7240 NEXT I
7250 RETURN
7279 REM INPUT FEEDSTUFFS FROM LIST
7280 S1=22:S2=1: GOSUB 24: PRINT "ENTER THE # OF THE FEED & PRESS RETURN."
7285 PRINT " TO CONTINUE, JUST PRESS RETURN"
7290 FOR J=1 TO 4:S6$=" ":S1=23:S2=33:S3=1:S9=2: GOSUB 9
7291 IF S<1 THEN J=4: GOTO 7310
7300 W1=W1+1:W(W1)=S: IF W1=6 THEN GOSUB 7060: GOSUB 7400:I5=1: RETURN
7302 S1=5+(S-Z5)*2:S2=1:GOSUB 24
7304 IF W(W1)>9 THEN COLOR 0,7:PRINT MID$(STR$(W(W1)),2);:COLOR 7,0:GOTO 7310
7306 PRINT " ";:COLOR 0,7: PRINT MID$(STR$(W(W1)),2);: COLOR 7,0
7310 NEXT J
7320 RETURN
7399 REM REMINDER OF MAX NO. OF FEEDS
7400 I5=1: GOSUB 7800
7410 PRINT "YOU NOW HAVE MAX. NO. OF FEEDS."
7420 PRINT "DO YOU WISH TO DELETE A FEED?<Y/N>"
7430 S6$="N":S1=22:S2=35:S3=3: GOSUB 9
7440 IF S$="Y" THEN GOSUB 8200
7450 RETURN
7500 REM ROUTINE TO ADD NEW FEEDSTUFFS
7510 IF W1=6 THEN GOSUB 7400: RETURN
7520 CLS : PRINT
7530 PRINT : PRINT : PRINT "ENTER FEEDSTUFF NAME..........."
7540 PRINT : PRINT "ENTER % DRY MATTER OF FEEDSTUFF "
7550 PRINT : PRINT "ENTER DE OF FEEDSTUFF.......... "
7560 PRINT : PRINT "ENTER CP OF FEEDSTUFF.......... "
7590 PRINT : PRINT "======================================"
7600 PRINT : PRINT "CHANGE DATA?(Y/N)"
7610 PRINT : PRINT "ANOTHER FEEDSTUFF?(Y/N)"
7620 S6$=C$(W1+3,2):S1=4:S2=33:S3=2:S9=8: GOSUB 9:C$(W1+3,2)=S$
7630 S6$=C$(W1+3,3):S3=1:S1=6:S4=1:S5=100: GOSUB 9:C$(W1+3,3)=S$
7640 S6$=C$(W1+3,4):S1=8:S4=0:S5=3: GOSUB 9:C$(W1+3,4)=S$
7650 S6$=C$(W1+3,5):S1=10: GOSUB 9:C$(W1+3,5)=S$
7680 S6$="N":S1=14:S3=3: GOSUB 9: IF S$="Y" THEN 7620
7710 W1=W1+1:NI=NI+1
7720 S6$="N":S1=16: GOSUB 9: IF S$="Y" THEN 7510
7730 GOSUB 7060: RETURN
7799 REM LISTNG/CHANGING NUTRIENT VALUES OF FEEDS CHOSEN
7800 GOSUB 7170: REM HEADING FOR FEED LIST
7820 FOR I=1 TO W1+2
7830 PRINT USING"## \ \###.## #.#### #.####";I;C$(I,2);VAL(C$(I,3));VAL(C$(I,4));VAL(C$(I,5))
7840 PRINT
7850 NEXT I
7860 S1=20:S2=1: GOSUB 24: PRINT "======================================"
7865 IF I5=1 THEN I5=0: RETURN
7870 PRINT "ENTER NO. OF FEED TO BE CHANGED: "
7875 PRINT " <PRESS 'RETURN' TO CONTINUE>"
7880 S6$="":S1=21:S2=34:S3=1:S4=0:S5=W1+2: GOSUB 9:J=S
7885 IF J=0 THEN GOSUB 9400: RETURN
7890 S1=23:S2=1: GOSUB 24: PRINT "DRY MATTER < % >.= ";
7900 S6$=C$(J,3):S1=23:S2=25:S4=1:S5=100:S9=6: GOSUB 9:C$(J,3)=S$
7910 S1=23:S2=1: GOSUB 24: PRINT "ENERGY <MCAL>= ";
7920 S6$=C$(J,4):S2=25:S4=0:S5=3: GOSUB 9:C$(J,4)=S$
7930 S2=1: GOSUB 24: PRINT "CRUDE PROTEIN<LBS>= ";
7940 S6$=C$(J,5):S2=20:S5=3: GOSUB 9:C$(J,5)=S$:S9=0
7950 GOTO 7800
7999 REM DISPLAY FEED LIST/ ENTER $ VALUES
8000 CLS
8005 PRINT "NAME $/UNIT LBS/UNIT "
8010 PRINT "-------- ------ --------:YOU CAN:WHICH"
8020 PRINT " :PAY :IS A"
8025 PRINT " :UP TO: :PREM."
8030 PRINT " :$/UNIT :OF:"
8040 PRINT "======================== ------ ------"
8045 S1=20:S2=1: GOSUB 24: PRINT "*=BASIC COMPARISON FEEDSTUFFS"
8050 S1=3:S2=1: GOSUB 24:H$="*"
8060 FOR I=1 TO W1+2
8065 IF I < 3 THEN C$(I,2)=H$+C$(I,2)
8070 PRINT LEFT$ (C$(I,2),9)
8075 PRINT
8080 NEXT I
8085 S1=3
8090 FOR I1=1 TO W1+2
8100 S6$=C$(I1,6):S2=11:S3=1:S4=0:S5=10000:S9=6: GOSUB 9
8110 C$(I1,6)=S$
8120 S6$=C$(I1,7):S2=17:S4=1:S5=100000!: GOSUB 9
8125 IF S=0 THEN S6$="2000": GOSUB 9
8130 C$(I1,7)=S$
8140 IF I1 > 2 THEN GOSUB 9000
8145 S1=S1+2
8150 NEXT I1
8160 S1=23:S2=1: GOSUB 24: PRINT "CHANGE DATA='C':MENU='M':PRINT='P'";
8170 S6$=" ":S1=23:S2=36:S3=2:S9=1: GOSUB 9:S9=0: IF S$="M" THEN RETURN
8180 IF S$="C" THEN GOSUB 93: GOTO 8085
8182 IF S$ <> "P" GOTO 8190
8184 S2=1: GOSUB 24: PRINT " "
8186 CALL PRTSCR
8190 GOTO 8160
8200 REM DELETE A FEEDSTUFF
8210 I5=1: GOSUB 7800
8220 PRINT " ENTER # OF FEED TO BE DELETED:"
8225 PRINT " < PRESS 'RETURN' TO CONTINUE>"
8230 S6$=" ":S1=21:S2=33:S3=1:S4=0:S5=W1+2: GOSUB 9:S= INT(S)
8240 IF S=0 THEN RETURN
8245 IF S < =2 THEN BEEP:PRINT:PRINT "THIS FEED IS NECESSARY FOR CALCULATIONS"
8247 IF S < =2 THEN GOSUB 60470: GOTO 8210
8250 FOR I=S TO W1+2
8260 FOR I1=2 TO 7
8270 C$(I,I1)=C$(I+1,I1)
8280 NEXT I1
8290 NEXT I
8300 W1=W1-1
8305 FOR I=W1+3 TO W1+3:FOR I1=2 TO 7:C$(I,I1)="":NEXT I1:NEXT I
8310 GOTO 8200
8999 REM CALCULATION OF EQUIVALENT PRICE]
9000 FOR J = 1 TO 3
9005 K=J: IF J=3 THEN K=I1
9010 A(1,J)=( VAL(C$(K,4))/( VAL(C$(K,3))/100))
9020 A(2,J)=( VAL(C$(K,5))/( VAL(C$(K,3))/100))
9030 IF J=3 THEN 9060
9040 C1(J)= VAL(C$(J,6)):C2(J)= VAL(C$(J,7)):C3(J)=1000*C1(J)/C2(J)
9050 C3(J)=C3(J)/( VAL(C$(K,3))/100)
9060 NEXT J
9070 FOR J = 1 TO 3
9080 FOR I = 1 TO 2
9090 IF A(I,J)<=0 THEN PRINT "NO UNIQUE SOLUTION":RETURN
9100 NEXT I
9110 NEXT J
9150 CE=(A(2,1)*A(1,3)-A(1,1)*A(2,3))/(A(2,1)*A(1,2)-A(1,1)*A(2,2))
9160 DE=(A(1,3)-A(1,2)*CE)/A(1,1)
9330 V=DE*C3(1)+CE*C3(2)
9375 V1=V*VAL(C$(I1,7))/1000*(VAL(C$(I1,3))/100)
9380 S2=24: GOSUB 24:S3=V1:S4=8:S5=2: GOSUB 200: PRINT S3$;
9385 S3=V1- VAL(C$(I1,6)): GOSUB 200: PRINT S3$
9390 RETURN
9400 REM OPTION TO USE SCREEN PRINT ROUTINE
9410 S1=23:S2=1: GOSUB 24: PRINT "WANT A PRINTOUT OF THIS TABLE?<Y/N>"
9420 S6$="N":S1=23:S2=38:S3=3: GOSUB 9
9422 IF S$="Y" THEN S2=1: GOSUB 24: PRINT " ":S2=38
9424 IF S$="Y" THEN CALL PRTSCR
9430 RETURN
9999 REM DATA FOR FEEDSTUFF LISTING
10000 DATA 1,ALFLFA-H,89.3,1.05,.159
10010 DATA 2,CLOVER-H,87.1,1.00,.133
10020 DATA 3,AL-GRS-H,88.2,.99,.121
10030 DATA 4,LG-GRS-H,87.9,.97,.112
10040 DATA 5,BROME-H,89.2,.91,.088
10050 DATA 6,TIMTHY-H,88.8,.89,.081
10060 DATA 7,GRASS-H,88.8,.91,.092
10070 DATA 11,BRLY-GF,86.8,1.04,.087
10080 DATA 12,OATS-GF,88.5,1.02,.083
10090 DATA 13,RYE-GF,89.9,1.02,.075
10100 DATA 14,CERL-GF,86.1,1.01,.085
10110 DATA 21,BRLEY-SL,39.5,.47,.043
10120 DATA 22,OATS-SL,36.4,.42,.036
10130 DATA 23,CORN-SL,32.8,.43,.029
10140 DATA 24,WHEAT-SL,38,.44,.037
10150 DATA 25,CREAL-SL,37.6,.44,.038
10160 DATA 26,ALFAL-SL,46.3,.55,.082
10170 DATA 27,AL-GR-SL,45.0,.50,.065
10180 DATA 28,GRASS-SL,38.2,.39,.045
10190 DATA 29,LEG-G-SL,44.2,.49,.062
10200 DATA 31,BRLEY-ST,88.9,.80,.042
10210 DATA 32,OATS-ST,88.7,.87,.040
10220 DATA 33,WHEAT-ST,91.1,.75,.036
10230 DATA 41,BRLEY-G,88.6,1.47,.109
10240 DATA 42,OATS-G,90.2,1.37,.105
10250 DATA 43,WHEAT-G,88.4,1.56,.140
10260 DATA 51,32% BSUP.,90,1.10,.32
10270 DATA 52,32% DSUP.,90,1.25,.32
10280 DATA 53,UREA,100,0,2.81
10290 DATA 54,BEET PULP,91,1.44,.1
10300 DATA 55,SOY ML,89,1.44,.475
10310 DATA 56,CANOLA MEAL,90,1.24,.37
10320 DATA 57,DEHY ALFA,92,1.12,.170
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 17,4
60430 PRINT"ECONOMIC SERVICES DIVISION"
60440 LOCATE 18,4
60450 PRINT"& LIVESTOCK INDUSTRY DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,10:PRINT"LIVESTOCK INDUSTRY DIVISION & ECONOMIC SERVICES DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM COW COMPUTERIZED RISK ANALYSIS BUDGET
2 REM CALCULATES RISK LEVELS FOR COW/CALF PRODUCERS
3 REM ORIGINAL PROGRAM BY GEORGE MONNER, 1979
4 REM MODIFIED TO ADA STANDARDS BY GARY FISHER
5 REM FBMB OLDS, ALBERTA PH (403) 556-4240
6 REM LAST MODIFIED JULY 21, 1983
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$;
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" NORMAL EXIT, LOADING MENU....":RUN"HELLO.BAS"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
220 REM **** GENERAL NUMBER FOR MATTER SUBROUTINE ****
221 S7=10^S5
222 IF S3=0 THEN S3$=RIGHT$(" 0",S4-S5-1)+LEFT$(".0000",S5+1):GOTO 229
223 S6=INT(S3*S7+0.5)/S7
224 S3$=STR$(S6+SGN(S6)*0.1/S7)
225 S6=LEN(S3$)
226 S3$=LEFT$(S3$,S6-1)
227 IF S6=S4+1 THEN 229
228 S3$=LEFT$(" ",S4+1-S6)+S3$
229 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM THIS IS THE START OF COWCRAB
5010 GOSUB 60000:GOSUB 62000:WIDTH 40:CLS
5020 REM ID SCREEN FOR ***COW/CALF BUDGET***
5030 GOSUB 7000
5040 GOSUB 300
5050 CLS:PRINT "PLEASE WAIT.... LOADING DATA"
5060 DIM B$(16),B(16),C(16),DS(22),P$(22),RN(22):A1=1
5070 DEF FNCHOP$(X)=MID$(STR$(X),2,255)
5080 DIM A$(16),A(16,16),U(16),V2(16)
5090 CLS:PRINT:PRINT:PRINT " NUMBER OF COWS IN HERD? ";
5100 S6$=FNCHOP$(A1):S1=3:S2=29:S3=1:S4=1:S5=99999!:S9=5:GOSUB 9:A1=S
5110 DATA STEERS,HEIFERS,YEARLINGS,COWS,BULLS
5120 DATA "NUMBER SOLD:","WEIGHT OF:(CWT)","PRICE OF:($/CWT)"
5130 FOR I=1 TO 8:READ A$(I):NEXT I
5140 S$=" (DATA INPUT)":GOSUB 6560
5150 GOSUB 6660
5160 S1=4
5170 FOR I=1 TO 15
5180 S1=S1+1:IF S1=10 OR S1=17 THEN S1=S1+2
5190 FOR J=1 TO 3
5200 S2=10+J*8:S3=1:S4=0:S5=999999!:S9=6
5210 IF I>5 THEN S5=500:S9=5
5220 S6$=FNCHOP$(A(I,J)):GOSUB 9:A(I,J)=S
5230 IF A(I,J-1)>A(I,J) THEN S2$="CANNOT BE LESS THAN":S1$=STR$(A(I,J-1)):GOSUB 78:GOTO 5200
5240 NEXT J
5250 NEXT I
5260 S1=4:S$=" (CHANGE DATA)":GOSUB 6560
5270 GOSUB 6660
5280 FOR J=1 TO 15
5290 S1=S1+1:IF S1=10 OR S1=17 THEN S1=S1+2
5300 FOR L=1 TO 3
5310 S2=10+L*8
5320 GOSUB 24:PRINT FNCHOP$(A(J,L));
5330 NEXT L
5340 U(J)=(A(J,1)+A(J,2)+A(J,3))/3
5350 V2(J)=(((A(J,3)-A(J,1))^2)-(A(J,2)-A(J,1))*(A(J,3)-A(J,2)))/18
5360 NEXT J
5370 S6$="N":S1=24:S2=4:GOSUB 24:PRINT"CHANGE DATA ? ";:S2=18:S3=3:S9=1:GOSUB 9
5380 IF S$="N" AND X4$="Y" GOTO 5710
5390 IF S$="N" GOTO 5540
5400 S1=24:S2=4:GOSUB 24
5410 PRINT "ENTER # OF ROW TO CHANGE ";
5420 S6$="0":S1=24:S2=29:S3=1:S4=1:S5=15:S9=2:GOSUB 9:X=S
5430 IF X=0 GOTO 5540
5440 IF X<6 THEN S1=X+4 ELSE S1=X+6
5450 IF X>10 THEN S1=X+8
5460 FOR L=1 TO 3
5470 S2=10+L*8
5480 S6$=FNCHOP$(A(X,L)):S3=1:S4=0:S5=999999!:S9=6
5490 IF X>5 THEN S5=500:S9=5
5500 GOSUB 9:A(X,L)=S
5510 IF A(X,L-1)>A(X,L) THEN S2$="CANNOT BE LESS THAN":S1$=STR$(A(X,L-1)):GOSUB 78:GOTO 5480
5520 NEXT L
5530 GOTO 5260
5540 S6$="N":S1=24:S2=4:GOSUB 24:PRINT"PRINT SCREEN? ";:S2=18:S3=3:S9=1:GOSUB 9
5550 IF S$="Y" THEN S2=4:GOSUB 24:PRINT SPACE$(34);:CALL PRTSCR
5560 FOR J=1 TO 15
5570 U(J)=(A(J,1)+A(J,2)+A(J,3))/3
5580 V2(J)=(((A(J,3)-A(J,1))^2)-(A(J,2)-A(J,1))*(A(J,3)-A(J,2)))/18
5590 NEXT J
5600 GOSUB 6620
5610 DATA " COWS"
5620 DATA " REP. HEIFERS"," BULLS"," PASTURE"," CREEP FEED"," SALT,MIN & VIT."
5630 DATA " BULLS PUR."," COWS PUR."," HIRED LABOUR",BEDDING,"VET.MED. A.I."
5640 DATA "MACH. & EQ. OPERATING","TAXES UTIL. & INS."
5650 DATA "MARKETING & TRANSPT.","INT ON OP. CAP.",MISCELLANEOUS
5660 IF X4$="Y" THEN 5680
5670 FOR I=1 TO 16:READ B$(I):PRINT I;TAB(5);B$(I):NEXT I
5680 FOR I=1 TO 16
5690 S6$=FNCHOP$(B(I)):S1=I+4:S2=28:S3=1:S4=0:S5=999999!:S9=6:GOSUB 9:B(I)=S
5700 NEXT I
5710 GOSUB 6620:TC=0
5720 FOR I=1 TO 16
5730 PRINT I;B$(I);TAB(27);B(I)
5740 TC=TC+B(I)
5750 NEXT I
5760 PRINT TAB(28);"═════════"
5770 PRINT "TOTAL COSTS=";TAB(27);TC
5780 S6$="N":S1=24:S2=4:GOSUB 24:PRINT"CHANGE DATA ? ";:S2=18:S3=3:S9=1:GOSUB 9
5790 IF S$="N" THEN 5860
5800 S1=24:S2=4:GOSUB 24
5810 PRINT "ENTER # OF ROW TO CHANGE ";
5820 S6$="0":S1=24:S2=29:S3=1:S4=1:S5=16:S9=2:GOSUB 9:X=S
5830 IF X=0 GOTO 5710
5840 S6$=FNCHOP$(B(X)):S1=X+4:S2=28:S3=1:S4=0:S5=999999!:S9=6:GOSUB 9:B(X)=S
5850 GOTO 5710
5860 S6$="N":S1=24:S2=4:GOSUB 24:PRINT"PRINT SCREEN? ";:S2=18:S3=3:S9=1:GOSUB 9
5870 IF S$="Y" THEN S2=4:GOSUB 24:PRINT SPACE$(34);:CALL PRTSCR
5880 RS=U(1)*U(6)*U(11)
5890 RH=U(2)*U(7)*U(12)
5900 RY=U(3)*U(8)*U(13)
5910 RC=U(4)*U(9)*U(14)
5920 RB=U(5)*U(10)*U(15)
5930 GR=RS+RH+RC+RB+RY
5940 NR=GR-TC
5950 FOR I=1 TO 5
5960 ON I GOSUB 6510,6520,6530,6540,6550
5970 VA=V2(X)*V2(Y)*V2(Z)+V2(X)*V2(Z)*U(Y)^2+V2(Y)*V2(Z)*U(X)^2
5980 VB=V2(X)*V2(Y)*U(Z)^2+V2(X)*U(Y)^2*U(Z)^2
5990 VC=V2(Y)*U(X)^2*U(Z)^2+V2(Z)*U(X)^2*U(Y)^2
6000 V(I)=SQR(VA+VB+VC)
6010 NEXT I
6020 CLS:PRINT " EXPECTED VALUES"
6030 PRINT " ══════════════════"
6040 PRINT "REVENUE:"
6050 PRINT " STEER CALVES......$"INT(RS)
6060 PRINT " HEIFER CALVES.....$"INT(RH)
6070 PRINT " YEARLINGS.........$"INT(RY)
6080 PRINT " CULL COWS.........$"INT(RC)
6090 PRINT " CULL BULLS........$"INT(RB)
6100 PRINT TAB(23);"═════════"
6110 PRINT "TOTAL REVENUE $"INT(GR)
6120 PRINT
6130 PRINT "TOTAL EXPENSES $"TC
6140 PRINT :PRINT
6150 PRINT "NET EXPECTED REVENUE $"INT(NR)
6160 GOSUB 300
6170 R1=0.974:R2=0.9490001:R3=0.9765:R4=0.8745:R5=0.9416:R6=0.918:R7=0.8060001
6180 R8=0.8594:R9=0.8850001:R0=0.92
6190 T3=V(1)^2+V(2)^2+V(3)^2+V(4)^2+V(5)^2+2*V(2)*V(1)*R1+V(1)*2*V(3)*R2
6200 T4=V(2)*V(3)*2*R3+2*V(1)*V(4)*R4+2*V(2)*V(4)*R5+2*V(3)*V(4)*R6
6210 T5=2*V(1)*V(5)*R7+2*V(2)*V(5)*R8+2*V(3)*V(5)*R9+2*V(4)*V(5)*R0
6220 T6=SQR(T3+T4+T5)
6230 DATA -2.325,-1.645,-1.285,-1.035,-.845,-.675,-.525,-.385,-.255,-.125,0
6240 DATA .125,.255,.385,.525,.675,.845,1.035,1.285,1.645,2.325
6250 IF X4$="Y" THEN 6320
6260 FOR L=1 TO 21
6270 READ DS(L)
6280 NEXT L
6290 DATA .01,.05,.1,.15,.2,.25,.3,.35,.4,.45,.5,.55,.6,.65,.7
6300 DATA .75,.8,.85,.9,.95,.99
6310 FOR I=1 TO 21:READ P$(I):NEXT I
6320 FOR K=1 TO 21
6330 RN(K)=NR+DS(K)*T6
6340 NEXT K
6350 CLS
6360 PRINT " PROBABILITY OF GETTING LESS THAN"
6370 PRINT " NET REVENUE `NR*'"
6380 PRINT
6390 PRINT "PROB. NR* NR*/COW "
6400 PRINT "═════ ═══════ ════════"
6410 FOR I=1 TO 21 STEP 2
6420 PRINT USING " \ \ ######.## ######.##";P$(I),RN(I),RN(I)/A1
6430 NEXT I
6440 S6$="N":S1=24:S2=4:GOSUB 24:PRINT"PRINT SCREEN ? ";:S2=19:S3=3:S9=1:GOSUB 9
6450 IF S$="Y" THEN S2=4:GOSUB 24:PRINT SPACE$(34);:CALL PRTSCR
6460 S6$="C":S1=24:S2=1:GOSUB 24:PRINT"CHANGE DATA<C>, RUN AGAIN<R>, EXIT<E>";:S2=38:S3=2:S9=1:GOSUB 9
6470 IF S$="C" THEN X4$="Y":GOTO 5260
6480 IF S$="R" THEN CLEAR:GOTO 5050
6490 IF S$="E" THEN CLS:PRINT "LOADING MENU....":RUN"HELLO.BAS":END
6500 GOTO 6460
6510 X=1:Y=6:Z=11:RETURN
6520 X=2:Y=7:Z=12:RETURN
6530 X=3:Y=8:Z=13:RETURN
6540 X=4:Y=9:Z=14:RETURN
6550 X=5:Y=10:Z=15:RETURN
6560 CLS
6570 PRINT S$;TAB(17);" LOW MOST HIGH"
6580 PRINT TAB(23);" LIKELY"
6590 PRINT TAB(17);"═══════════════════════"
6600 RETURN
6610 PRINT TAB(33);:RETURN
6620 CLS:PRINT:PRINT"C O S T S:";TAB(28);"TOTAL/YR"
6630 PRINT TAB(28);"════════"
6640 PRINT " WINTER FEED:"
6650 RETURN
6660 F=1:FOR K=1 TO 3
6670 PRINT A$(K+5)
6680 FOR I=1 TO 5
6690 PRINT F;:IF F<10 THEN PRINT" ";
6700 PRINT A$(I):F=F+1
6710 NEXT I
6720 IF K<3 THEN PRINT
6730 NEXT K
6740 RETURN
7000 REM FIRST SCREEN FOR COW/CALF CRAB
7010 CLS
7020 PRINT TAB(12);"*** COW/CALF ***"
7030 PRINT " COMPUTERIZED RISK ANALYSIS BUDGET"
7040 PRINT TAB(15);"JULY 1983":PRINT
7050 PRINT " THIS PROGRAM ALLOWS YOU TO ANALYSE"
7060 PRINT "VARIOUS COMBINATIONS OF NUMBERS SOLD"
7070 PRINT "WEIGHTS, AND PRICES FOR CATTLE.":PRINT
7080 PRINT " FOR EACH CATTLE TYPE, YOU ENTER THE"
7090 PRINT "LOWEST, MOST LIKELY AND HIGHEST VALUES."
7100 PRINT "THE COSTS ARE ALSO ENTERED INTO THE"
7110 PRINT "MODEL.":PRINT
7120 PRINT " THE PROGRAM WILL DISPLAY AVERAGE NET"
7130 PRINT "REVENUES AND A TABLE WHICH SHOWS THE"
7140 PRINT "PERCENTAGE CHANCE OF GETTING LESS THAN"
7150 PRINT "A CERTAIN LEVEL OF NET REVENUE ON A"
7160 PRINT "TOTAL AND PER COW BASIS."
7170 PRINT
7180 PRINT "JUST A WARNING: THE LOWEST VALUE MUST"
7190 PRINT "NOT BE GREATER THAN THE MOST LIKELY"
7200 PRINT "VALUE, WHICH IN TURN, CANNOT BE"
7210 PRINT "GREATER THAN THE HIGHEST VALUE."
7220 RETURN
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60530
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,5
60430 PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60440 LOCATE 23,5
60450 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60460 LOCATE 24,3
60470 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60480 FOR S=1 TO 4100
60490 POKE 106,0
60500 IF INKEY$<>"" GOTO 60520
60510 NEXT S
60520 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60530 REM **MONOCHROME LOGO**
60540 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60640 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60650 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60660 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60670 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60680 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60690 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60700 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60710 LOCATE 18,22:PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60720 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60730 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60740 FOR S=1 TO 1500
60750 S$=INKEY$
60760 IF S$=CHR$(13) GOTO 60780
60770 NEXT S
60780 S$=""
60790 ON ERROR GOTO 0
60800 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM CRCROP PROGRAM
2 REM CALCULATION OF CROP ENTERPRISE COSTS
3 REM LISTING MACHINERY, ENTERPRISE OPERATIONS, AND ASSOCIATED COSTS
4 REM LAST REVISED JULY,1984:IF CHANGED LINE 61085 ALSO
5 REM CONTACT KEN BUNNAGE
6 REM PHONE LETHBRIDGE 329-5118
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" NORMAL EXIT":LOCATE 11,6:COLOR 0,7:PRINT" LOADING MENU ... PLEASE WAIT ":COLOR 7,0:RUN "HELLO"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
900 REM *** CHANGES TO INPUT ***
901 S1$="DO YOU WISH TO MAKE CHANGES (Y/N)"
902 S1=22:S2=1:GOSUB 24:PRINT S1$
903 S6$="Y":S1=22:S2=35:S3=3:GOSUB 9
904 S1$="":S1=22:S2=1:GOSUB 24
905 RETURN
910 REM *** PRINTER OUTPUT OPTION ***
911 S1$="DO YOU WANT PRINTER OUTPUT (Y/N)"
912 S1=22:S2=1:GOSUB 24:PRINT S1$;
913 S6$="Y":S1=22:S2=35:GOSUB 9
914 S1$="":RETURN
5000 REM *** MAIN BODY OF PROGRAM *** SEGMENT 4 ***
5005 GOSUB 60000
5010 WIDTH 40:GOSUB 61000
5015 DIM D(4,7),A(25,16),A$(25,1),B$(25,1),B(25,22),E(9)
5020 CLS
5025 PRINT "ENTER PROJECT DESCRIPTION:"
5030 S6$="":S1=3:S2=1:S3=2:S4=0:S5=30:S9=20:GOSUB 9:A$=S$
5035 CLS
5040 PRINT "MISCELLANEOUS MACHINE INFORMATION":PRINT:PRINT
5045 PRINT "INTEREST RATE % MACHINERY CAPITAL":PRINT
5050 PRINT "INTEREST RATE % OPERATING CAPITAL":PRINT
5055 PRINT "OIL COST $/GAL-------------------":PRINT
5060 S6$="0":S1=4:S2=35:S3=1:GOSUB 9:FB=S
5065 S1=6:GOSUB 9:BI=S
5070 S1=8:S5=10:GOSUB 9:OI=S
5075 GOSUB 900:IF S$="N" THEN RR=1:GOTO 5150
5080 S1=4:S2=35:S3=1:S5=30:S6$=STR$(FB):GOSUB 9:FB=S
5085 S1=6:S6$=STR$(BI):GOSUB 9:BI=S
5090 S1=8:S6$=STR$(OI):S5=10:GOSUB 9:OI=S
5095 GOTO 5075
5100 CLS
5105 PRINT TAB(13);"**** MENU ****":PRINT TAB(13);"--------------"
5110 LOCATE 5,1:PRINT " 1 MACHINERY ADDITIONS"
5115 PRINT:PRINT " 2 BUDGET INPUT"
5120 PRINT:PRINT " 3 REAL ESTATE INPUT"
5125 PRINT:PRINT " 4 SUMMARY"
5130 PRINT:PRINT " 5 PRINT FOOTNOTES"
5135 PRINT:PRINT " 6 END OF PROGRAM"
5140 LOCATE 19,1:PRINT "TYPE A NUMBER INDICATING YOUR CHOICE?"
5145 S6$="":S1=19:S2=39:S3=1:S4=1:S5=6:S9=1:GOSUB 9:RR=S:S9=100
5150 ON RR GOSUB 5505,6005,7500,8005,7005,5160
5155 GOTO 5100
5160 CLS:PRINT "THANK YOU HAVE A NICE DAY":WIDTH 80
5170 LOCATE 11,6:COLOR 0,7:PRINT " LOADING PROGRAM MENU ... PLEASE WAIT ":COLOR 7,0:RUN "HELLO"
5500 REM *** MACHINE SECTION *** SEGMENT 5 ***
5505 CLS:PRINT "MACHINERY COMPLEMENT.. MACHINE NO. ";I+1
5510 PRINT
5515 PRINT:PRINT " 1 DESCRIPTION:":PRINT
5520 PRINT " 2 PURCHASE PRICE------------I":PRINT
5525 PRINT " 3 SALVAGE VALUE-------------I":PRINT
5530 PRINT " 4 ANNUAL HOURS OF USE-------I":PRINT
5535 PRINT " 5 NUMBER OF YEARS OF USE----I":PRINT
5540 PRINT " 6 COST OF LIFETIME REPAIR---I":PRINT
5545 PRINT " 7 FUEL CONSUMPTION GAL/HR---I":PRINT
5550 PRINT " 8 FUEL COST $/GAL-----------I":PRINT
5555 PRINT " 9 OIL USED IN GAL PER YEAR--I"
5560 S6$="END":S1=4:S2=18:S3=2:S9=18:GOSUB 9:IF S$="END" GOTO 5685
5565 I=I+1:A$(I,1)=S$
5567 S6$=STR$(A(I,2)):S1=S1+2:S2=32:S3=1:S4=0:S5=999999!:GOSUB 9:A(I,2)=S
5568 S6$=STR$(A(I,3)):S1=S1+2:GOSUB 9:A(I,3)=S
5569 S6$=STR$(A(I,4)):S1=S1+2:S5=2000:GOSUB 9:A(I,4)=S
5570 S6$=STR$(A(I,5)):S1=S1+2:S5=100:GOSUB 9:A(I,5)=S
5571 S6$=STR$(A(I,6)):S1=S1+2:S5=999999!:GOSUB 9:A(I,6)=S
5572 S6$=STR$(A(I,7)):S1=S1+2:S5=100:GOSUB 9:A(I,7)=S
5573 S6$=STR$(A(I,8)):S1=S1+2:S5=10:GOSUB 9:A(I,8)=S
5574 S6$=STR$(A(I,9)):S1=S1+2:S5=1000:GOSUB 9:A(I,9)=S
5575 TT=TT+A(I,2):DE=A(I,2)-A(I,3)
5580 IF A(I,5)=0 THEN CM=0:GOTO 5595
5585 IF FB=0 THEN CM=0:GOTO 5595
5590 CM=DE/((1-(1/((1+(FB/100))^A(I,5))))/(FB/100))
5595 CI=A(I,3)*FB/100
5600 IF A(I,4)=0 THEN A(I,12)=0:A(I,13)=0:GOTO 5625
5605 A(I,12)=(CI+CM)/A(I,4)
5610 IF A(I,5)=0 THEN GOTO 5620
5615 A(I,13)=DE/(A(I,5)*A(I,4)):DY=DY+DE/A(I,5)
5620 A(I,14)=A(I,12)-A(I,13):AN=AN+A(I,14)*A(I,4)
5625 IF A(I,4)=0 THEN RH=0:GOTO 5640
5630 IF A(I,5)=0 THEN RH=0:GOTO 5640
5635 RH=(A(I,6)/A(I,5))/A(I,4)
5640 FS=A(I,7)*A(I,8)
5645 IF A(I,4)=0 THEN OC=0:GOTO 5655
5650 OC=(A(I,9)*OI)/A(I,4)
5655 A(I,15)=FS+OC+RH
5660 GOSUB 900:IF S$="N" THEN GOTO 5505
5665 TT=TT-A(I,2):AN=AN-A(I,14)*A(I,4):IF A(I,5) <> 0 THEN DY=DY-DE/A(I,5)
5670 S6$=A$(I,1):S1=4:S2=18:S3=2:S9=18:GOSUB 9:A$(I,1)=S$
5675 IF S$="END" THEN I=I-1:GOTO 5685
5680 GOTO 5567
5685 CLS:LOCATE 4,1:PRINT "DO YOU WISH SCREEN OUTPUT (Y/N)"
5690 S6$="Y":S1=4:S2=33:S3=3:GOSUB 9:IF S$="Y" THEN GOSUB 10000
5692 CLS:GOSUB 910:IF S$="N" THEN GOTO 5805
5700 CLS:LPRINT:LPRINT:LPRINT:LPRINT:LPRINT:LPRINT "TABLE 1 MACHINE LISTING ";A$
5705 LPRINT:LPRINT:LPRINT "MACH";SPC(25);"ANNUAL TRADE-IN YEARS DEPREC'N INTEREST";
5710 LPRINT " OPERATING":LPRINT "NO. DESCRIPTION COST USE(HRS) VALUE ";
5715 LPRINT "USE COST/HR COST/HR COST/HR":FOR J=1 TO 80:LPRINT "-";:NEXT J:LPRINT
5720 FOR N=1 TO I:LPRINT RIGHT$((" "+STR$(N)),2);
5725 LPRINT LEFT$((" "+A$(N,1)+" "),18);
5730 S3=A(N,2):S4=10:GOSUB 200:LPRINT SPC(1);MID$(S3$,2,6);
5735 S3=A(N,4):GOSUB 200:LPRINT SPC(3);MID$(S3$,4,4);
5740 S3=A(N,3):GOSUB 200:LPRINT SPC(4);MID$(S3$,2,6);
5745 S3=A(N,5):GOSUB 200:LPRINT SPC(3);MID$(S3$,5,3);
5750 S3=A(N,13):S4=9:GOSUB 200:LPRINT S3$;
5755 S3=A(N,14):GOSUB 200:LPRINT S3$;
5760 S3=A(N,15):S4=10:GOSUB 200:LPRINT S3$
5765 NEXT N
5770 LPRINT:LPRINT:
5775 S3=TT:S4=11:GOSUB 200:LPRINT "TOTAL COST OF MACHINERY";SPC(44);S3$
5780 S3=DY:GOSUB 200:LPRINT "TOTAL ANNUAL MACHINERY DEPRECIATION";SPC(32);S3$
5785 S3=AN:GOSUB 200:LPRINT "TOTAL ANNUAL INTEREST ON MACHINERY";SPC(33);S3$
5790 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT:LPRINT SPC(20);"****************************************"
5795 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT
5805 RETURN
6000 REM *** BUDGET OPERATION SECTION *** SEGMENT 6 ***
6005 CLS:S1=10:S2=10:GOSUB 24:COLOR 0,7:PRINT "PLEASE WAIT":COLOR 7,0
6010 FOR V=1 TO 25:FOR J=1 TO 22:B(V,J)=0:NEXT:NEXT
6015 CLS:PRINT "ENTER CROP BUDGET IDENTIFICATION:"
6020 S1=3:S2=1:S3=2:S9=15:S6$="":GOSUB 9:D$=S$
6025 REM *** WAGES,YIELD,PRICE,OVERHEAD COST,SUMMERFALLOW OR NOT ***
6030 CLS:PRINT "**** MISCELLANEOUS BUDGET VALUES ****":PRINT:PRINT:PRINT:PRINT
6035 PRINT "WAGE RATE ($/HR)":PRINT:PRINT "YIELD PER ACRE":PRINT
6040 PRINT "PRICE PER UNIT OF YIELD":PRINT
6045 PRINT "OVERHEAD AS A % OF TOTAL COST":PRINT
6050 PRINT "ENTER 1 FOR FALLOW 0 FOR STUBBLE"
6055 S1=6:S2=34:S6$="0":S3=1:S4=0:S5=100:GOSUB 9:WA=S
6060 S1=S1+2:S5=10000:GOSUB 9:BU=S
6065 S1=S1+2:S5=1000:GOSUB 9:P=S
6070 S1=S1+2:S5=20:GOSUB 9:OV=S
6075 S1=S1+2:S5=1:S9=1:GOSUB 9:IS=S:S9=100
6080 GOSUB 900:IF S$="N" THEN GOTO 6105
6085 S1=6:S2=34:S3=1:S5=100:S6$=STR$(WA):GOSUB 9:WA=S:S1=8:S5=10000:S6$=STR$(BU):GOSUB 9:BU=S
6090 S1=10:S6$=STR$(P):S5=1000:GOSUB 9:P=S:S1=12:S5=20:S6$=STR$(OV):GOSUB 9:OV=S:S1=14:S5=1:S9=1:S6$=STR$(IS):GOSUB 9:IS=S
6095 S5=999999!:S9=100:GOTO 6080
6100 REM *** N IS A COUNTER ***
6105 N=0
6110 N=N+1
6115 CLS:PRINT "DO YOU WISH TO SEE MACHINERY LISTING":PRINT "(Y/N)"
6120 S1=2:S2=10:S3=3:S6$="Y":GOSUB 9:IF S$="Y" THEN GOSUB 10310
6125 REM *** MACHINES USED,TIMES OPERATION DONE,ACRES, HOURS, LABOUR,EXTRA
6130 CLS:PRINT "**** BUDGET OPERATIONS ****":PRINT:PRINT:PRINT
6135 PRINT "1 DESCRIPTION:":PRINT:PRINT "2 TRACTOR NUMBER FOLLOWED BY":PRINT " THREE MORE MACHINE";
6140 PRINT"S OR 0'S--I":PRINT:PRINT:PRINT"3 TIMES PER YEAR OPERATION ":PRINT" IS DONE---------------------I";
6145 PRINT:PRINT:PRINT "4 ACRES PER OPERATION---------I":PRINT:PRINT "5 MACHINE HOURS PER OPERATION-I"
6150 PRINT:PRINT "6 TOTAL LABOUR FOR ALL TIMES--I":PRINT:PRINT "7 MATERIALS AND SERVICES COST-I"
6155 S6$="END"
6160 S1=5:S2=17:S3=2:S9=15:GOSUB 9:B$(N,1)=S$
6165 IF S$="END" THEN GOTO 6350
6170 S5=25:S9=2
6175 S1=8:S2=29:S3=1:FOR J=2 TO 3:S6$=STR$(B(N,J)):S2=S2+4:GOSUB 9:B(N,J)=S:NEXT J
6180 S1=9:S2=29:FOR J=4 TO 5:S6$=STR$(B(N,J)):S2=S2+4:GOSUB 9:B(N,J)=S:NEXT J
6185 S9=100
6187 S1=S1+1:FOR J=6 TO 10:S6$=STR$(B(N,J)):S1=S1+2:S2=32:S5=100
6188 IF J=6 THEN S5=10: GOTO 6191
6189 IF J=7 THEN S5=1000: GOTO 6191
6190 IF J=10 THEN S5=10000:GOTO 6191
6191 GOSUB 9:B(N,J)=S:NEXT J
6195 GOSUB 900:S6$=B$(N,1):IF S$="N" GOTO 6210
6200 GOTO 6160
6205 REM *** TESTS FOR HOW MANY MACHINES USED ***
6210 IF B(N,7)=0 THEN HA=0:GOTO 6220
6215 HA=(B(N,8)/B(N,7))*B(N,6)
6220 IF B(N,5)=0 THEN GOTO 6245
6225 B(N,11)=A(B(N,5),12)*HA
6230 B(N,12)=A(B(N,5),13)*HA
6235 B(N,13)=A(B(N,5),14)*HA
6240 B(N,14)=A(B(N,5),15)*HA
6245 IF B(N,4)=0 GOTO 6270
6250 B(N,11)=A(B(N,4),12)*HA+B(N,11)
6255 B(N,12)=A(B(N,4),13)*HA+B(N,12)
6260 B(N,13)=A(B(N,4),14)*HA+B(N,13)
6265 B(N,14)=A(B(N,4),15)*HA+B(N,14)
6270 IF B(N,3)=0 GOTO 6295
6275 B(N,11)=B(N,11)+A(B(N,3),12)*HA
6280 B(N,12)=B(N,12)+A(B(N,3),13)*HA
6285 B(N,13)=B(N,13)+A(B(N,3),14)*HA
6290 B(N,14)=B(N,14)+A(B(N,3),15)*HA
6295 IF B(N,2)=0 GOTO 6320
6300 B(N,15)=A(B(N,2),12)*HA
6305 B(N,16)=A(B(N,2),13)*HA
6310 B(N,17)=A(B(N,2),14)*HA
6315 B(N,18)=A(B(N,2),15)*HA
6320 IF B(N,7)=0 THEN B(N,19)=0:GOTO 6330
6325 B(N,19)=B(N,9)*WA/B(N,7)
6330 B(N,20)=B(N,10)
6335 B(N,21)=B(N,21)+B(N,15)+B(N,18)+B(N,11)+B(N,14)+B(N,19)+B(N,20)
6340 REM *** LOOPS BACK TO ANOTHER OPERATION ***
6345 NJ=N:GOTO 6110
6350 FOR J=11 TO 21
6355 FOR V=1 TO NJ
6360 B(N,J)=B(N,J)+B(V,J)
6365 NEXT V
6370 NEXT J
6375 TL=B(N,21):NK=N:OD=TL*OV/100
6380 OW=B(NK,15)+B(NK,11):OP=TL-OW
6385 IF IS <> 0 THEN OT=OP*(BI/100)*1.5:GOTO 6395
6390 OT=OP*(BI/100)*0.75
6395 G1=BU*P
6400 SO=TL+OT+OD
6405 CLS:PRINT "DO YOU WISH SCREEN OUTPUT(Y/N)":S1=1:S2=35:S3=3:S6$="Y":GOSUB 9
6410 IF S$="Y" THEN GOSUB 10400
6415 CLS
6417 CLS:GOSUB 910:IF S$="N" THEN GOTO 6630
6425 REM *** PRINTOUT OF OPERATIONS TABLE ***
6430 LPRINT:LPRINT:LPRINT:LPRINT "TABLE 2 ENTERPRISE OPERATIONS ";D$
6435 LPRINT:LPRINT
6440 LPRINT SPC(30);" **TRACTOR COSTS** IMPLEMENT COSTS** MAT &"
6445 LPRINT "LINE OPERATION MACHINE DEPR- INTE- OPER- DEPR- INTE- OPER- ";
6450 LPRINT "SERVCE TOTAL":LPRINT "NO. DESCRIPTION NOS. TION REST ATING";
6455 LPRINT " TION REST ATING COSTS COSTS":LPRINT SPC(31);"-- -- -- -- -- --";
6460 LPRINT "DOLLARS PER ACRE-- -- -- -- --"
6465 FOR N=1 TO NJ:LPRINT RIGHT$((" "+STR$(N)),2);
6470 LPRINT LEFT$((" "+B$(N,1)+" "),15);" ";
6475 FOR J=2 TO 4:LPRINT RIGHT$((" "+STR$(B(N,J))),2);",";:NEXT J
6480 LPRINT RIGHT$((" "+STR$(B(N,J))),2);" ";
6485 S4=6:FOR J=16 TO 18:S3=B(N,J):GOSUB 200:LPRINT S3$;:NEXT J
6490 FOR J=12 TO 14:S3=B(N,J):GOSUB 200:LPRINT S3$;:NEXT J
6495 S4=7:FOR J=20 TO 21:S3=B(N,J):GOSUB 200:LPRINT S3$;:NEXT J:LPRINT
6500 NEXT
6505 LPRINT SPC(31);:FOR J=1 TO 6:LPRINT " -----";:NEXT:LPRINT " ------ ------"
6510 LPRINT
6515 LPRINT RIGHT$((" "+STR$(N)),2);" SUBTOTALS";
6520 FOR J=1 TO 5:LPRINT " --";:NEXT J:LPRINT " -";
6525 S4=6:FOR J=16 TO 18:S3=B(N,J):GOSUB 200:LPRINT S3$;:NEXT J
6530 FOR J=12 TO 14:S3=B(N,J):GOSUB 200:LPRINT S3$;:NEXT J
6535 FOR J=20 TO 21:S3=B(N,J):S4=7:GOSUB 200:LPRINT S3$;:NEXT J:LPRINT
6540 S4=6:S3=B(N,19):GOSUB 200:LPRINT:LPRINT " TOTAL COSTS INCLUDES ";S3$;" IN LABOUR COSTS"
6545 Y$=" "+STR$(NK)
6550 LPRINT:LPRINT:LPRINT:LPRINT
6555 LPRINT " INTEREST ON OPERATING CAPITAL"
6560 LPRINT SPC(11);"(LINE ";RIGHT$(Y$,2);"-OWNERSHIP COSTS)";
6565 S3=BI:S4=5:GOSUB 200:LPRINT S3$;"%X";
6570 S3=OP:S4=6:GOSUB 200:LPRINT S3$;
6575 IF IS <> 0 THEN LPRINT " FOR 1.5 YRS";:GOTO 6585
6580 LPRINT " FOR 3/4 YR.";
6585 S3=OT:S4=7:GOSUB 200:LPRINT SPC(10);S3$
6590 S3=OV:S4=7:GOSUB 200:LPRINT " MISCELLANEOUS OVERHEAD";S3$;
6595 LPRINT " PCT OF LINE ";RIGHT$((" "+STR$(NK)),2);
6600 S3=OD:S4=6:GOSUB 200:LPRINT SPC(25);S3$:LPRINT:LPRINT
6605 LPRINT " TOTAL OPERATIONS COSTS";
6610 S3=SO:S4=6:GOSUB 200:LPRINT SPC(47);S3$
6615 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT "***************************************"
6620 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT
6630 RETURN
7000 REM *** FOOTNOTES ACCEPTED AND PRINTED *** SEGMENT 7 ***
7005 CLS
7010 PRINT "ENTER FOOTNOTE"
7015 S1=2:S2=1:S3=2:S4=0:S5=999999!:S6$="":GOSUB 9:C$=S$
7025 LPRINT TAB(5)"NOTE:";C$
7035 RETURN
7500 REM **** REAL ESTATE TABLESECTION **** SEGMENT 8 ***
7505 CLS:PRINT " **** REAL ESTATE ****":PRINT:PRINT:PRINT
7510 PRINT "1 LAND VALUE PER ACRE----------I":PRINT:PRINT "2 BUILDING VALUE PER ";
7515 PRINT "ACRE------I":PRINT:PRINT "3 BUILDING DEPRECIATION %------I":PRINT
7520 PRINT "4 REAL ESTATE INTEREST RATE----I":PRINT:PRINT "5 TAX PER ACRE FOR ";
7525 PRINT "LAND--------I":PRINT:PRINT "6 TAX PER ACRE FOR REAL ESTATE-I":PRINT
7530 PRINT "7 COST OF IRRIGATION RIGHTS----I":PRINT:PRINT "8 FIXED COST (INSURANCE ETC)---I"
7535 S1=3:S2=35:S3=1:S4=0:S5=999999!
7540 FOR J=1 TO 8:S6$=STR$(E(J)):S1=S1+2:IF J=1 OR J=2 THEN 7543
7541 IF J=3 OR J=4 OR J=7 THEN S5=100:GOTO 7543
7542 S5=1000
7543 GOSUB 9:E(J)=S: NEXT J
7545 GOSUB 900:IF S$="N" GOTO 7550
7547 GOTO 7535
7550 FOR V=1 TO 3:FOR J=1 TO 6:D(V,J)=0:NEXT:NEXT
7555 D(1,2)=E(1)*E(4)/100
7560 D(1,3)=E(5)
7565 D(1,4)=E(7)
7570 FOR J=1 TO 4:D(1,6)=D(1,6)+D(1,J):NEXT
7575 D(2,1)=E(2)*E(3)/100
7580 D(2,2)=E(4)*E(2)/100
7585 D(2,3)=E(6)
7590 D(2,5)=E(8)
7595 FOR J=1 TO 5:D(2,6)=D(2,6)+D(2,J):NEXT
7600 FOR V=1 TO 6:D(3,V)=D(1,V)+D(2,V):NEXT
7605 GT=D(3,6)+SO
7610 CLS:S1=22:S2=1:GOSUB 24:PRINT "DO YOU WISH SCREEN OUTPUT "
7615 S1=22:S2=35:S3=3:S6$="Y":GOSUB 9:IF S$="Y" THEN GOSUB 10600
7617 CLS:GOSUB 910:IF S$="N" THEN GOTO 7750
7620 REM *** PRINTOUT OF REAL ESTATE TABLE ***
7625 CLS
7630 LPRINT:LPRINT:LPRINT:LPRINT
7635 LPRINT "TABLE 3 REAL ESTATE COSTS PER ACRE":LPRINT
7640 LPRINT SPC(14);"MARKET DEPREC-";SPC(30);"INSUR- TOTAL"
7645 LPRINT "ITEM";SPC(10);"VALU IATION INTEREST TAXES WATER";
7650 LPRINT " ANCE PER ACRE":FOR J=1 TO 74:LPRINT "-";:NEXT J:LPRINT
7655 LPRINT "LAND";:S3=E(1):S4=9:GOSUB 200:LPRINT SPC(7);S3$;
7660 S3=D(1,2):GOSUB 200:LPRINT SPC(9);S3$;
7665 S3=D(1,3):GOSUB 200:LPRINT S3$;
7670 S3=D(1,4):GOSUB 200:LPRINT S3$;
7675 S3=D(1,6):GOSUB 200:LPRINT SPC(9);S3$
7680 LPRINT:LPRINT "BUILDINGS ";:S3=E(2):GOSUB 200:LPRINT S3$;
7685 S3=D(2,1):GOSUB 200:LPRINT S3$;
7690 S3=D(2,2):GOSUB 200:LPRINT S3$;
7695 S3=D(2,3):GOSUB 200:LPRINT S3$;
7700 S3=D(2,5):GOSUB 200:LPRINT SPC(9);S3$;
7705 S3=D(2,6):GOSUB 200:LPRINT S3$
7710 LPRINT SPC(11);:FOR J=1 TO 7:LPRINT " --------";:NEXT J
7715 LPRINT:LPRINT "TOTAL COST ";:S3=D(3,6):S4=9:GOSUB 200:LPRINT SPC(54);S3$
7720 LPRINT:LPRINT:LPRINT "TOTAL COST PER ACRE";SPC(46);:S3=GT:GOSUB 200:LPRINT S3$
7725 LPRINT:LPRINT:LPRINT "ESTIMATED GROSS INCOME PER ACRE";:S3=G1:GOSUB 200
7730 LPRINT SPC(34);S3$
7735 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT "****************************************"
7740 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT
7750 RETURN
8000 REM *** SUMMARY TABLE SECTION *** SEGMENT 9 ***
8005 N=NJ+1:GA=G1-B(N,20):TW=D(3,3)+D(1,4)
8010 T1=B(N,18)+B(N,14)+TW+OT+OD:CR=GA-T1:DP=B(N,16)+B(N,12)
8015 EQ=B(N,17)+B(N,13):T2=DP+D(2,1)+B(N,19)
8017 GP=CR-T2
8019 T3=D(1,2)+EQ+D(2,2)
8020 AL=B(N,20)+T1+T2+T3
8025 S1=23:S2=1:GOSUB 24:PRINT "DO YOU WISH SCREEN OUTPUT(Y/N)"
8030 S2=35:S6$="Y":S4=0:S5=999999!:S3=3:GOSUB 9:IF S$="Y" THEN GOSUB 10800
8035 CLS:COLOR 0,7:PRINT "PLEASE WAIT":COLOR 7,0
8037 CLS:GOSUB 910:IF S$="N" THEN GOTO 8215
8040 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT
8045 LPRINT "SUMMARY OF CONSENSUS REPORT - COSTS AND RETURNS"
8050 LPRINT:LPRINT:LPRINT D$
8055 LPRINT:LPRINT:S3=G1:S4=9:GOSUB 200:LPRINT " GROSS INCOME";SPC(51);S3$:LPRINT
8060 LPRINT " DIRECT CASH COSTS"
8065 S3=B(N,20):GOSUB 200:LPRINT " MATERIAL AND SERVICE COSTS";SPC(9);S3$;SPC(2);S3$
8070 S3=GA:GOSUB 200:LPRINT:LPRINT " GROSS MARGIN";SPC(52);S3$:LPRINT:LPRINT
8075 LPRINT " OVERHEAD CASH COSTS"
8080 S3=B(N,18):GOSUB 200:LPRINT " TRACTOR OPERATING";SPC(18);S3$
8085 S3=B(N,14):GOSUB 200:LPRINT " IMPLIMENT OPERATING";SPC(16);S3$
8090 S3=TW:GOSUB 200:LPRINT " TAXES AND WATER";SPC(20);S3$
8095 S3=OT:GOSUB 200:LPRINT " INTEREST ON OPERATING CAPITAL";SPC(6);S3$
8100 S3=OD:GOSUB 200:LPRINT " MISCELLANEOUS OVERHEAD";SPC(13);S3$
8105 LPRINT SPC(48);"------"
8110 S3=T1:GOSUB 200:LPRINT " TOTAL";SPC(30);S3$;SPC(2);S3$:LPRINT:LPRINT
8115 LPRINT " RETURN OVER DIRECT CASH COSTS (CONTRIBUTION MARGIN)";
8120 S3=CR:GOSUB 200:LPRINT SPC(8);S3$:LPRINT:LPRINT
8125 LPRINT "DEPRECIATION AND LABOUR"
8130 S3=DP:GOSUB 200:LPRINT " EQUIPMENT DEPRECIATION";SPC(13);S3$
8135 S3=D(2,1):GOSUB 200:LPRINT " BUILDING DEPRECIATION";SPC(14);S3$
8140 S3=B(N,19):GOSUB 200:LPRINT " OPERATOR AND PAID LABOUR";SPC(11);S3$
8145 LPRINT SPC(48);"------"
8150 S3=T2:GOSUB 200:LPRINT " TOTAL";SPC(30);S3$;SPC(2);S3$:LPRINT:LPRINT:LPRINT
8155 S3=GP:GOSUB 200:LPRINT " INTEREST ON INVESTMENT/GROSS OPERATING PROFIT";SPC(19);S3$:LPRINT:LPRINT:LPRINT
8160 LPRINT " INTEREST/OPPORTUNITY COSTS"
8165 S3=D(1,2):GOSUB 200:LPRINT " REAL ESTATE";SPC(24);S3$
8170 S3=EQ:GOSUB 200:LPRINT " EQUIPMENT";SPC(26);S3$
8175 S3=D(2,2):GOSUB 200:LPRINT " BUILDINGS";SPC(26);S3$
8180 LPRINT SPC(48);"------"
8185 S3=T3:GOSUB 200:LPRINT " TOTAL";SPC(30);S3$;SPC(2);S3$
8190 LPRINT:LPRINT:S3=AL:GOSUB 200:LPRINT " TOTAL OF ALL ECONOMIC COSTS";SPC(24);S3$:LPRINT:LPRINT:LPRINT:LPRINT
8195 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT "****************************************"
8200 LPRINT:LPRINT:LPRINT:LPRINT:LPRINT
8215 RETURN
10000 REM *** SCREEN MACHINE TABLE OUTPUT *** SEGMENT 10 ***
10010 CLS:PRINT "MACHINE TABLE"
10020 PRINT:PRINT TAB(18);"TRADE ANNUAL YEARS"
10030 PRINT "NO MACH COST VALUE USE USE":PRINT
10040 FOR J=1 TO I:PRINT RIGHT$((" "+STR$(J)),2);
10050 PRINT TAB(4);LEFT$(A$(J,1),6);
10060 PRINT TAB(11);INT(A(J,2));
10070 PRINT TAB(18);INT(A(J,3));
10080 PRINT TAB(26);INT(A(J,4));
10090 PRINT TAB(35);INT(A(J,5)):NEXT J
10100 GOSUB 300
10120 CLS:PRINT "MACHINE TABLE":PRINT
10130 PRINT TAB(12);"DEPRECN INTEREST OPERATN"
10140 PRINT "NO MACH COST/HR COST/HR COST/HR"
10150 FOR J=1 TO I:PRINT RIGHT$((" "+STR$(J)),2);
10160 PRINT TAB(4);LEFT$(A$(J,1),6);
10170 PRINT TAB(13);LEFT$(STR$(A(J,13)),6);
10180 PRINT TAB(23);LEFT$(STR$(A(J,14)),6);
10190 PRINT TAB(33);LEFT$(STR$(A(J,15)),6):NEXT J
10200 GOSUB 300
10210 RETURN
10300 REM *** SCREEN MACHINE LISTING OUTPUT *** SEGMENT 11 ***
10310 CLS:PRINT "MACHINERY LISTING"
10320 FOR J=1 TO I:PRINT RIGHT$((" "+STR$(J)),2);
10330 PRINT SPC(5);A$(J,1)
10340 NEXT J
10350 GOSUB 300
10360 RETURN
10400 REM *** SCREEN BUDGET OPERATIONS TABLE *** SEGMENT 12 ***
10410 CLS:PRINT "OPERAT MACHINE MACH LABOR MATER TOTAL"
10420 PRINT " ION NO COSTS COSTS COSTS COSTS"
10430 FOR J=1 TO 40:PRINT "-";:NEXT J:PRINT
10440 FOR J=1 TO NJ:PRINT LEFT$(((B$(J,1))+" "),5);
10450 FOR V=2 TO 4:PRINT RIGHT$((" "+STR$(B(J,V))),2);" ";:NEXT V
10455 PRINT RIGHT$((" "+STR$(B(J,5))),2);
10460 Z=B(J,16)+B(J,17)+B(J,18)+B(J,12)+B(J,13)+B(J,14)
10470 PRINT TAB(17);LEFT$(STR$(Z),5);
10480 PRINT TAB(24);LEFT$(STR$(B(J,19)),5);
10490 PRINT TAB(30);LEFT$(STR$(B(J,20)),5);
10500 PRINT TAB(36);LEFT$(STR$(B(J,21)),5)
10510 NEXT J
10520 PRINT:PRINT "INTEREST ON OPERATING CAPITAL";TAB(34);LEFT$(STR$(OT),6)
10530 PRINT "MISCELLANEOUS OVERHEAD";TAB(34);LEFT$(STR$(OD),6)
10540 PRINT "TOTAL COSTS";TAB(34);LEFT$(STR$(SO),6)
10550 GOSUB 300
10560 RETURN
10600 REM *** SCREEN REAL ESTATE TABLE OUTPUT *** SEGMENT 13 ***
10610 CLS:PRINT "REAL ESTATE COSTS PER ACRE":PRINT
10620 PRINT " DEP INTST TAX WATER INS TOTAL":PRINT
10630 PRINT "LAND";TAB(12);D(1,2);
10640 PRINT TAB(19);D(1,3);
10650 PRINT TAB(24);D(1,4);
10660 PRINT TAB(34);D(1,6)
10670 PRINT "BLDG";TAB(7);D(2,1);
10680 PRINT TAB(12);D(2,2);
10690 PRINT TAB(19);D(2,3);
10700 PRINT TAB(29);D(2,5);
10710 PRINT TAB(34);D(2,6)
10720 PRINT:PRINT "TOTAL COSTS PER ACRE";TAB(34);LEFT$(STR$(GT),6)
10730 PRINT:PRINT "ESTIMATED GROSS INCOME PER ACRE";TAB(34);LEFT$(STR$(G1),6)
10740 GOSUB 300
10750 RETURN
10800 REM *** SCREEN SUMMARY TABLE OUTPUT *** SEGMENT 14 ***
10810 CLS:PRINT "SUMMARY OF CONSENSUS REPORT ";LEFT$(D$,9)
10820 PRINT "---------------------------"
10830 PRINT:PRINT "GROSS INCOME"TAB(33);LEFT$(STR$(G1),6)
10840 PRINT:PRINT "DIRECT CASH COSTS":PRINT "---------------"
10850 PRINT "MATERIAL COSTS";TAB(27);LEFT$(STR$(B(N,20)),6)
10860 PRINT:PRINT "GROSS MARGIN";TAB(33);LEFT$(STR$(GA),6)
10870 PRINT:PRINT "OVERHEAD CASH COSTS":PRINT "-------------------"
10880 PRINT "TRACTOR OPERATING";TAB(27);LEFT$(STR$(B(N,18)),6)
10890 PRINT "IMPLIMENT OPERATAING";TAB(27);LEFT$(STR$(B(N,14)),6)
10900 PRINT "TAXES AND WATER";TAB(27);LEFT$(STR$(TW),6)
10910 PRINT "INTEREST ON OPER. CAPITAL";TAB(27);LEFT$(STR$(OT),6)
10920 PRINT "MISCELLANEOUS OVERHEAD";TAB(27);LEFT$(STR$(OD),6)
10930 PRINT TAB(27);"------"
10940 PRINT "TOTAL";TAB(27);LEFT$(STR$(T1),6)
10950 PRINT:PRINT "RETURN OVER DIRECT CASH COSTS";TAB(33);LEFT$(STR$(CR),6)
10960 GOSUB 300
10970 CLS:PRINT "SUMMARY CONTINUED";TAB(30);LEFT$(D$,9)
10980 PRINT "---------------"
10990 PRINT:PRINT "DEPRECIATION AND LABOUR":PRINT "-----------------------"
11000 PRINT "EQUIPMENT DEPRECIATION";TAB(27);LEFT$(STR$(DP),6)
11010 PRINT "BUILDING DEPRECIATION";TAB(27);LEFT$(STR$(D(2,1)),6)
11020 PRINT "OPERATOR AND PAID LABOUR";TAB(27);LEFT$(STR$(B(N,19)),6)
11030 PRINT TAB(27);"------":PRINT "TOTAL";TAB(27);LEFT$(STR$(T2),6)
11040 PRINT:PRINT "GROSS OPERATING PROFIT";TAB(33);LEFT$(STR$(GP),6)
11050 PRINT:PRINT "INTEREST/OPPORTUNITY COSTS":PRINT "--------------------------"
11060 PRINT "REAL ESTATE";TAB(27);LEFT$(STR$(D(1,2)),6)
11070 PRINT "EQUIPMENT";TAB(27);LEFT$(STR$(EQ),6)
11080 PRINT "BUILDINGS";TAB(27);LEFT$(STR$(D(2,2)),6)
11090 PRINT TAB(27);"------":PRINT "TOTAL"TAB(27);LEFT$(STR$(T3),6)
11100 PRINT:PRINT "TOTAL OF ALL ECONOMIC COSTS";TAB(33);LEFT$(STR$(AL),6)
11110 GOSUB 300
11120 RETURN
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 17,4
60430 PRINT"FIELD SERVICES DIVISION"
60440 LOCATE 18,4
60450 PRINT" & ECONOMIC SERVICES DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,14:PRINT"FIELD SERVICES & ECONOMIC SERVICES DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
61000 REM *** INTRODUCTION TO PROGRAM *** SEGMENT 16 ***
61003 WIDTH 40:CLS:LOCATE 3,1
61005 PRINT TAB(6)"█ █ ████ █ █ ███ "
61010 PRINT TAB(6)"█ █ █ █ █ █ █"
61015 PRINT TAB(6)"████ ███ █ █ █ █"
61020 PRINT TAB(6)"█ █ █ █ █ █ █"
61025 PRINT TAB(6)"█ █ ████ ███ ███ ███ "
61040 LOCATE 10,13:PRINT "WELCOME TO"
61042 PRINT:PRINT
61045 PRINT" ▐██▌ ███▌ ▐██▌ ███▌ ▐██▌ ███▌"
61050 PRINT" █ █ █ █ █ █ █ █ █ █ █ █"
61055 PRINT" █ ███▌ █ ███▌ █ █ ███▌"
61060 PRINT" █ █ █ █ █ █ █ █ █ █ █ "
61065 PRINT" ▐██▌ █ ▐▌ ▐██▌ █ ▐▌ ▐██▌ █ "
61080 LOCATE 20,5:PRINT"CONSENSUS RESEARCH CROPS MODEL"
61085 LOCATE 22,13:PRINT"JULY 1984"
61090 GOSUB 300
61120 CLS:PRINT "YOU WILL BE ASKED TO ANSWER QUESTIONS"
61125 PRINT "SPECIFIC TO TWO INPUT SHEETS"
61130 PRINT:PRINT:PRINT "IF YOU ARE READY THEN LET'S PROCEED"
61135 GOSUB 300
61140 CLS:PRINT "AFTER ANSWERING EACH QUESTION":PRINT "YOU MUST PRESS ";:COLOR 0,7:PRINT "RETURN":COLOR 7,0
61145 PRINT:PRINT "IF YOU MAKE A MISTAKE AND NOTICE IT":PRINT "BEFORE YOU PRESS RETURN SIMPLY ";:COLOR 0,7:PRINT "BACKSPACE":COLOR 7,0
61150 PRINT:PRINT "IF YOU HAVE PRESSED RETURN YOU WILL BE":PRINT "GIVEN A CHANCE TO CORRECT IT LATER"
61155 PRINT:PRINT "TO EXIT THE PROGRAM, ENTER ";:COLOR 0,7:PRINT"`SHIFT <'":COLOR 7,0
61157 PRINT"BUT ALL OF THE INFORMATION WILL BE LOST."
61160 GOSUB 300
61165 RETURN
1 REM DIET DETECTIVE JR.
2 REM PROVIDES NUTRIENT ANALYSIS & RECOMMENDATIONS
3 REM PROGRAMMER: A HILLS AUG 1980
4 REM REVISED BY GD FISHER FOR IBM PC
5 REM LAST REVISION: FEB 27/83
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$;
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT"NORMAL EXIT":RUN"HELLO"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM *** MAINLINE ***
5004 CLS
5008 DIM A(1,20)
5012 DIM R$(1,19)
5016 DIM O(26,5)
5020 DIM T(77,6)
5024 DIM S(1,7)
5028 DIM R(1,7)
5032 ZR=0:OE=1: REM CONSTANTS
5036 A(1,0)=OE
5040 M=3
5044 GOSUB 60000
5048 REM GOSUB 60010
5052 GOSUB 5600
5056 GOSUB 5700
5060 GOSUB 5748
5064 GOSUB 5900
5068 S6$="":S1=4:S2=23:S3=2:S9=12: GOSUB 9
5072 A$=S$
5076 GOSUB 5700
5080 GOSUB 6000
5084 GOSUB 5550
5088 GOSUB 6300
5092 M=2
5096 GOSUB 5700
5100 GOSUB 6200: REM READ W DATA STMTS
5104 M=3
5108 GOSUB 5700
5112 A1=75
5116 GOSUB 5500
5120 GOSUB 5850
5124 GOSUB 5500
5128 GOSUB 5800
5132 GOSUB 6500
5136 B$="BREAKFAST?"
5140 D$="B"
5144 GOSUB 6600: REM FOOD INTAKE MENU
5148 G=W
5152 GOSUB 6700: REM USER ENTERS INTAKE
5156 B$="LUNCH?"
5160 D$="L"
5164 GOSUB 6600
5168 H=W
5172 GOSUB 6700
5176 D$="D"
5180 B$="DINNER?"
5184 GOSUB 6600
5188 I=W
5192 GOSUB 6700
5196 D$="S"
5200 B$="SNACKS?"
5204 GOSUB 6600
5208 J=W
5212 GOSUB 6700
5216 GOSUB 7900
5224 CLS
5228 GOSUB 7002: REM CALORIE CONSUMPTION
5232 GOSUB 7200
5236 GOSUB 7300
5240 X=W1/2.2*R(1,3)
5244 X= INT(X)
5248 P2=X
5252 GOSUB 8200
5256 GOSUB 5550
5260 X=W1/2.2*R(1,3)
5264 X= INT(X)
5268 P2=X
5272 IF L$<>"ABOVE" THEN 5284
5276 GOSUB 7400
5284 IF Q>200 THEN 5300
5288 A(1,14)=A(1,14)+OE
5292 GOSUB 7100
5296 GOSUB 5550
5300 GOSUB 7500
5304 GOSUB 8300
5308 GOSUB 5550
5312 CLS
5316 Z=ZR
5320 IF T(0,2)<R(1,5) THEN GOSUB 7700
5324 IF T(0,3)<R(1,6) THEN GOSUB 7750
5328 IF T(0,4)<R(1,7) THEN GOSUB 7800
5332 IF Z<>ZR THEN GOSUB 5550
5336 CLS
5340 Z=ZR
5344 IF T(0,5)>200 THEN GOSUB 8000
5348 IF T(0,6)>ZR THEN GOSUB 8050
5352 IF Z>ZR THEN GOSUB 5550
5356 GOSUB 8500
5360 S6$="":S1=23:S2=33:S3=2: GOSUB 9
5364 IF S$="R" THEN 8600: REM RESTART PROG
5368 IF S$<>"S" THEN 5360
5372 GOSUB 8700: GOSUB 5550: REM PRINT STATS
5376 CLS : PRINT : PRINT "THANKS AND THINK NUTRITION"
5380 RUN "HELLO"
5500 FOR V=OE TO A1:X=X*9:X=X/9: NEXT
5502 RETURN
5550 LOCATE 23,10: COLOR 23,0 : PRINT "PRESS 'RETURN' TO PROCEED": COLOR 7,0
5552 S6$="":S1=23:S2=38:S3=2:S9=1: GOSUB 9:S9=0
5554 RETURN
5600 LOCATE 4,15: PRINT "PRESENTS"
5602 A1=120
5604 GOSUB 5500
5606 LOCATE 6,8: COLOR 0,7 : PRINT "`DIET DETECTIVE JUNIOR'": COLOR 7,0
5608 LOCATE 9,12: PRINT "A MICROCOMPUTER"
5610 LOCATE 11,9: PRINT "DIET ANALYSIS PROGRAM"
5611 LOCATE 21,23: PRINT "MARCH 1983"
5612 GOSUB 5550
5614 RETURN
5700 CLS
5702 LOCATE 6,1
5704 ON M GOTO 5706,5710,5714
5706 M1$=" (/-\) "
5708 GOTO 5716
5710 M1$=" ( - ) "
5712 GOTO 5716
5714 M1$=" (\_/)"
5716 PRINT " ### "
5718 PRINT " ####### "
5720 PRINT " !- -! "
5722 PRINT " !Q Q! "
5724 PRINT " ! + ! "
5726 PRINT M1$
5728 PRINT " \_/ "
5730 PRINT " ]=[ "
5732 PRINT " / \ "
5734 PRINT " / O \ "
5736 PRINT "! ! "
5738 PRINT "! O ! "
5740 PRINT "! ! ! ! "
5742 PRINT "! ! O ! ! "
5744 PRINT " <! !> "
5746 RETURN
5748 A1=50
5750 FOR X=OE TO 3
5752 LOCATE 9,6: PRINT "-"
5754 GOSUB 5500
5756 LOCATE 9,6: PRINT "Q"
5758 GOSUB 5500
5760 NEXT
5764 RETURN
5800 LOCATE 15,11: PRINT "^"
5802 PRINT "! \ /"
5804 PRINT "! O !\ /"
5806 PRINT "! ! ! \/ "
5808 PRINT "! ! O ! "
5812 RETURN
5850 LOCATE 16,1: PRINT "! \ "
5852 PRINT "! O !\ \"
5854 PRINT "! ! ! \ \"
5856 PRINT "! ! O ! \>"
5858 PRINT " <! ! "
5860 RETURN
5900 LOCATE 1,2: PRINT "__________________________________"
5902 PRINT "! HI! I'M DIET DETECTIVE JUNIOR. !"
5904 PRINT "! !"
5906 PRINT "! !"
5908 PRINT "!__________________________________!"
5910 LOCATE 6,12: PRINT "/"
5914 GOSUB 5500
5916 LOCATE 4,4: PRINT "WHAT IS YOUR NAME?"
5920 GOSUB 5500
5922 LOCATE 11,1
5924 LOCATE 12,15:PRINT "VVVVVVVVVVVVVVVVVVVVVVVV"
5926 LOCATE 13,15:PRINT "V V"
5928 LOCATE 14,15:PRINT "V TYPE YOUR NAME AFTER V"
5930 LOCATE 15,15:PRINT "V THE ? THEN PRESS V"
5932 LOCATE 16,15:PRINT "V 'RETURN' V"
5934 LOCATE 17,15:PRINT "V V"
5938 LOCATE 18,15:PRINT "VVVVVVVVVVVVVVVVVVVVVVVV"
5940 RETURN
6000 LOCATE 6,10: PRINT "___________________________"
6002 LOCATE 7,9: PRINT "!I CAN TELL YOU HOW WELL YOU!"
6004 LOCATE 8,9: PRINT "!ARE EATING, "
6005 LOCATE 8,22: COLOR 0,7 : PRINT A$: COLOR 7,0
6006 LOCATE 8,37: PRINT "!"
6008 LOCATE 9,9: PRINT "!IF YOU ANSWER MY QUESTIONS.!"
6009 LOCATE 10,9: PRINT "! !"
6010 LOCATE 11,9: PRINT "!FIRST, I WILL ASK YOU SOME !"
6012 LOCATE 12,9: PRINT "!QUESTIONS ABOUT YOURSELF. !"
6014 LOCATE 13,9: PRINT "!___________________________!"
6022 RETURN
6200 REM *** READ WEIGHT DATA ***
6201 W=ZR
6202 READ T$
6204 IF T$<>"W" THEN 6224
6206 N=N+OE
6208 W=W+OE
6210 READ O(N,1),O(N,2),O(N,3),O(N,4),O(N,5)
6222 GOTO 6202
6224 Z= VAL (Y$)
6226 IF Z<13 THEN A(1,2)=A(1,2)+OE
6228 IF Z>12 AND Z<19 THEN A(1,3)=A(1,3)+OE
6230 IF Z>18 AND Z<65 THEN A(1,4)=A(1,4)+OE
6232 IF Z>64 THEN A(1,5)=A(1,5)+OE
6234 IF Z<19 THEN 6264
6236 IF P$="Y" OR N$="Y" THEN 6264
6248 IF SS$="F" THEN 6256
6250 IF L<63 OR L>75 THEN 6264
6254 GOTO 6260
6256 IF L<60 OR L>72 THEN 6264
6260 GOSUB 6800
6262 GOSUB 5550
6264 RETURN
6300 REM *** ENTER PERSONAL DATA ***
6302 CLS : PRINT "ARE YOU MALE OR FEMALE:
6304 PRINT " (TYPE M IF MALE, F IF FEMALE "
6306 PRINT " THEN PRESS 'RETURN') ?"
6308 S6$=SS$:S1=3:S2=33:S3=2: GOSUB 9
6310 SS$=S$
6314 IF SS$="M" OR SS$="F" GOTO 6326
6320 LOCATE 25,1: COLOR 0,7 : COLOR 23,0 : PRINT "ENTER M OR F ONLY";
6321 A1=100: GOSUB 5500: COLOR 7,0 : GOSUB 91: GOSUB 94
6322 GOTO 6308
6326 LOCATE 5,1: PRINT "WHAT IS YOUR AGE IN YEARS:"
6328 PRINT " (ENTER NUMBER ONLY ,
6330 PRINT " THEN PRESS 'RETURN') ?"
6332 S6$=Y$:S1=7:S3=1:S4=1:S5=110: GOSUB 9
6340 Y$= STR$ (S)
6342 LOCATE 9,1: PRINT "WHAT IS YOUR HEIGHT: FEET ?"
6344 PRINT " (PRESS 'RETURN' AFTER"
6346 PRINT " EACH NUMBER) INCHES ?"
6348 S6$= STR$ ( INT(L/12)):S1=9:S4=1:S5=6: GOSUB 9
6350 S6$= STR$ (L- INT(L/12)*12)
6352 L=12*S
6360 S1=11:S4=0:S5=12: GOSUB 9
6362 L=L+S
6370 LOCATE 13,1: PRINT "WHAT IS YOUR WEIGHT IN POUNDS"
6372 PRINT " (ENTER NUMBER ONLY,"
6374 PRINT " THEN PRESS 'RETURN') ?"
6375 S6$=W$
6376 S1=15:S4=10:S5=350: GOSUB 9
6378 W$= STR$ (S)
6388 N$=" "
6390 P$=" "
6392 V= VAL (Y$):S6$="N":S3=3
6394 IF V<16 OR V>50 THEN GOTO 6430
6396 IF SS$<>"F" GOTO 6430
6398 LOCATE 17,1: PRINT "ARE YOU A NURSING MOTHER
6400 PRINT " IF YES,TYPE Y,IF NO,TYPE N ? "
6402 S1=18: GOSUB 9
6404 N$=S$
6414 LOCATE 20,1: PRINT "ARE YOU PREGNANT "
6416 PRINT " IF YES,TYPE Y,IF NO,TYPE N ? "
6418 S1=21: GOSUB 9
6420 P$=S$
6430 LOCATE 23,1: PRINT "ANY CHANGES? (TYPE Y FOR YES,N FOR NO)"
6432 S1=23:S2=39: GOSUB 9
6440 IF S$<>"N" GOTO 6300
6442 IF SS$="M" THEN A(1,12)=A(1,12)+OE
6444 IF SS$="F" THEN A(1,13)=A(1,13)+OE
6446 RETURN
6500 LOCATE 1,13: PRINT " _______________________"
6502 LOCATE 2,13:PRINT "!NOW I'M GOING TO ASK !"
6504 LOCATE 3,13:PRINT "!YOU WHAT YOU ATE FOR !"
6506 LOCATE 4,13:PRINT "!BREAKFAST, LUNCH, DINNER !"
6508 LOCATE 5,13:PRINT "!AND SNACKS YESTERDAY. !"
6510 LOCATE 6,13:PRINT "! !"
6512 LOCATE 7,13:PRINT "!TYPE THE AMOUNT EATEN !"
6514 LOCATE 8,13:PRINT "!BESIDE EACH FOOD, EITHER !"
6516 LOCATE 9,13:PRINT "!AS A WHOLE NUMBER OR IN !"
6518 LOCATE 10,13:PRINT "!DECIMAL FORM. FOR EXAMPLE!"
6520 LOCATE 11,13:PRINT "!IF YOU ARE PRESENTED WITH!"
6524 LOCATE 12,13:PRINT "! !"
6526 LOCATE 13,13:PRINT "! MILK,2%....1 CUP, ? !"
6528 LOCATE 14,13:PRINT "! !"
6530 LOCATE 15,13:PRINT "!AND YOU DRANK ONLY ONE !"
6532 LOCATE 16,13:PRINT "!HALF CUP, THEN TYPE .5 !"
6534 LOCATE 17,13:PRINT "!IF YOU DID NOT EAT A !"
6536 LOCATE 18,13:PRINT "!FOOD LISTED, SIMPLY PRESS!"
6538 LOCATE 19,13:PRINT "! 'RETURN'. !"
6540 LOCATE 20,13:PRINT "!_________________________!"
6542 GOSUB 5550
6599 RETURN
6600 REM *** FOOD INTAKE MENU ***
6602 W=ZR: CLS
6604 PRINT "WHAT DID YOU EAT FOR "B$
6606 PRINT "FOOD SVG.SIZE #SVGS"
6608 PRINT "_______________________________________"
6610 IF T$<>D$ GOTO 6624
6612 SS=SS+OE
6614 W=W+OE
6616 READ R$(1,W),T(SS,1),T(SS,2),T(SS,3),T(SS,4),T(SS,5),T(SS,6)
6618 PRINT R$(1,W)
6620 READ T$
6622 GOTO 6610
6624 LOCATE 24,1: COLOR 0,7 : PRINT "TYPE '-1' TO RETURN TO PREVIOUS LINE";: COLOR 7,0
6699 RETURN
6700 REM *** USER ENTERS FOOD INTAKE ***
6702 S2=36:S4=-1:S5=16
6704 S3=1:V=1
6706 U=U+1
6708 S6$= STR$ (T(U,0)):S1=V+3: LOCATE S1,S2-2: PRINT "?": GOSUB 9: GOSUB 6624
6710 IF S=-1 AND V>1 THEN V=V-1:U=U-1: LOCATE S1,S2: PRINT S6$;" ";: GOTO 6708
6712 T(U,0)=-T(U,0): GOSUB 6750
6714 T(U,0)=S
6716 GOSUB 6750
6718 V=V+1
6720 IF V-1<W THEN 6706
6722 LOCATE 24,1: PRINT "ANY CHANGES (TYPE Y OR N) ? ";
6724 S6$="N":S1=24:S3=3: GOSUB 9
6726 IF S$="N" THEN 6732
6728 U=U-W: GOSUB 91: GOSUB 94
6730 GOTO 6704
6732 RETURN
6750 FOR Z=OE TO 6:T(0,Z)=T(0,Z)+T(U,0)*T(U,Z): NEXT
6752 RETURN
6800 REM *** RECOMMENDED WEIGHT ***
6801 LOCATE 1,1
6802 M=2
6804 K= VAL (W$)
6806 Z=ZR
6808 IF SS$="F" THEN 6816
6810 IF L=O(Z,2) THEN 6830
6812 Z=Z+OE
6814 GOTO 6810
6816 Z=OE
6818 IF O(Z,1)=2 THEN 6824
6820 Z=Z+OE
6822 GOTO 6818
6824 IF L=O(Z,2) THEN 6830
6826 Z=Z+OE
6828 GOTO 6824
6830 LOCATE 3,15: PRINT "A SUGGESTED WEIGHT RANGE"
6832 LOCATE 4,15: PRINT "FOR AN ADULT YOUR HEIGHT"
6834 LOCATE 5,15: PRINT "AND SEX IS "O(Z,3)" TO "O(Z,5)
6836 W2=O(Z,3)
6838 W3=O(Z,5)
6840 LOCATE 6,15: PRINT "POUNDS, WITH AN AVERAGE"
6842 LOCATE 7,15: PRINT "WEIGHT OF "O(Z,4)" POUNDS."
6844 W1=O(Z,4)
6846 P2=O(Z,4)
6848 L$="WITHIN"
6850 M=3
6852 IF K<O(Z,3) THEN M=2:L$="BELOW"
6856 IF K>O(Z,5) THEN M=OE:L$="ABOVE":A(1,6)=A(1,6)+OE
6860 LOCATE 1,1
6862 GOSUB 5702
6864 LOCATE 9,15: PRINT "YOU WEIGH "L$" THE"
6868 LOCATE 10,15: PRINT "SUGGESTED RANGE."
6870 RETURN
7000 REM *** CALORIE SUMMARY ***
7002 PRINT "YESTERDAY, YOU CONSUMED APPROXIMATELY:"
7004 W=ZR
7006 FOR V=OE TO G
7008 W=W+T(V,0)*T(V,1)
7010 NEXT
7012 LOCATE 5,5: PRINT "BREAKFAST: "W" CALORIES"
7014 P=W
7016 Q=W
7018 Z=G+H
7020 W=ZR
7022 FOR V=G+1 TO Z
7024 W=W+T(V,0)*T(V,1)
7026 NEXT
7028 LOCATE 7,5: PRINT " LUNCH: "W" CALORIES"
7030 P=P+W
7032 Z=Z+I
7034 W=ZR
7036 FOR V=G+H+1 TO Z
7038 W=W+T(V,0)*T(V,1)
7040 NEXT
7042 LOCATE 9,5: PRINT " DINNER: "W" CALORIES"
7044 P=P+W
7046 Z=Z+J
7048 W=ZR
7050 FOR V=G+H+I+1 TO Z
7052 W=W+T(V,0)*T(V,1)
7054 NEXT
7056 LOCATE 11,5: PRINT " SNACKS: "W" CALORIES"
7058 P=P+W
7060 LOCATE 12,14: PRINT "______"
7062 LOCATE 14,5: PRINT " TOTAL: "P" CALORIES"
7064 P0=P
7066 RETURN
7100 M=OE
7102 GOSUB 5700
7104 LOCATE 1,11:PRINT"DON'T BE A BREAKFAST SKIMPER!"
7106 LOCATE 2,11:PRINT"THE FOOD YOU EAT AT BREAKFAST"
7108 LOCATE 3,11:PRINT"HELPS YOU GET GOING IN THE"
7110 LOCATE 4,11:PRINT"MORNING."
7112 LOCATE 6,11:PRINT"RESEARCH SUGGESTS THAT YOUR"
7114 LOCATE 7,11:PRINT"BODY USES THE CALORIES FROM"
7116 LOCATE 8,11:PRINT"FOOD MORE EFFICIENTLY IF"
7118 LOCATE 9,11:PRINT"MEALS AND SNACKS ARE SPACED"
7120 LOCATE 10,11:PRINT"EVENLY THROUGHOUT THE DAY."
7122 LOCATE 12,11:PRINT"FOR NUTRITIOUS BREAKFAST"
7124 LOCATE 13,11:PRINT"IDEAS, CONTACT YOUR DISTRICT"
7126 LOCATE 14,11:PRINT"HOME ECONOMIST. "
7128 RETURN
7200 REM *** READ CALORIE RECOMMENDS ***
7202 W=ZR:V=OE
7204 X= VAL (Y$)
7206 IF SS$<>"M" THEN V=2
7208 IF T$<>"C" THEN 7286
7210 READ A,B,C,D,E,F,G
7212 READ T$
7214 IF A<>V THEN 7208
7216 IF B<X THEN 7208
7218 R(1,1)=A
7220 R(1,2)=B
7222 R(1,3)=C
7224 R(1,4)=D
7226 R(1,5)=E
7228 R(1,6)=F
7230 R(1,7)=G
7232 IF V<>2 THEN 7286
7234 IF P$="Y" THEN 7262
7236 IF N$<>"Y" THEN 7286
7238 IF T$<>"C" THEN 7286
7240 IF A=4 THEN 7250
7242 READ A,B,C,D,E,F,G
7244 IF T$<>"C" THEN 7286
7246 READ T$
7248 GOTO 7240
7250 R(1,3)=R(1,3)+C
7252 R(1,4)=R(1,4)+D
7254 R(1,5)=R(1,5)+E
7256 R(1,6)=R(1,6)+F
7258 R(1,7)=R(1,7)+G
7260 GOTO 7286
7262 IF T$<>"C" THEN 7286
7264 IF A=3 THEN 7274
7266 READ A,B,C,D,E,F,G
7268 IF T$<>"C" THEN 7286
7270 READ T$
7272 GOTO 7264
7274 R(1,3)=R(1,3)+C
7276 R(1,4)=R(1,4)+D
7278 R(1,5)=R(1,5)+E
7280 R(1,6)=R(1,6)+F
7282 R(1,7)=R(1,7)+G
7284 IF N$="Y" THEN 7238
7286 RETURN
7300 W= VAL (W$)
7302 X=W/2.2*R(1,3)
7304 IF P$="Y" THEN X=X+300
7306 IF N$="Y" THEN X=X+500
7308 LOCATE 16,1: PRINT "BASED ON YOUR PRESENT WEIGHT OF "W
7310 X= INT(X)
7312 P3=X
7314 PRINT "POUNDS, YOU REQUIRE "X" CALORIES"
7316 PRINT "DAILY,IF YOU ARE MODERATELY ACTIVE."
7318 RETURN
7400 CLS
7402 LOCATE 3,10: PRINT "HOWEVER, AS YOU WEIGH ABOVE"
7404 PRINT TAB(10);"THE SUGGESTED WEIGHT RANGE"
7406 PRINT TAB(10);"FOR YOUR HEIGHT, YOUR"
7408 PRINT TAB(10);"DAILY CALORIC REQUIREMENT"
7410 PRINT TAB(10);"BASED ON THE AVERAGE WEIGHT"
7412 X= INT(X)
7414 P1=X
7416 PRINT TAB(10);"OF "W1" POUNDS IS "P2
7418 PRINT TAB(10);"CALORIES."
7420 LOCATE 12,12: PRINT "TO LOSE 1 POUND A WEEK, YOU"
7422 PRINT TAB(12)"MUST REDUCE YOUR CALORIC"
7424 PRINT TAB(12)"INTAKE BY 500 CALORIES DAILY."
7426 LOCATE 17,12: PRINT "YOUR DISTRICT HOME ECONOMIST"
7428 PRINT TAB(12)"CAN HELP YOU PLAN A SENSIBLE"
7430 PRINT TAB(12)"LOW CALORIE EATING PLAN."
7432 REM BURST BUTTONS
7434 LOCATE 5,1
7436 PRINT " ###
7438 PRINT " #######
7440 PRINT " ! -- !
7442 PRINT " ! Q Q !
7444 PRINT " ! + !
7446 PRINT " !(-)!
7448 PRINT " \___/
7450 PRINT " >=<
7452 PRINT " / \
7454 PRINT "/ 0 \
7456 PRINT "! !
7458 PRINT "! 0 !
7460 PRINT "!! ! !
7462 PRINT "!! 0 ! !
7464 PRINT "<! ! >
7466 A1=200
7468 GOSUB 5500
7470 LOCATE 14,1: PRINT "/ ! \
7472 GOSUB 5500
7474 LOCATE 16,1: PRINT "! ! !
7476 GOSUB 5500
7478 LOCATE 18,1: PRINT "!! ! ! !
7480 GOSUB 5550
7482 M=3
7484 LOCATE 1,1
7488 RETURN
7500 CLS
7502 PRINT "YESTERDAY, YOU CONSUMED APPROXIMATELY:"
7504 W=R(1,5)
7506 T(0,2)= INT(T(0,2))
7508 X=T(0,2)
7510 W$=" "
7512 X$=""
7514 IF X=0 THEN 7518
7516 GOSUB 7600
7518 LOCATE 3,1: PRINT "PROTEIN (GRAMS)"
7520 P4=R(1,5)
7522 LOCATE 5,1: PRINT "RECOMMENDED:"R(1,5)
7524 LOCATE 5,19: COLOR 0,7 : PRINT W$: COLOR 7,0
7526 LOCATE 7,1: PRINT "YOUR INTAKE:"T(0,2)
7528 P5=T(0,2)
7530 LOCATE 7,19: COLOR 0,7 : PRINT X$: COLOR 7,0
7532 W=R(1,6)
7534 T(0,3)= INT(T(0,3))
7536 X=T(0,3)
7538 X$=""
7540 IF X=0 THEN 7544
7542 GOSUB 7600
7544 LOCATE 10,1: PRINT "IRON (MILLIGRAMS):"
7546 P6=R(1,6)
7548 LOCATE 12,1: PRINT "RECOMMENDED:"R(1,6)
7550 LOCATE 12,19: COLOR 0,7 : PRINT W$: COLOR 7,0
7552 LOCATE 14,1: PRINT "YOUR INTAKE:"T(0,3)
7554 P7=T(0,3)
7556 LOCATE 14,19: COLOR 0,7 : PRINT X$: COLOR 7,0
7558 W=R(1,7)
7560 T(0,4)= INT(T(0,4))
7562 X=T(0,4)
7564 X$=""
7566 IF X=0 THEN 7570
7568 GOSUB 7600
7570 LOCATE 17,1: PRINT "VITAMIN C (MILLIGRAMS):"
7572 P8=R(1,7)
7574 LOCATE 19,1: PRINT "RECOMMENDED:"R(1,7)
7576 LOCATE 19,19: COLOR 0,7 : PRINT W$: COLOR 7,0
7578 LOCATE 21,1: PRINT "YOUR INTAKE:"T(0,4)
7580 P9=T(0,4)
7582 LOCATE 21,19: COLOR 0,7 : PRINT X$: COLOR 7,0
7584 RETURN
7600 Y=X/W*10
7602 Z=ZR
7604 Z$=" "
7606 X$=X$+Z$
7608 Z=Z+OE
7610 IF Z>20 OR Z=Y THEN 7614
7612 IF Z<Y THEN 7606
7614 RETURN
7650 Z=ZR
7654 Z$="##"
7656 X$=X$+Z$
7658 Z=Z+OE
7660 IF Z>20 THEN 7664
7662 IF Z<Y THEN 7656
7664 RETURN
7700 PRINT : PRINT : PRINT "TO IMPROVE YOUR PROTEIN INTAKE, EAT"
7702 PRINT "MORE ALBERTA BEEF, PORK, VEAL, LAMB,"
7704 PRINT "POULTRY, CHEESE, MILK AND EGGS."
7706 A(1,7)=A(1,7)+OE
7708 Z=Z+OE
7710 RETURN
7750 PRINT : PRINT : PRINT "TO IMPROVE YOUR IRON INTAKE, EAT MORE
7752 PRINT "LIVER, RED MEATS, DRIED PEAS AND BEANS,
7754 PRINT "WHOLE GRAIN OR ENRICHED BREADS AND
7756 PRINT "CEREALS, LEAFY GREEN VEGTABLES, PRUNES"
7758 PRINT "AND RAISINS"
7760 A(1,8)=A(1,8)+OE
7762 Z=Z+OE
7764 RETURN
7800 PRINT : PRINT : PRINT "TO IMPROVE YOUR VITAMIN C INTAKE, EAT
7802 PRINT "MORE CITRUS FRUITS AND THEIR JUICES,
7804 PRINT "VITAMIZED JUICES, TOMATOES,
7806 PRINT "CANTALOUPE,STRAWBERRIES, BROCCOLI,
7808 PRINT "CABBAGE, TURNIPS AND POTATOES."
7810 A(1,9)=A(1,9)+OE
7812 Z=Z+OE
7814 RETURN
7900 GOSUB 8100
7902 LOCATE 6,15:PRINT"NOW, LET'S SEE HOW WELL"
7904 LOCATE 7,15:PRINT"YOUR MEALS AND SNACKS"
7906 LOCATE 8,15:PRINT"RATED, "A$
7908 LOCATE 10,15:PRINT"AFTER YOU HAVE READ EACH"
7910 LOCATE 11,15:PRINT"SCREEN, PRESS 'RETURN'"
7912 LOCATE 12,15:PRINT"TO PROCEED TO THE NEXT"
7914 LOCATE 13,15:PRINT"SCREEN."
7915 GOSUB 5550
7916 RETURN
8000 LOCATE 3,1: PRINT "YESTERDAY YOU CONSUMED "T(0,5)
8002 A(1,10)=A(1,10)+OE
8004 PRINT "MILLIGRAMS OF CAFFEINE.
8006 PRINT "CAFFEINE IS A STIMULANT THAT ACTS ON"
8008 PRINT "THE CENTRAL NERVOUS SYSTEM CAUSING"
8010 PRINT "INCREASED MENTAL ACTIVITY AND"
8012 PRINT "WAKEFULNESS. IT CAN BE HABIT FORMING"
8014 PRINT "AND EXCESSIVE INTAKE CAN CAUSE "
8016 PRINT "HEADACHE, VOMITING, RAPID HEART BEAT,"
8018 PRINT "DIZZINESS, INSOMNIA AND MUSCLE TREMOR."
8020 LOCATE 14,1
8022 Z=Z+OE
8024 RETURN
8050 PRINT "YOU HAVE CONSUMED "T(0,6)" CALORIES"
8052 A(1,11)=A(1,11)+OE
8054 PRINT "IN ALCOHOLIC BEVERAGES."
8056 PRINT "THESE ARE LOW IN NUTRIENTS BUT"
8058 PRINT "ARE HIGH IN CALORIES.IF YOU SNACK"
8060 PRINT "WITH YOUR DRINKS, YOU HAVE A HIGH"
8062 PRINT "CALORIE COCKTAIL HOUR!"
8064 Z=Z+OE
8066 RETURN
8100 REM *** MAN SIDEWAYS ***
8102 CLS : LOCATE 5,1
8104 PRINT " ###
8106 PRINT " #######
8108 PRINT " ! -!
8110 PRINT " !< 0! []
8112 PRINT " ! __> !
8114 PRINT " ! \ !
8116 PRINT " \_/ >
8118 PRINT " !=* //
8120 PRINT " / //
8122 PRINT " ! //
8124 PRINT " ! /!
8126 PRINT " ! 0!
8128 PRINT " ! !
8130 PRINT " ! 0!
8132 PRINT " ! !
8134 RETURN
8200 REM *** PRINTOUT OF ANALYSIS ***
8202 GOSUB 5550: GOSUB 8100
8203 IF A(1,0)=ZR THEN 8480
8204 Z=ZR
8206 LOCATE 5,15: PRINT "DO YOU WANT A PRINTED
8208 LOCATE 6,15: PRINT "COPY OF YOUR DIET
8210 LOCATE 7,15: PRINT "ANALYSIS
8212 LOCATE 8,17: PRINT "(TYPE Y OR N) ?
8214 S6$="Y":S1=8:S2=33:S3=3: GOSUB 9
8216 A(1,0)=1: IF S$<>"Y" THEN A(1,0)=-1
8220 W$="####################"
8222 IF A(1,0)<OE THEN 8273
8226 LPRINT "DIET DETECTIVE JR ANALYSIS FOR "A$
8228 LPRINT : LPRINT
8230 LPRINT " ###
8232 LPRINT " ####### IN ORDER TO MAINTAIN YOUR PRESENT WEIGHT, YOU"
8234 LPRINT " ! -! REQUIRE "P3" CALORIES DAILY."
8236 LPRINT " !< 0! []
8238 IF W1=ZR THEN 8252
8240 LPRINT " ! \ ! THE SUGGESTED WEIGHT RANGE FOR A PERSON YOUR"
8242 LPRINT " ! \! ! HEIGHT IS "W2" POUNDS TO "W3" POUNDS WITH"
8244 LPRINT " !___! > AN AVERAGE SUGGESTED WEIGHT OF "W1" POUNDS."
8246 LPRINT " ==@ // BASED ON THE AVERAGE SUGGESTED WEIGHT OF "W1
8248 LPRINT " / // POUNDS YOU REQUIRE "P2" CALORIES DAILY."
8250 GOTO 8262
8252 LPRINT " ! \ !"
8254 LPRINT " ! \! !"
8256 LPRINT " !___! >"
8258 LPRINT " ==@ //"
8260 LPRINT " ///"
8262 LPRINT " ! //"
8264 LPRINT " ! O! YOU CONSUMED APPROXIMATELY "P0" CALORIES YESTERDAY."
8266 LPRINT " ! !"
8268 LPRINT " ! O!"
8270 LPRINT " ! !"
8272 REM
8273 A1=700: GOSUB 5500
8274 RETURN
8300 IF A(1,0)<OE THEN 8362
8302 W$="####################"
8304 X$=""
8309 LPRINT
8310 LPRINT "YOUR NUTRIENT INTAKE COMPARED TO THE CANADIAN DIETARY STANDARD:"
8312 LPRINT
8314 LPRINT " PROTEIN (GRAMS)"
8316 LPRINT " RECOMMENDED: "W$" "P4" GRAMS"
8318 Y=P5/P4*10
8320 IF Y=ZR THEN 8324
8322 GOSUB 7650
8324 LPRINT " YOUR INTAKE: "X$" "P5" GRAMS"
8328 LPRINT
8330 LPRINT " IRON (MILLIGRAMS)"
8332 X$=""
8334 LPRINT " RECOMMENDED: "W$" "P6" MILLIGRAMS"
8336 Y=P7/P6*10
8338 IF Y=ZR THEN 8342
8340 GOSUB 7650
8342 LPRINT " YOUR INTAKE: "X$" "P7" MILLIGRAMS"
8344 LPRINT
8346 LPRINT " VITAMIN C (MILLIGRAMS)"
8348 X$=""
8350 LPRINT " RECOMMENDED: "W$" "P8" MILLIGRAMS"
8352 Y=P9/P8*10
8354 IF Y=ZR THEN 8358
8356 GOSUB 7650
8358 LPRINT " YOUR INTAKE: "X$" "P9" MILLIGRAMS"
8360 LPRINT
8362 RETURN
8400 IF A(1,0)<OE THEN 8480
8402 Z=ZR
8404 IF P5>P4 THEN 8414
8406 LPRINT "TO IMPROVE YOUR PROTEIN INTAKE, EAT MORE ALBERTA BEEF, PORK, VEAL"
8408 LPRINT "LAMB, POULTRY, CHEESE, MILK AND EGGS."
8410 LPRINT
8412 Z=Z+3
8414 IF P7>P6 THEN 8426
8416 LPRINT "TO IMPROVE YOUR IRON INTAKE, EAT MORE LIVER, RED MEATS, DRIED PEAS"
8418 LPRINT "AND BEANS, WHOLE GRAIN OR ENRICHED BREADS AND CEREALS, LEAFY"
8420 LPRINT "GREEN VEGETABLES, PRUNES, AND RAISINS."
8422 LPRINT
8424 Z=Z+4
8426 IF P9>P8 THEN 8438
8428 LPRINT "TO IMPROVE YOUR VITAMIN C INTAKE, EAT MORE CITRUS FRUITS AND"
8430 LPRINT "THEIR JUICES, TOATOES, CANTALOUPE, STRAWBERRIES, BROCCOLI,"
8432 LPRINT "CABBAGE, TURNIPS AND POTATOES."
8434 LPRINT
8436 Z=Z+4
8438 IF T(0,5)<201 THEN 8456
8440 LPRINT "YESTERDAY YOU CONSUMED "T(0,5)" MILLIGRAMS OF CAFFEINE."
8442 LPRINT "CAFFEINE IS A STIMULANT THAT ACTS ON THE CENTRAL NERVOUS SYSTEM"
8444 LPRINT "CAUSING INCREASED MENTAL ACTIVITY AND WAKEFULNESS."
8446 LPRINT "IT CAN BE HABIT FORMING AND EXCESSIVE INTAKE CAN CAUSE"
8448 LPRINT "INSOMNIA, HEADACHE, VOMITING, RAPID HEART BEAT, "
8450 LPRINT "DIZZINESS AND MUSCLE TREMOR."
8452 LPRINT
8454 Z=Z+7
8456 IF T(0,6)=ZR THEN 8468
8458 LPRINT "YOU HAVE CONSUMED "T(0,6)" CALORIES IN ALCOHOLIC BEVERAGES"
8460 LPRINT "THESE ARE LOW IN NUTRIENTS, BUT ARE HIGH IN CALORIES. IF YOU"
8462 LPRINT "SNACK WITH YOUR DRINKS, YOU HAVE A HIGH CALORIE COCKTAIL HOUR!"
8464 LPRINT
8466 Z=Z+4
8468 LPRINT "FOR FURTHER INFORMATION CONSULT YOUR DISTRICT HOME ECONOMIST"
8470 LPRINT "WITH ALBERTA AGRICULTURE."
8472 X=31-Z
8474 FOR Z=OE TO X
8476 LPRINT
8478 NEXT
8480 RETURN
8500 CLS:REM *** END ***
8502 LOCATE 3,3: PRINT "FOR A MORE DETAILED DIET ANALYSIS"
8504 LOCATE 5,2: PRINT "CONSULT YOUR DISTRICT HOME ECONOMIST"
8506 LOCATE 7,5: PRINT "FOR ";: COLOR 0,7 : PRINT "DIET DETECTIVE SENIOR": COLOR 7,0
8508 LOCATE 10,4: PRINT "YOUR DISTRICT HOME ECONOMIST CAN
8510 PRINT TAB(4);"PROVIDE UP-TO-DATE INFORMATION"
8512 PRINT TAB(4);"ON A VARIETY OF SUBJECTS: YOUR"
8514 PRINT TAB(4);"HOME AND FAMILY, YOUR MONEY AND"
8516 PRINT TAB(4);"PERSONAL RESOURCES, YOUR HEALTH"
8518 PRINT TAB(4);"AND ENERGY, YOUR COMMUNITY AND"
8520 PRINT TAB(4);"NEIGHBOURS."
8522 GOSUB 8400
8524 GOSUB 5550
8526 CLS
8528 LOCATE 8,14: COLOR 0,7 : PRINT "THE END": COLOR 7,0
8530 LOCATE 14,1: PRINT TAB(4);"THANK YOU FOR PARTICIPATING IN"
8532 LOCATE 16,8:PRINT "DIET DETECTIVE JUNIOR"
8534 RETURN
8600 I= FRE (0): RESTORE
8602 N$=" ":P$=" ":L$=" ":SS$=" ":Y$=" ":W$=" "
8608 FOR I=ZR TO 6:T(0,I)=ZR: NEXT
8610 FOR I=ZR TO 77:T(I,0)=ZR: NEXT
8622 B=ZR:C=ZR:D=ZR:E=ZR:F=ZR:G=ZR:H=ZR
8623 I=ZR:J=ZR:K=ZR:L=ZR:M=ZR:N=ZR:O=ZR
8624 P=ZR:Q=ZR:R=ZR:SS=ZR:T=ZR:U=ZR:V=ZR
8626 W=ZR:X=ZR:Y=ZR:Z=ZR:P0=ZR:P1=ZR
8628 P2=ZR:P3=ZR:W1=ZR:W2=ZR:W3=ZR
8632 GOTO 5040
8700 REM *** PRINT STATISTICS ***
8702 CLS : LOCATE 3,1: PRINT "DO YOU WANT STATISTICS? (Y OR N)"
8704 S6$="Y":S1=3:S2=33:S3=3: GOSUB 9
8706 IF S$="N" THEN 8772
8712 A(1,1)=A(1,12)+A(1,13)
8714 IF A(1,0)<OE THEN 8744
8715 REM
8716 LPRINT:LPRINT:LPRINT:LPRINT"NUMBER OF CLIENTS="A(1,1)
8718 LPRINT"NUMBER OF MALES="A(1,12)
8720 LPRINT"NUMBER OF FEMALES="A(1,13)
8722 LPRINT"CLIENTS AGED 0-12="A(1,2)
8724 LPRINT"CLIENTS AGED 13-18="A(1,3)
8726 LPRINT"CLIENTS AGED 19-64="A(1,4)
8728 LPRINT"CLIENTS AGED 65+="A(1,5)
8730 LPRINT"CLIENTS ABOVE SUGGESTED WEIGHT="A(1,6)
8732 LPRINT"CLIENTS DEFICIENT IN PROTEIN="A(1,7)
8734 LPRINT"CLIENTS DEFICIENT IN IRON="A(1,8)
8736 LPRINT"CLIENTS DEFICIENT IN VITAMIN C="A(1,9)
8738 LPRINT"CLIENTS CONSUMING >200MG CAFFEINE="A(1,10)
8740 LPRINT"CLIENTS CONSUMING ALCOHOL="A(1,11)
8742 LPRINT"CLIENTS CONSUMING <200 CALORIES FOR BREAKFAST="A(1,14)
8744 LOCATE 5,1: PRINT "NUMBER OF CLIENTS= "A(1,1)
8746 PRINT "NUMBER OF MALES="A(1,12)
8748 PRINT "NUMBER OF FEMALES="A(1,13)
8750 PRINT "CLIENTS AGED 0-12="A(1,2)
8752 PRINT "CLIENTS AGED 13-18="A(1,3)
8754 PRINT "CLIENTS AGED 19-64="A(1,4)
8756 PRINT "CLIENTS AGED 65+="A(1,5)
8758 PRINT "CLIENTS ABOVE SUGGESTED WEIGHT="A(1,6)
8760 PRINT "CLIENTS DEFICIENT IN PROTEIN="A(1,7)
8762 PRINT "CLIENTS DEFICIENT IN IRON="A(1,8)
8764 PRINT "CLIENTS DEFICIENT IN VITAMIN C="A(1,9)
8766 PRINT "CLIENTS CONSUMING >200MG CAFFEINE="A(1,10)
8768 PRINT "CLIENTS CONSUMING ALCOHOL="A(1,11)
8770 PRINT "CLIENTS WITH <200 CALS FOR BKFST= "A(1,14)
8772 RETURN
9400 DATA W,1,63,118,129,141
9402 DATA W,1,64,122,133,145
9404 DATA W,1,65,126,137,149
9406 DATA W,1,66,130,142,155
9408 DATA W,1,67,134,147,161
9410 DATA W,1,68,139,151,166
9412 DATA W,1,69,143,155,170
9414 DATA W,1,70,147,159,174
9416 DATA W,1,71,150,163,178
9418 DATA W,1,72,154,167,183
9420 DATA W,1,73,158,171,188
9422 DATA W,1,74,162,175,192
9424 DATA W,1,75,165,178,195
9426 DATA W,2,60,100,109,118
9428 DATA W,2,61,104,112,121
9430 DATA W,2,62,107,115,125
9432 DATA W,2,63,110,118,128
9434 DATA W,2,64,113,122,132
9436 DATA W,2,65,116,125,135
9438 DATA W,2,66,120,129,139
9440 DATA W,2,67,123,132,142
9442 DATA W,2,68,126,136,146
9444 DATA W,2,69,130,140,151
9446 DATA W,2,70,133,144,156
9448 DATA W,2,71,137,148,161
9450 DATA W,2,72,141,152,166
9500 DATA B,"FRUIT JUICE,UNSWEETENED, 1/2 CUP",50,1,.4,55,0,0
9502 DATA B,"FRUIT:1/2 GRAPEFRUIT OR 1 ORANGE",50,1,.4,55,0,0
9504 DATA B,"FRUIT:1 BANANA .................",80,0,.5,6,,
9506 DATA B,"CEREAL,WHOLE GRAIN ..... 3/4 CUP",100,3,1,0,0,
9508 DATA B,"CEREAL,ENRICHED ........ 3/4 CUP",80,2,4,0,0,0
9510 DATA B,"BREAD, WHOLE GRAIN ..... 1 SLICE",73,3,.7,0,0,
9512 DATA B,"BREAD, ENRICHED WHITE... 1 SLICE",82,2,.5,0,0,
9514 DATA B,"MUFFIN.........................1",120,3,.6,0,0,
9516 DATA B,"BUTTER OR MARGARINE . 1 TEASPOON",34,0,0,0,0,
9518 DATA B,"PEANUT BUTTER .......... 1 TBSP.",95,4,.3,0,0,
9520 DATA B,"JAM OR JELLY ........... 1 TBSP.",52,0,.2,.5,0,
9522 DATA B,"EGG ................... 1 LARGE",79,6,1.1,0,0,
9524 DATA B,"BACON, CRISP .......... 2 SLICES",92,5,.4,0,0,
9526 DATA B,"SAUSAGE ...................1 ",95,4,.5,0,0,
9528 DATA B,"CHEESE...................1 OUNCE",105,6,.2,0,0,
9530 DATA B,"MILK, 2% ..................1 CUP",129,9,.1,2,0,
9532 DATA B,"COFFEE, BLACK .............1 CUP",5,0,.2,0,100,
9534 DATA B,"CREAM .................. 1 TBSP.",29,0,0,0,0,
9536 DATA B,"SUGAR ............... 1 TEASPOON",14,0,0,0,0,0
9600 DATA L,"MEAT: BEEF OR PORK ..... 1 OUNCE",82,7.3,.9,0,0,
9602 DATA L,"LUNCHEON MEAT .......... 1 SLICE",93,4.5,.7,0,0,
9604 DATA L,"FISH, EGG, OR POULTRY . 1 OUNCE",80,7,.7,0,0,
9606 DATA L,"CHEESE ................. 1 OUNCE",105,6,.2,0,0,
9608 DATA L,"BREAD, WHOLE GRAIN ..... 1 SLICE",73,3,.7,0,0,
9610 DATA L,"BREAD, ENRICHED WHITE... 1 SLICE",82,2,.5,0,0,
9612 DATA L,"BUTTER OR MARGARINE . 1 TEASPOON",34,0,0,0,0,
9614 DATA L,"LETTUCE OR SALAD ....... 1/2 CUP",20,1,.5,12,0,
9616 DATA L,"SALAD DRESSING ......... 1 TBSP.",65,0,0,0,0,
9618 DATA L,"SOUP,NOODLE OR RICE ...... 1 CUP",65,4,.7,0,0,
9620 DATA L,"SOUP, VEGETABLE .......... 1 CUP",90,3,.9,3,0,
9622 DATA L,"CRACKERS ..................... 4",50,1,.1,0,0,
9624 DATA L,"FRUIT: CITRUS ......... 1 MEDIUM",65,1,.5,66,0,
9626 DATA L,"FRUIT: OTHER (APPLE, BANANA) ONE",80,0,.5,6,0,
9628 DATA L,"MILK, 2% ................. 1 CUP",129,9,.1,2,0,
9630 DATA L,"COOKIE ....................... 1",120,1,.2,0,0,
9632 DATA L,"PASTRY OR CAKE ......... 1 PIECE",145,2,.4,0,0,
9634 DATA L,"TEA,BLACK..................1 CUP",0,0,.2,0,50,
9636 DATA L,"SUGAR.................1 TEASPOON",14,0,0,0,0,
9700 DATA D,"MEAT:BEEF,PORK,VEAL,LAMB 3 OZ.",245,22,2.9,0,0,
9702 DATA D,"FISH,EGGS,POULTRY ........ 3 OZ.",240,21,2.1,0,0,
9704 DATA D,"POTATO, BAKED OR BOILED 1 MEDIUM",85,3,.7,16,0,
9706 DATA D,"PASTA OR RICE, COOKED .. 1/2 CUP",75,2,.7,0,0,
9708 DATA D,"VEGETABLES,COOKED ...... 1/2 CUP",43,2,.8,24,0,
9710 DATA D,"SALAD .................. 1/2 CUP",20,1,.5,12,0,
9712 DATA D,"SALAD DRESSING ......... 1 TBSP.",65,0,,,,
9714 DATA D,"FRUIT, CANNED ......... 1/ 2 CUP",85,0,1.1,5,0,
9716 DATA D,"PUDDING OR ICE CREAM .. 1/ 2 CUP",145,4,.2,.5,0,
9718 DATA D,"PASTRY OR CAKE ......... 1 PIECE",145,2,.4,0,0,
9720 DATA D,"BREAD....................1 SLICE",82,2,.5,0,0,
9722 DATA D,"ROLL...........................1",125,4,.7,0,0,
9724 DATA D,"BUTTER OR MARGARINE 1 TEASPOON",34,,,,,
9726 DATA D,"GRAVY .................. 1 TBSP.",41,0,.1,0,0,
9728 DATA D,"MILK, 2% ................. 1 CUP",129,9,.1,2,0,
9730 DATA D,"TEA, BLACK ............... 1 CUP",0,0,.2,0,50,
9732 DATA D,"COFFEE, BLACK ............ 1 CUP",5,0,.2,0,100,
9734 DATA D,"CREAM .................. 1 TBSP.",29,,,,,
9736 DATA D,"SUGAR ............... 1 TEASPOON",14,,,,,
9800 DATA S,"CHOCOLATE BAR ............ 1 BAR",134,3,0.7,0,25,
9802 DATA S,"DOUGHNUT ..................... 1",125,1,0.4,0,0,
9804 DATA S,"COOKIE ....................... 1",120,1,.2,0,0,
9806 DATA S,"BRAN MUFFIN .................. 1",86,3,1.3,0,0,
9808 DATA S,"PIZZA, 1/8 OF A 12 INCH PIZZA",177,9,.8,4,0,
9810 DATA S,"POTATO CHIPS ......... 10 PIECES",115,1,.4,3,0,
9812 DATA S,"FRENCH FRIES ......... 10 PIECES",155,2,.7,12,0,
9814 DATA S,"FRUIT FLAVORED YOGHURT 1 CARTON",205,9.6,,,,
9816 DATA S,"FRUIT:(APPLE OR BANANA)......ONE",80,0,.5,6,0,
9818 DATA S,"ICE CREAM................1/2 CUP",141,3,.1,0,0,
9820 DATA S,"NUTS OR SEEDS .......... 1/2 CUP",411,18,1.5,0,0,
9822 DATA S,"MILK,2%....................1 CUP",129,9,.1,2,0,
9824 DATA S,"SOFT DRINK (COLA TYPE) 12 OUNCES",144,,,,34,
9826 DATA S,"TEA, BLACK ............... 1 CUP",0,0,.2,0,50,
9828 DATA S,"COFFEE, BLACK ............ 1 CUP",5,0,.2,0,100,
9830 DATA S,"CREAM .................. 1 TBSP.",29,,,,,
9832 DATA S,"SUGAR ............... 1 TEASPOON",14,,,,,
9834 DATA S,"BEER......................12 OZ.",150,1,0,0,0,150
9836 DATA S,"WINE(4-6OZ.) OR 1 1/2 OZ ALCOHOL ",105,0,0,0,0,105
9900 DATA C,1,3,107,13,22,8,20
9902 DATA C,1,6,95,19,27,9,20
9904 DATA C,1,9,81,27,33,10,30
9906 DATA C,1,12,70,36,41,11,30
9908 DATA C,1,15,55,51,52,13,30
9910 DATA C,1,18,50,64,54,14,30
9912 DATA C,1,35,43,70,56,10,30
9914 DATA C,1,50,39,70,56,10,30
9916 DATA C,1,65,33,70,56,10,30
9918 DATA C,1,999,29,70,56,10,30
9920 DATA C,2,3,107,13,22,8,20
9922 DATA C,2,6,95,19,27,9,20
9924 DATA C,2,9,74,27,33,10,30
9926 DATA C,2,12,60,38,40,11,30
9928 DATA C,2,15,45,49,43,14,30
9930 DATA C,2,18,40,54,43,14,30
9932 DATA C,2,35,37.5,56,41,14,30
9934 DATA C,2,50,34,56,41,14,30
9936 DATA C,2,65,32,56,41,9,30
9938 DATA C,2,999,27,56,41,9,30
9940 DATA C,3,999,0,0,20,1,20
9942 DATA C,4,999,0,0,24,1,30
9999 DATA E
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,8
60430 PRINT"HOME ECONOMICS BRANCH"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,28:PRINT"HOME ECONOMICS BRANCH"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
1 REM ***** DOLLAR DETECTIVE *****
2 REM COMPARES PERSONAL SPENDING HABITS TO
3 REM PROVINCIAL AVERAGE
4 REM PROGRAMED IN BASIC FOR RADIO SHACK II
5 REM PROGRAMED BY GARY FISHER; REVISED BY GARY FISHER
6 REM LAST REVISION JUNE 1984
7 REM
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" NORMAL EXIT";:LOCATE 11,6:COLOR 0,7:PRINT" PLEASE WAIT ... LOADING MENU ":COLOR 7,0:RUN "HELLO"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM***MAINLINE ROUTINE***
5005 GOSUB 60000:GOSUB 62000:GOSUB 5540
5010 CLS:PRINT"DO YOU WANT TO PRINT RESULTS?<Y OR N>"
5015 S6$="Y":S1=1:S2=39:S3=3:S9=1:GOSUB 9
5020 IF S$="Y" THEN A7=1:GOTO 5023
5022 A7=0
5023 S1=6:S2=1:GOSUB 24:PRINT" ";:COLOR 0,7:PRINT"DON'T PANIC IF YOU MAKE A MISTAKE":COLOR 7,0
5024 S1=9:GOSUB 24: PRINT"YOU WILL BE GIVEN THE OPPORTUNITY TO"
5025 PRINT"CHANGE ANY OF YOUR ANSWERS AT THE END"
5026 PRINT"OF EACH SCREEN."
5027 GOSUB 300
5030 DIM D(17),CH(19,1),C(19,1),C1(19),AG$(19),C2(19),A1$(19)
5090 GOSUB 5880
5100 GOSUB 15000
5105 GOSUB 6600
5108 GOSUB 15000
5110 GOSUB 6870
5120 GOSUB 15000
5130 IF A7=1 THEN LPRINT CHR$(12)
5140 GOSUB 8020
5150 GOSUB 15000
5160 GOSUB 8680
5170 GOSUB 15000
5180 IF A7=1 THEN LPRINT CHR$(12)
5190 GOSUB 9560
5200 GOSUB 15000
5210 GOSUB 10130
5220 GOSUB 15000
5230 IF A7=1 THEN LPRINT CHR$(12)
5240 GOSUB 10540
5250 GOSUB 15000
5260 GOSUB 10780
5270 GOSUB 15000
5280 IF A7=1 THEN LPRINT CHR$(12)
5290 GOSUB 11020
5300 GOSUB 15000
5310 GOSUB 11310
5320 GOSUB 15000
5330 IF A7=1 THEN LPRINT CHR$(12)
5340 GOSUB 11570
5350 GOSUB 15000
5360 GOSUB 12070
5370 GOSUB 15000
5380 IF A7=1 THEN LPRINT CHR$(12)
5390 GOSUB 12310
5400 GOSUB 15000
5410 GOSUB 12740
5420 GOSUB 15000
5430 IF A7=1 THEN LPRINT CHR$(12)
5440 GOSUB 13020
5450 GOSUB 15000
5460 CLS:S1=4:S2=1:GOSUB 24:PRINT"WOULD YOU LIKE TO RUN DOLLAR DETECTIVE"
5470 PRINT"AGAIN? <Y/N>"
5480 S1=5:S2=15:S3=3:S6$="N":GOSUB 9
5490 IF S$="Y" GOTO 5500
5495 IF S$="N" THEN CLS:PRINT :PRINT" GOODBYE AND GOODBUYS"
5497 LOCATE 11,6:COLOR 0,7:PRINT" PLEASE WAIT ... LOADING MENU ":COLOR 7,0:RUN "HELLO"
5500 IF A7=1 THEN LPRINT CHR$(12)
5520 GOTO 5000
5540 REM***INTRO SCREEN***
5560 CLS
5565 WIDTH 40
5570 PRINT"+++++++++++++++++++++++++++++++++++++++"
5580 PRINT"$$$$ $$$ $ $ $ $$$$"
5590 PRINT"$ $ $ $ $ $ $ $ $ $"
5600 PRINT"$ $ $ $ $ $ $ $ $$$$"
5610 PRINT"$ $ $ $ $ $ $$$$$ $ $"
5620 PRINT"$ $ $ $ $ $ $ $ $ $"
5630 PRINT"$$$$ $$$ $$$$$ $$$$$ $ $ $ $"
5635 PRINT
5640 PRINT TAB(15);"DETECTIVE JUNE/84"
5650 PRINT"+++++++++++++++++++++++++++++++++++++++"
5660 PRINT"WHEN THAT $60 IN YOUR WALLET YESTERDAY"
5670 PRINT"TURNS OUT TO BE $5.00 TODAY, ITS TIME"
5680 PRINT" TO FIND OUT WHERE THE MONEY GOES."
5690 PRINT" ANSWER THE QUESTIONS AND LET"
5700 PRINT" DOLLAR DETECTIVE"
5710 PRINT" GIVE YOU SOME CLUES ABOUT GAINING"
5720 PRINT" CONTROL OF YOUR FAMILY SPENDING!"
5730 GOSUB 300
5740 CLS
5750 PRINT" INSTRUCTIONS"
5760 PRINT" DOLLAR DETECTIVE WILL ASK YOU"
5770 PRINT" QUESTIONS ABOUT YOUR FAMILY AND YOUR"
5780 PRINT" SPENDING HABITS."
5790 PRINT" THE QUESTIONS WILL BE EITHER YES/NO"
5800 PRINT" OR THOSE THAT REQUIRE SPECIFIC ANSWERS."
5810 PRINT" THE PROGRAM WILL TELL YOU WHAT KIND OF"
5820 PRINT" ANSWER IS REQUIRED."
5830 PRINT:PRINT"THE MOST IMPORTANT THING TO REMEMBER IS:"
5840 PRINT" PRESS ";:COLOR 0,7:PRINT"ENTER";:COLOR 7,0:PRINT" AFTER EVERY ANSWER!"
5850 PRINT" OK LET'S GO"
5860 GOSUB 300
5870 RETURN
5880 REM*** DATA ENTRY PART I***
5900 CLS:COLOR 0,7:PRINT" DOLLAR DETECTIVE ":COLOR 7,0
5910 PRINT" ----------------"
5920 PRINT" NEEDS TO KNOW ABOUT YOUR FAMILY......"
5930 PRINT "_______________________________________"
5940 COLOR 0,7:PRINT" FAMILY MEMBERS ":COLOR 7,0
5950 PRINT "ANSWER Y OR N TO QUESTIONS 1 & 2. "
5960 PRINT:PRINT "1. HUSBAND...._"
5970 PRINT "2. WIFE......._"
5971 PRINT:PRINT "ENTER THE AGES (B=BABY, 1-19) SEPARATED"
5972 PRINT "BY -'S, OF ANY CHILDREN AT HOME. "
5973 PRINT:PRINT "3. BOYS--------------------------------"
5974 PRINT "4. GIRLS-------------------------------"
5980 PRINT:PRINT"ENTER THE NUMBER OF OTHER ADULTS. "
6000 PRINT:PRINT "5. MALES......_"
6010 PRINT "6. FEMALES...._"
6016 PRINT "_______________________________________"
6100 HU$="Y":WI$="Y":LH$="N":LO$=" "
6102 S6$=HU$:S1=8:S2=15:S3=3:S9=1:GOSUB 9:HU$=S$
6105 S1=9:S6$=WI$:GOSUB 9:WI$=S$
6106 IF HU$<>"Y" AND WI$<>"Y" THEN GOTO 6108
6107 GOTO 6116
6108 S1$="":S2$="HUSBAND OR WIFE MUST BE PRESENT":GOSUB 78:GOTO 6100
6115 S6$=MID$(STR$(OF),2):S1=12:GOSUB 9:OF=S
6116 REM ZERO OUT THE KIDS
6117 FOR I=0 TO 1:FOR I1=0 TO 19:CH(I1,I)=0:NEXT I1:NEXT I
6118 S1=14:S2=11:S3=2:S9=20:S6$=A8$:GOSUB 9
6130 A$=S$
6134 I4=0
6136 GOSUB 6330
6138 IF A$="ERROR" GOTO 6118
6139 IF A$="" GOTO 6150
6140 A8$=A$
6150 GOTO 6515
6325 REM CHECKS FOR NUMBER AND AGE OF KIDS
6330 I2=0:I1=1
6335 IF A$="" GOTO 6510
6340 FOR I=LEN(A$) TO 1 STEP -1
6350 I3=ASC(MID$(A$,I,1))
6360 IF (I3>47 AND I3<58) OR I3=46 OR I3=66 GOTO 6380
6365 IF I3<>32 GOTO 6374
6370 NEXT I:IF I=0 THEN ON (I4+1) GOTO 6290,6515
6374 S1$="":S2$="ENTER AGES B,1 TO 19 OR ENTER '0'":GOSUB 78:A$="ERROR"
6375 FOR I1=0 TO 19:CH(I1,I4)=0:NEXT I1
6376 GOSUB 24:PRINT"--------------------":RETURN
6380 A$=LEFT$(A$,I):IF A$="0" GOTO 6510
6382 FOR I=1 TO LEN(A$):I3=ASC(MID$(A$,I,1))
6383 IF (I3>47 AND I3<58) OR I3=46 OR I3=66 GOTO 6388
6384 IF I3<>32 GOTO 6374
6385 NEXT I
6386 IF A$="" GOTO 6510
6387 GOTO 6374
6388 A$=MID$(A$,I,99):IF A$="0" GOTO 6510
6390 FOR I=1 TO LEN(A$)
6400 IF ASC(MID$(A$,I,1))>57 AND ASC(MID$(A$,I,1))<>66 GOTO 6374
6402 IF ASC(MID$(A$,I,1))<45 OR ASC(MID$(A$,I,1))=47 GOTO 6374
6410 IF MID$(A$,I,1)="-" GOTO 6430
6420 I2=I2+1:GOTO 6470
6430 I3=ABS(INT(VAL(MID$(A$,I1,I2))))
6440 IF I3<0 OR I3>19 GOTO 6374
6450 CH(I3,I4)=CH(I3,I4)+1
6460 I2=0:I1=I+1
6470 NEXT I
6480 I1=I-I2:I3=ABS(INT(VAL(MID$(A$,I1,I2))))
6490 IF I3<0 OR I3>19 GOTO 6374
6500 CH(I3,I4)=CH(I3,I4)+1
6510 RETURN
6515 S1=15:S6$=A9$:GOSUB 9
6520 A$=S$:I4=1:GOSUB 6330
6521 IF A$="ERROR" GOTO 6515
6522 IF A$="" GOTO 6530
6523 A9$=A$
6530 S6$=MID$(STR$(OM),2):S1=19:S2=15:S3=1:S9=1:S4=0:S5=9:GOSUB 9:OM=S
6540 S6$=MID$(STR$(OF),2):S1=20:GOSUB 9:OF=S
6550 S1=23:S2=5:GOSUB 24:COLOR 0,7:PRINT"IS THE DATA OK? (Y/N)":COLOR 7,0
6555 S2=30:S3=3:S9=1:S6$=" ":GOSUB 9
6560 IF S$="N" THEN GOTO 6102
6565 IF S$="Y" THEN GOTO 6580
6570 GOTO 6550 THEN GOTO 6580
6580 RETURN
6600 REM ** SECOND PAGE FAMILY INPUT **
6604 CLS
6606 S1=1:S2=1: GOSUB 24:PRINT" ";:COLOR 0,7:PRINT"DOLLAR DETECTIVE":COLOR 7,0
6608 S1=3:S2=1:GOSUB 24:PRINT "_______________________________________"
6610 S1=4:GOSUB 24:PRINT" ";:COLOR 0,7:PRINT"FAMILY MEMBERS":COLOR 7,0
6612 PRINT"ENTER Y OR N TO QUESTION 7."
6613 PRINT:S1=7:GOSUB 24:PRINT"7. HAVE ANY CHILDREN LEFT HOME?..."
6615 S1=8:GOSUB 24:PRINT"_______________________________________"
6616 PRINT" ";:COLOR 0,7:PRINT"LOCATION":COLOR 7,0
6618 PRINT "ENTER YOUR LOCATION:"
6619 PRINT:S1=12:GOSUB 24:PRINT "8. ";:COLOR 0,7:PRINT"F";:COLOR 7,0:PRINT"ARM, ";:COLOR 0,7:PRINT"C";:COLOR 7,0:PRINT"ITY OR ";:COLOR 0,7:PRINT"T";:COLOR 7,0:PRINT"OWN............."
6620 S1=16:GOSUB 24:PRINT "______________________________________"
6621 PRINT" ";:COLOR 0,7:PRINT"INCOME":COLOR 7,0
6622 PRINT:S1=19:GOSUB 24:PRINT"ENTER THE NUMBER OF $'S AVAILABLE"
6623 PRINT "FOR FAMILY LIVING EACH MONTH.....$"
6624 S1=21:GOSUB 24:PRINT"_______________________________________"
6629 S1=7:S2=36:S6$=LH$:S9=2:S3=3:GOSUB 9:LH$=S$
6630 S1=12:S2=36:S9=1:S3=2:S6$=LO$:GOSUB 9
6635 LO$=S$:IF LO$<>"F" AND LO$<> "T"AND LO$<>"C" THEN GOTO 6630
6640 IF LO$<>"F" THEN GOTO 6655
6645 S1=14:S2=1:GOSUB 24:PRINT"HOW MANY HAVE OFF FARM WORK?......":GOTO 6660
6650 PRINT" FARM?" GOTO 6560
6655 S1=14:S2=1:GOSUB 24:PRINT"HOW MANY WORK OUTSIDE OF THE HOME?"
6660 S1=14:S2=36:S3=1:S6$=MID$(STR$(WO),2):GOSUB 9:WO=S
6665 S1=20:S2=36:S6$=MID$(STR$(PY),2):S4=1:S5=10000:S9=8:GOSUB 9:PY=S
6670 S1=23:S2=5:GOSUB 24:COLOR 0,7:PRINT"IS THE DATA OK? (Y/N)":COLOR 7,0
6675 S2=30:S3=3:S9=1:S6$=" ":GOSUB 9
6680 IF S$="N" THEN GOTO 6629
6682 IF S$="Y" THEN GOTO 6690
6684 GOTO 6675
6690 RETURN
6870 REM*** DATA ENTRY PART II***
6880 CLS:PRINT" ";:COLOR 0,7:PRINT" DOLLAR DETECTIVE ";:COLOR 7,0
6890 PRINT" ----------------"
6900 PRINT" NEEDS YOUR MONTHLY SPENDING ESTIMATES."
6910 PRINT" FIXED EXPENSES VARIABLE EXPENSES"
6920 PRINT"HOUSING-RENT$-------FOOD.......$-------"
6930 PRINT
6940 PRINT" -MORT$-------CLOTHING...$-------"
6950 PRINT
6960 PRINT"UTILITIES...$-------TRANSPORT..$-------"
6970 PRINT
6980 PRINT"CREDIT......$-------HOUSEHOLD..$-------"
6990 PRINT" PAYMENTS OPERATION"
7000 PRINT"INSURANCE...$-------FURNISHINGS$-------"
7010 PRINT" & EQUIP."
7020 PRINT"OTHER FIXED.$-------PERSONAL...$-------"
7030 PRINT" EXPENSES"
7040 PRINT"SAVINGS.....$-------CONTRIBUT..$-------"
7050 PRINT" & GIFTS"
7060 PRINT" HEALTH CARE$-------"
7080 PRINT" RECREATION.$-------"
7100 PRINT" EDUCATION..$-------"
7120 S1=5:S2=14:S3=1:S4=0:S5=99999!
7125 S6$=MID$(STR$(D(11)),2):S9=6:GOSUB 9:D(11)=S
7130 S1=7:S6$=MID$(STR$(D(12)),2):GOSUB 9:D(12)=S
7140 S1=9:S6$=MID$(STR$(D(13)),2):GOSUB 9:D(13)=S
7150 S1=11:S6$=MID$(STR$(D(14)),2):GOSUB 9:D(14)=S
7160 S1=13:S6$=MID$(STR$(D(15)),2):GOSUB 9:D(15)=S
7170 S1=15:S6$=MID$(STR$(D(16)),2):GOSUB 9:D(16)=S
7180 S1=17:S6$=MID$(STR$(D(17)),2):GOSUB 9:D(17)=S
7190 S1=5:S2=33:S6$=MID$(STR$(D(1)),2):GOSUB 9:D(1)=S
7200 S1=7:S6$=MID$(STR$(D(2)),2):GOSUB 9:D(2)=S
7210 S1=9:S6$=MID$(STR$(D(3)),2):GOSUB 9:D(3)=S
7220 S1=11:S6$=MID$(STR$(D(4)),2):GOSUB 9:D(4)=S
7230 S1=13:S6$=MID$(STR$(D(5)),2):GOSUB 9:D(5)=S
7240 S1=15:S6$=MID$(STR$(D(6)),2):GOSUB 9:D(6)=S
7250 S1=17:S6$=MID$(STR$(D(7)),2):GOSUB 9:D(7)=S
7260 S1=19:S6$=MID$(STR$(D(8)),2):GOSUB 9:D(8)=S
7270 S1=20:S6$=MID$(STR$(D(9)),2):GOSUB 9:D(9)=S
7275 S1=21:S6$=MID$(STR$(D(10)),2):GOSUB 9:D(10)=S
7280 S1=22:S2=1:GOSUB 24:PRINT"IS THE DATA OK? <Y/N>";
7290 S2=24:S6$=" ":S3=3:GOSUB 9
7300 IF S$="N" THEN GOTO 7120
7305 IF S$="Y" GOTO 7310
7307 GOTO 7290
7310 RETURN
8020 REM***PAGE 1 ***
8030 TS=0
8040 FOR I=1 TO 16:TS=TS+D(I):NEXT I
8045 PRINT " ";:COLOR 0,7:PRINT"DOLLAR DETECTIVE":COLOR 7,0
8050 PRINT:PRINT:PRINT"YOUR FIGURES SHOW YOU HAVE $";PY
8060 PRINT" A MONTH TO SPEND."
8070 PRINT" TOTALS FROM YOUR ESTIMATES FOR YOUR"
8080 PRINT"FAMILIES' FIXED AND VARIABLE EXPENSES"
8090 PRINT"SHOW YOU ARE SPENDING $";TS;
8100 PRINT"PER MONTH."
8110 PRINT" (THIS DOES NOT INCLUDE SAVINGS!)"
8120 PRINT
8130 IF PY<TS GOTO 8250
8140 I2=TS+D(17)-25:I3=TS+D(17)+25
8150 IF PY>I2 AND PY<I3 GOTO 8170
8160 GOTO 8330
8170 PRINT" DOLLAR DETECTIVE DISCOVERS YOUR"
8180 PRINT"INCOME AND EXPENSES ARE IN BALANCE."
8190 PRINT" KEEP UP THE GOOD WORK!"
8200 PRINT" BUT STUDY THE FOLLOWING FOR IDEAS ON"
8210 PRINT"HOW TO KEEP YOUR BUDGET IN BALANCE WITH"
8220 PRINT"CONTINUING INFLATION."
8230 GOTO 8540
8250 PRINT" DOLLAR DETECTIVE FINDS YOUR FAMILY IS"
8260 PRINT"SPENDING MORE THAN IT MAKES!"
8270 PRINT" TAKE A CLOSE LOOK AT THE FOLLOWING"
8280 PRINT"INFORMATION FOR IDEAS ON WHERE YOU"
8290 PRINT"MIGHT SAVE."
8300 IF ABS(D(17))<=0 THEN RETURN
8310 PRINT" IS YOUR SAVINGS ACCOUNT REALLY SAVING?"
8320 RETURN
8330 IF (PY-TS-D(17))<0 GOTO 8450
8340 PRINT" IS THE $";PY-TS-D(17);
8350 PRINT" THAT IS UNACCOUNTED"
8360 PRINT"FOR JUST SLIPPING THROUGH YOUR FINGERS?"
8370 PRINT" TRY TO KEEP TRACK OF YOUR FAMILY"
8380 PRINT"SPENDING FOR THE NEXT MONTH OR SO."
8390 PRINT" ALBERTA AGRICULTURE'S PUBLICATION -"
8400 PRINT" COPE...WITH FAMILY FINANCIAL RECORDS"
8410 PRINT" WILL HELP."
8420 PRINT" THE FOLLOWING INFORMATION ON YOUR"
8430 PRINT"SPENDING ANALYSIS WILL ALSO HELP."
8440 GOTO 8540
8450 PRINT" WITH YOUR EXPENSES OF $";TS;" YOU"
8460 PRINT"CANNOT SAVE $";D(17);" PER MONTH!"
8470 PRINT" TRY TO KEEP TRACK OF YOUR FAMILY"
8480 PRINT"SPENDING FOR THE NEXT MONTH OR SO."
8490 PRINT" ALBERTA AGRICULTURE'S PUBLICATION -"
8500 PRINT" COPE...WITH FAMILY FINANCIAL RECORDS"
8510 PRINT" WILL HELP."
8520 PRINT" THE FOLLOWING INFORMATION ON YOUR"
8530 PRINT"SPENDING ANALYSIS WILL ALSO HELP."
8540 RETURN
8680 REM***PAGE 2***
8690 NM=OM-(HU$="Y")
8700 NF=OF-(WI$="Y")
8710 AD=NM+NF
8720 RESTORE
8730 FOR I=0 TO 19:READ AG$(I):NEXT I
8740 READ AF,AM
8750 FOR I=0 TO 19:FOR I1=0 TO 1:READ C(I,I1):NEXT I1:NEXT I
8760 FOR I=1 TO 3:READ C1(I):NEXT I
8770 FOR I=1 TO 5:READ C2(I):NEXT I
8780 T=NM*AM+NF*AF
8790 FOR I=0 TO 19:FOR I1=0 TO 1:CH=CH+CH(I,I1):T=T+CH(I,I1)*C(I,I1):NEXT I1:NEXT I
8800 IF CH<>0 GOTO 8850
8810 I=AD
8820 IF AD>3 THEN I=3
8830 T1=C1(I)
8840 GOTO 8910
8850 IF AD=1 THEN T1=C2(1):GOTO 8910
8860 REM**MORE THAN 1 ADULT FIND # OF CHILDREN**
8870 IF CH=1 THEN T1=C2(2):GOTO 8910
8880 IF CH=2 THEN T1=C2(3):GOTO 8910
8890 IF CH=3 THEN T1=C2(4):GOTO 8910
8900 T1=C2(5):REM 4 CHLDREN AND ABOVE**
8910 T3=T+T1
8920 I3=0
8930 IF HU$="Y" AND WI$="Y" AND AD<3 AND WO>1 THEN I3=1
8940 REM**REPORT PRINT ED**
8960 PRINT TAB(17)"******"
8970 PRINT TAB(17)"*FOOD*"
8980 PRINT TAB(17)"******"
8990 PRINT" YOU ESTIMATE YOUR FAMILY SPENDS:"
9000 PRINT" $";MID$(STR$(D(1)),2,6);" PER MONTH FOR FOOD"
9010 PRINT"----------------------------------------";
9020 PRINT" DOLLAR DETECTIVE ESTIMATES FOOD COSTS"
9030 PRINT" WOULD BE $";MID$(STR$(T),2,6);" A MONTH FOR A BASIC"
9040 PRINT" NUTRITIOUS DIET FOR YOUR FAMILY"
9050 PRINT TAB(15)"THIS ALLOWS:"
9060 IF NM>0 THEN PRINT"$";MID$(STR$(AM),2,3);" PER ADULT MALE";:GOTO 9080
9070 IF NF>0 THEN PRINT "$";MID$(STR$(AF),2,3);" PER ADULT FEMALE":GOTO 9090
9080 IF NF>0 THEN PRINT TAB(21);"$";MID$(STR$(AF),2,3);" PER";
9085 IF NF>0 THEN PRINT" ADULT FEMALE";
9090 IF CH=0 GOTO 9290
9100 I4=1
9110 IF CH(0,0)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,0)),2,3)+" PER BABY BOY "
9120 IF CH(0,0)>0 THEN I4=I4+1
9130 IF CH(0,1)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,1)),2,3)+" PER BABY GIRL "
9140 IF CH(0,1)>0 THEN I4=I4+1
9150 FOR I=1 TO 19:FOR I1=0 TO 1
9160 IF CH(I,I1)<1 GOTO 9220
9170 A1$(I4)="$"+MID$(STR$(C(I,I1)),2,3)+"/"+MID$(STR$(I),2,3)+" YEAR OLD"
9180 IF I1=0 THEN A1$(I4)=A1$(I4)+" BOY":GOTO 9200
9190 A1$(I4)=A1$(I4)+" GIRL"
9200 IF LEN(A1$(I4))<20 THEN A1$(I4)=A1$(I4)+" ":GOTO 9200
9210 I4=I4+1
9220 NEXT I1
9230 NEXT I
9240 I4=I4-1
9250 FOR I=1 TO I4
9260 PRINT A1$(I);
9270 NEXT I
9280 IF INT(I4/2)-(I4/2)<>0 THEN PRINT
9290 PRINT
9300 PRINT" HE ALSO ESTIMATES YOUR FAMILY WOULD"
9310 PRINT"SPEND $";MID$(STR$(T1),2,5);" ON FOOD AWAY FROM HOME"
9320 PRINT
9330 IF I3<>1 GOTO 9380
9340 PRINT" FOOD COSTS MAY BE HIGHER FOR YOUR "
9350 PRINT"FAMILY BECAUSE THE WIFE IS WORKING. "
9360 PRINT"THIS USUALLY MEANS MORE MEALS OUT AND"
9370 PRINT"MORE CONVENIENCE FOODS. "
9380 PRINT"DOLLAR DETECTIVE ESTIMATES TOTAL FOOD"
9390 PRINT" COSTS FOR YOUR FAMILY TO BE $";MID$(STR$(T3),2,6)
9400 IF I3=1 THEN RETURN
9410 IF NOT ((D(1)<=T3*0.9) AND (LO$<>"F")) GOTO 9460
9420 PRINT"YOUR FOOD COSTS ARE LOW FOR YOUR FAMILY"
9430 PRINT"SIZE. DO YOU HAVE A GARDEN? DON'T "
9440 PRINT"FORGET ABOUT FOOD EATEN AWAY FROM HOME."
9450 GOTO 9550
9460 IF NOT ((D(1)<=T3*0.85) AND (LO$="F")) GOTO 9510
9470 PRINT"LIVING ON A FARM ALLOWS YOU TO SAVE ON "
9480 PRINT"THE FOOD BUDGET. THE TAX MAN CALLS IT "
9490 PRINT" 'INCOME IN KIND'."
9500 GOTO 9550
9510 IF D(1)<T3*1.2 GOTO 9550
9520 PRINT"FOOD IS A FLEXIBLE FAMILY EXPENSE. ASK "
9530 PRINT"YOUR D.H.E. FOR MORE INFORMATION ON "
9540 PRINT"FOOD BUYMANSHIP."
9550 RETURN
9560 REM***PAGE3 CLOTHING***
9570 READ AF,AM
9580 FOR I=0 TO 19:FOR I1=0 TO 1:READ C(I,I1):NEXT I1:NEXT I
9590 T=NM*AM+NF*AF
9600 FOR I=0 TO 19:FOR I1=0 TO 1
9610 IF I>12 THEN C1=C1+CH(I,I1)
9620 T=T+CH(I,I1)*C(I,I1)
9630 NEXT I1:NEXT I
9650 PRINT TAB(15)"**********"
9660 PRINT TAB(15)"*CLOTHING*"
9670 PRINT TAB(15)"**********"
9680 PRINT" YOU ESTIMATE YOUR FAMILY SPENDS:"
9690 PRINT" $";MID$(STR$(D(2)),2,6);" PER MONTH FOR CLOTHING"
9700 PRINT"----------------------------------------";
9710 PRINT"DOLLAR DETECTIVE ESTIMATES CLOTHING"
9720 PRINT" WOULD BE $";MID$(STR$(T),2,6);" A MONTH"
9730 PRINT" FOR YOUR FAMILY"
9740 PRINT TAB(15)"THIS ALLOWS:"
9750 IF NM>0 THEN PRINT"$";MID$(STR$(AM),2,3);" PER ADULT MALE";:GOTO 9770
9760 IF NF>0 THEN PRINT "$";MID$(STR$(AF),2,3);" PER ADULT FEMALE":GOTO 9780
9770 PRINT""TAB(20);"$";MID$(STR$(AF),2,3);" PER";
9775 IF NF>0 THEN PRINT " ADULT FEMALE";
9780 IF CH=0 GOTO 9980
9790 I4=1
9800 IF CH(0,0)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,0)),2,3)+" PER BABY BOY "
9810 IF CH(0,0)>0 THEN I4=I4+1
9820 IF CH(0,1)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,1)),2,3)+" PER BABY GIRL "
9830 IF CH(0,1)>0 THEN I4=I4+1
9840 FOR I=1 TO 19:FOR I1=0 TO 1
9850 IF CH(I,I1)<1 GOTO 9910
9860 A1$(I4)="$"+MID$(STR$(C(I,I1)),2,3)+"/"+MID$(STR$(I),2,3)+" YEAR OLD"
9870 IF I1=0 THEN A1$(I4)=A1$(I4)+" BOY":GOTO 9890
9880 A1$(I4)=A1$(I4)+" GIRL"
9890 IF LEN(A1$(I4))<20 THEN A1$(I4)=A1$(I4)+" ":GOTO 9890
9900 I4=I4+1
9910 NEXT I1
9920 NEXT I
9930 I4=I4-1
9940 FOR I=1 TO I4
9950 PRINT A1$(I);
9960 NEXT I
9970 IF INT(I4/2)-(I4/2)<>0 THEN PRINT
9980 PRINT
9990 PRINT
10000 IF D(2)>0.8*T GOTO 10050
10010 PRINT" CLOTHING COSTS ARE LOW."
10020 PRINT" DO YOU SEW A LOT?"
10030 PRINT" MAKE GOOD USE OF HAND-ME-DOWNS."
10040 GOTO 10120
10050 IF D(2)<1.2*T GOTO 10120
10060 IF C1<1 GOTO 10090
10070 PRINT" CLUE: WHY NOT PUT YOUR OLDER CHILDREN"
10080 PRINT" ON A CLOTHING ALLOWANCE."
10090 IF WO<2 GOTO 10120
10100 PRINT" COUNT ON EXTRA CLOTHING COSTS BECAUSE"
10110 PRINT" TWO OR MORE FAMILY MEMBERS WORK"
10120 RETURN
10130 REM***PAGE4 TRANSPORTATION***
10140 FOR I=1 TO 3:READ C1(I):NEXT I
10150 FOR I=1 TO 6:READ C2(I):NEXT I
10160 IF CH>0 GOTO 10210
10170 I=AD
10180 IF AD>3 THEN I=3
10190 T=C1(I)
10200 GOTO 10270
10210 IF AD=1 THEN T=C2(1):GOTO 10270
10220 IF AD>2 THEN T=C2(6):GOTO 10270
10230 IF CH=1 THEN T=C2(2):GOTO 10270
10240 IF CH=2 THEN T=C2(3):GOTO 10270
10250 IF CH=3 THEN T=C2(4):GOTO 10270
10260 T=C2(5):REM**2AD+4&MORE CHILDREN
10270 REM**REPORT**
10290 PRINT TAB(12)"****************"
10300 PRINT TAB(12)"*TRANSPORTATION*"
10310 PRINT TAB(12)"****************"
10320 PRINT" YOU ESTIMATE YOUR FAMILY SPENDS:"
10330 PRINT" $";MID$(STR$(D(3)),2,6);" PER MONTH FOR TRANSPORTATION"
10340 PRINT"----------------------------------------";
10350 PRINT"TRANSPORTATION COSTS VARY DEPENDING ON A";
10360 PRINT"FAMILYS' LIFESTYLE, LOCATION, JOB, AND"
10370 PRINT"NUMBER OF CARS."
10380 PRINT
10390 PRINT" A CLUE TO CAR COSTS FROM DOLLAR"
10400 PRINT"DETECTIVE IS THAT YOU CAN COUNT ON $.17"
10410 PRINT"A KM ($.28 A MILE) TO COVER OPERATION"
10420 PRINT"AND MAINTENANCE COSTS."
10430 PRINT"THIS DOES NOT INCLUDE CAR PURCHASE,"
10440 PRINT"FINANCE CHARGES OR DEPRECIATION."
10450 PRINT
10460 PRINT"DOLLAR DETECTIVE ESTIMATES"
10470 PRINT"TRANSPORTATION COSTS WOULD BE ABOUT"
10480 PRINT" $";MID$(STR$(T),2,5);" FOR A FAMILY OF YOUR SIZE."
10500 PRINT" IF YOU'RE INTERESTED IN LOOKING MORE"
10510 PRINT"CLOSELY AT YOUR CAR COSTS TRY OUT THE"
10520 PRINT"VEHICLE COST ANALYSIS PROGRAM"
10530 RETURN
10540 REM***PAGE5 H-O&PERSONAL**
10550 FOR I=1 TO 10:READ C1(I):NEXT I
10560 I4=AD+CH
10570 IF I4>10 THEN I4=10
10580 T=C1(I4)
10600 PRINT TAB(9);"*********************"
10610 PRINT TAB(9);"*HOUSEHOLD OPERATION*"
10620 PRINT TAB(9);"*********************"
10630 PRINT"YOU ESTIMATE $";MID$(STR$(D(4)),2,4);" FOR HOUSEHOLD"
10640 PRINT" OPERATION."
10650 PRINT"----------------------------------------";
10660 PRINT"DOLLAR DETECTIVE ESTIMATES A FAMILY OF"
10670 PRINT AG$(I4);" WOULD SPEND $";MID$(STR$(T),2,4);" PER MONTH."
10680 PRINT" CLUE: IT'S SURPRISING HOW QUICKLY"
10690 PRINT"LAUNDRY, CLEANING AND PAPER PRODUCTS"
10700 PRINT"CAN ADD UP."
10710 PRINT"THIS IS A CATEGORY WHERE YOU CAN SAVE"
10720 PRINT"BY BUYING AT BULK SALES."
10730 PRINT
10740 IF D(4)>0.9*T GOTO 10770
10750 PRINT"ARE SOME OF THESE COSTS INCLUDED IN YOUR"
10760 PRINT"FOOD BUDGET?"
10770 RETURN
10780 REM**PAGE6 F&E**
10790 FOR I=1 TO 10:FOR I1=0 TO 1:READ C(I,I1):NEXT I1:NEXT I
10800 I1=1
10810 IF D(11)>0 AND CH>0 THEN I1=0
10820 IF D(12)>0 AND LH$="Y" THEN I1=0
10830 IF D(11)>0 AND CH=0 THEN I1=1
10840 T=C(I4,I1)
10860 PRINT TAB(6);"***************************"
10870 PRINT TAB(6);"*FURNISHINGS AND EQUIPMENT*"
10880 PRINT TAB(6);"***************************"
10890 PRINT"YOU ESTIMATE $";MID$(STR$(D(5)),2,4);" FOR FURNISHINGS"
10900 PRINT" AND EQUIPMENT."
10910 PRINT"----------------------------------------";
10920 PRINT" THE AMOUNT SPENT ON THIS CATEGORY"
10930 PRINT"DEPENDS VERY MUCH ON WHAT STAGE YOUR"
10940 PRINT"FAMILY IS AT IN THE LIFE CYCLE."
10950 PRINT"DOLLAR DETECTIVE ESTIMATES A FAMILY OF"
10960 PRINT AG$(I4);" WOULD SPEND $";MID$(STR$(T),2,4);" PER MONTH."
10970 PRINT"CLUE: YOU'LL BE SURPRISED AT THE TOTAL"
10980 PRINT"VALUE OF YOUR HOME FURNISHINGS AND"
10990 PRINT"EQUIPMENT. ISN'T NOW A GOOD TIME TO"
11000 PRINT"COMPLETE A HOUSEHOLD INVENTORY?"
11010 RETURN
11020 REM**PAGE7 PC&GIFTS***
11030 READ AF,AM:T=NF*AF+NM*AM
11040 FOR I=0 TO 19:FOR I1=0 TO 1
11050 READ C(I,I1)
11060 T=T+C(I,I1)*CH(I,I1)
11070 NEXT I1:NEXT I
11090 PRINT TAB(12);"****************"
11100 PRINT TAB(12);"*PERSONAL COSTS*"
11110 PRINT TAB(12);"****************"
11120 PRINT"YOU ESTIMATE YOUR FAMILY SPENDS: $";MID$(STR$(D(6)),2,4)
11130 PRINT"PER MONTH ON PERSONAL ITEMS."
11140 PRINT"----------------------------------------";
11150 PRINT"DOLLAR DETECTIVE ESTIMATES PERSONAL"
11160 PRINT"COSTS WOULD BE $";MID$(STR$(T),2,4);" PER MONTH FOR"
11170 PRINT"YOUR FAMILY."
11180 PRINT"*ALCOHOL MAY ADD ON ANOTHER $15.00 PER"
11190 PRINT"MONTH, AND IF SOMEONE SMOKES, COUNT ON"
11200 PRINT"ANOTHER $23.50 PER MONTH."
11210 IF D(6)<1.1*T GOTO 11230
11220 PRINT"IS THIS WHERE YOUR MONEY IS GOING?"
11230 PRINT TAB(7);"*************************"
11240 PRINT TAB(7);"*GIFTS AND CONTRIBUTIONS*"
11250 PRINT TAB(7);"*************************"
11260 PRINT"YOU ESTIMATE YOUR FAMILY SPENDS: $";MID$(STR$(D(7)),2,4)
11270 PRINT"PER MONTH ON GIFTS AND CONTRIBUTIONS."
11280 PRINT"THIS DEPENDS ON THE VALUES AND GOALS OF"
11290 PRINT"YOUR FAMILY AND YOUR LIFESTYLE."
11300 RETURN
11310 REM**PAGE8 HEALTH CARE**
11320 FOR I=1 TO 3:READ C1(I):NEXT I
11330 FOR I=1 TO 3:READ C2(I):NEXT I
11340 FOR I=0 TO 1:FOR I1=0 TO 1:READ C(I,I1):NEXT I1:NEXT I
11350 I4=AD+CH
11360 IF I4>3 THEN I4=3
11370 I3=0
11380 IF I4>1 THEN I3=1
11400 PRINT TAB(13)"*************"
11410 PRINT TAB(13)"*HEALTH CARE*"
11420 PRINT TAB(13)"*************"
11430 PRINT"YOU ESTIMATE YOUR FAMILY SPENDS: $";MID$(STR$(D(8)),2,4)
11440 PRINT"PER MONTH ON HEALTH CARE."
11450 PRINT"----------------------------------------";
11460 PRINT"DOLLAR DETECTIVE ESTIMATES HEALTH CARE"
11470 PRINT"COSTS WOULD BE ABOUT $";MID$(STR$(C1(I4)),2,7);" FOR"
11480 PRINT"DENTAL CARE AND $";MID$(STR$(C1(I4)),2,7);" FOR DRUGS."
11490 IF LO$<>"F" GOTO 11530
11500 PRINT"ALBERTA HEALTH CARE PREMIUMS AVERAGE OUT";
11510 PRINT"TO BE $";MID$(STR$(C(0,I3)),2,7);" A MONTH AND"
11520 PRINT"BLUE CROSS TO BE $";MID$(STR$(C(1,I3)),2,7);" PER MONTH."
11530 IF NOT (AD>1 AND WO=1 AND CH>0) GOTO 11560
11540 PRINT"DO YOU HAVE ADEQUATE LIFE INSURANCE IN"
11550 PRINT"CASE OF A HEALTH EMERGENCY?"
11560 RETURN
11570 REM**PAGE9 RECREATION**
11580 READ AM:T=AD*AM
11590 FOR I=0 TO 19:FOR I1=0 TO 1
11600 READ C(I,I1):T=T+C(I,I1)*CH(I,I1)
11610 IF I>14 THEN C2=C2+CH(I,I1)
11620 NEXT I1:NEXT I
11630 PRINT"";
11640 PRINT TAB(14)"************"
11650 PRINT TAB(14)"*RECREATION*"
11660 PRINT TAB(14)"************"
11670 PRINT"YOU ESTIMATE YOUR FAMILY SPENDS: $";MID$(STR$(D(9)),2,4)
11680 PRINT"PER MONTH ON RECREATION."
11690 PRINT"----------------------------------------";
11700 PRINT"DOLLAR DETECTIVE FINDS FAMILIES OF"
11710 PRINT"YOUR SIZE SPEND ABOUT $";MID$(STR$(T),2,7);" PER MONTH"
11720 PRINT"ON RECREATION."
11730 PRINT TAB(15)"THIS ALLOWS:"
11740 PRINT"$";MID$(STR$(AM),2,3);" PER ADULT"
11750 IF CH=0 GOTO 11950
11760 I4=1
11770 IF CH(0,0)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,0)),2,3)+" PER BABY BOY "
11775 IF CH(0,0)>0 AND LEN(A1$(I4))<20 THEN A1$(I4)=A1$(I4)+" ":GOTO 11775
11780 IF CH(0,0)>0 THEN I4=I4+1
11790 IF CH(0,1)>0 THEN A1$(I4)="$"+MID$(STR$(C(0,1)),2,3)+" PER BABY GIRL "
11795 IF CH(0,1)>0 AND LEN(A1$(I4))<20 THEN A1$(I4)=A1$(I4)+" ":GOTO 11795
11800 IF CH(0,1)>0 THEN I4=I4+1
11810 FOR I=1 TO 19:FOR I1=0 TO 1
11820 IF CH(I,I1)<1 GOTO 11880
11830 A1$(I4)="$"+MID$(STR$(C(I,I1)),2,3)+"/"+MID$(STR$(I),2,3)+" YEAR OLD"
11840 IF I1=0 THEN A1$(I4)=A1$(I4)+" BOY":GOTO 11860
11850 A1$(I4)=A1$(I4)+" GIRL"
11860 IF LEN(A1$(I4))<20 THEN A1$(I4)=A1$(I4)+" ":GOTO 11860
11870 I4=I4+1
11880 NEXT I1
11890 NEXT I
11900 I4=I4-1
11910 FOR I=1 TO I4
11920 PRINT A1$(I);
11930 NEXT I
11940 IF INT(I4/2)-(I4/2)<>0 THEN PRINT
11950 REM
11960 PRINT" THE AMOUNT OF MONEY SPENT ON RECREATION";
11970 PRINT"BY FAMILIES IS VERY INDIVIDUAL. BUT THE"
11980 PRINT"LARGEST INCREASES IN FAMILY EXPENDITURE"
11990 PRINT"HAVE BEEN TOWARDS RECREATION IN RECENT"
12000 PRINT"YEARS."
12010 IF D(9)<T*1.2 GOTO 12060
12020 PRINT" DOLLAR DETECTIVE SUGGESTS YOUR FAMILY"
12030 PRINT"MAY HAVE FUN DISCOVERING SOME"
12040 PRINT"INEXPENSIVE RECREATIONAL ACTIVITIES IN"
12050 PRINT"YOUR COMMUNITY."
12060 RETURN
12070 REM**PAGE10 EDUCATION***
12080 READ AM,AF
12090 T=AM*(AD+C2)
12100 T=T+AF*(CH-C2)
12120 PRINT TAB(14)"***********"
12130 PRINT TAB(14)"*EDUCATION*"
12140 PRINT TAB(14)"***********"
12150 PRINT"YOU ESTIMATE YOUR FAMILY SPENDS: $";MID$(STR$(D(10)),2,4)
12160 PRINT"PER MONTH ON EDUCATION."
12170 PRINT"----------------------------------------";
12180 PRINT"DOLLAR DETECTIVE FINDS FAMILIES OF"
12190 PRINT"YOUR SIZE SPEND ABOUT $";MID$(STR$(T),2,7);" PER MONTH"
12200 PRINT"ON EDUCATION."
12210 PRINT" EDUCATION COSTS DEPEND ON THE LIFE-"
12220 PRINT"STYLE, LOCATION AND STAGE IN THE FAMILY"
12230 PRINT"LIFE CYCLE. THE FIGURES QUOTED ARE"
12240 PRINT"MINIMUMS."
12250 IF CH=0 GOTO 12300
12260 PRINT" EDUCATION IS SOMETHING YOUR FAMILY"
12270 PRINT"MIGHT CONSIDER AS A LONG TERM GOAL."
12280 PRINT" ARE YOU TRYING TO SAVE FOR FUTURE"
12290 PRINT"EDUCATION?"
12300 RETURN
12310 REM**PAGE11 FIXED EXPENSES**
12315 IF PY=0 THEN T2=0:GOTO 12360
12320 T=INT(((D(11)+D(12)+D(13))/PY)*100)
12330 T1=INT(100*(D(14)/PY))
12340 T2=T+T1
12360 PRINT TAB(12);"****************"
12370 PRINT TAB(12);"*FIXED EXPENSES*"
12380 PRINT TAB(12);"****************"
12390 PRINT"HOUSING COSTS (INCLUDING RENT, OR"
12400 PRINT"MORTGAGE & TAXES AND UTILITIES) MAKE UP"
12410 PRINT"";T;"% OF YOUR FAMILY'S TAKE HOME PAY."
12420 PRINT" A GENERAL GUIDELINE IS THAT HOUSING"
12430 PRINT"SHOULD BE ABOUT 30% OF A FAMILY'S INCOME";
12440 IF D(12)=0 GOTO 12490
12450 PRINT" BE AN ENERGY MISER. LOOK TO YOUR HOME"
12460 PRINT"TO IMPROVE INSULATION, WEATHERSTRIPPING"
12470 PRINT"ETC. YOU'LL BE SURPRISED AT THE SAVINGS!";
12480 GOTO 12560
12490 IF D(11)=0 GOTO 12540
12500 PRINT" BE AN ENERGY MISER. LEARN TO CUT BACK"
12510 PRINT"ON ALL KINDS OF ENERGY USE. YOU'LL BE"
12520 PRINT"SURPRISED AT THE SAVINGS."
12530 GOTO 12560
12540 PRINT"AT LEAST YOU'RE NOT FACED WITH HIGH"
12550 PRINT"HOME MORTGAGE RATES!"
12560 PRINT"CREDIT PAYMENTS TOTAL";T1;"% OF YOUR"
12570 PRINT"TAKE HOME PAY."
12580 IF D(12)=0 GOTO 12700
12590 PRINT" A GENERAL GUIDELINE IS THAT YOUR"
12600 PRINT"CONSUMER CREDIT PAYMENTS AND MORTGAGE"
12610 PRINT"PAYMENTS SHOULD NOT BE MORE THAN 40%"
12620 PRINT"OF YOUR TAKE HOME PAY."
12630 PRINT" YOU ARE COMMITTED TO";T2;"% OF YOUR"
12640 PRINT"TAKE HOME PAY FOR CREDIT & MORTGAGE."
12650 IF T2<33 GOTO 12730
12660 PRINT" IT'S EASY TO GET IN TOO DEEP WITH"
12670 PRINT"CREDIT. ASK YOUR D.H.E. FOR GUIDENCE"
12680 PRINT"IN THIS AREA."
12690 GOTO 12730
12700 PRINT" A GENERAL GUIDELINE IS THAT YOUR"
12710 PRINT"CONSUMER CREDIT PAYMENTS SHOULD NOT"
12720 PRINT"EXCEED 25% OF YOUR TAKE HOME PAY."
12730 RETURN
12740 REM**PAGE12 OTHERS**
12750 T=INT((D(16)/PY)*100)
12760 PRINT"INSURANCE"
12770 PRINT" YOU LIKELY PAY YOUR INSURANCE PREMIUMS"
12780 PRINT"TWO OR THREE TIMES PER YEAR. THEY ARE"
12790 PRINT"LESS OF A FINANCIAL BURDEN IF YOU PUT"
12800 PRINT"MONEY FOR INSURANCE IN A SEPARATE"
12810 PRINT"SAVINGS ACCOUNT EACH MONTH."
12820 PRINT" EXAMINE YOUR FAMILY'S INSURANCE NEEDS"
12830 PRINT"EVERY YEAR OR SO TO MAKE SURE YOU'RE"
12840 PRINT"ADEQUATELY, YET ECONOMICALLY COVERED."
12850 PRINT"OTHER FIXED EXPENSES"
12860 PRINT" THESE TAKE UP";T;"% OF YOUR FAMILY'S"
12870 PRINT"TAKE HOME PAY."
12880 PRINT"SAVINGS"
12890 PRINT" DOLLAR DETECTIVE FIGURES YOU SHOULD"
12900 PRINT"HAVE AT LEAST 3 TIMES YOUR MONTHLY"
12910 PRINT"LIVING EXPENSES READILY AVAILABLE IN"
12920 PRINT"CASE OF A FINANCIAL EMERGENCY."
12930 IF NOT (D(17)=0 AND TS>PY) GOTO 12980
12940 PRINT"DOLLAR DETECTIVE FEELS YOU MAY NEED"
12950 PRINT"SOME FINANCIAL COUNCILLING. SEE YOUR"
12960 PRINT"D.H.E. FOR GUIDELINES."
12970 GOTO 13010
12980 IF NOT (D(17)>0.05*PY) GOTO 13010
12990 PRINT"CLUE: ARE YOU GETTING THE BEST AVAILABLE";
13000 PRINT"INTEREST FOR YOUR MONEY? CHECK AROUND."
13010 RETURN
13020 REM**LAST PAGE***
13030 PRINT" MONEY MANAGEMENT IS A VERY INDIVIDUAL"
13040 PRINT"FAMILY MATTER AND IS UNIQUE WITH EACH"
13050 PRINT"FAMILY."
13060 PRINT" GENERAL GUIDELINES, SOME CAUTIONS AND"
13070 PRINT"COMMENTS HAVE BEEN PROVIDED BY"
13080 PRINT"DOLLAR DETECTIVE ON YOUR FAMILY'S"
13090 PRINT"MONEY MANAGEMENT."
13100 PRINT" HE LEAVES YOU WITH THESE CLUES:"
13110 PRINT"DEVELOP INSIGHT INTO THE WAY YOUR"
13120 PRINT"FAMILY VIEWS MONEY."
13130 PRINT"ALLOW INPUT FOR THE USE OF MONEY BY"
13140 PRINT"FAMILY MEMBERS."
13150 PRINT"ALLOW INVOLVEMENT IN HANDLING MONEY"
13160 PRINT"BY ALL FAMILY MEMBERS."
13170 PRINT"EACH FAMILY MEMBER SHOULD HAVE SOME"
13180 PRINT"INCOME SO EACH CAN FULFIL PERSONAL GOALS";
13190 PRINT"CHECK WITH YOUR DISTRICT HOME ECONOMIST"
13200 PRINT"FOR INFORMATION ON THE "
13210 PRINT"COPE...WITH FAMILY FINANCE SERIES. "
13220 RETURN
15000 REM SCREEN PRINT SUBROUTINE
15010 IF A7=1 GOTO 15050
15020 GOSUB 300
15030 CLS:RETURN
15050 LPRINT CHR$(27);"W";CHR$(1);:FOR I=1 TO 3:LPRINT CHR$(10);:NEXT I
15060 CALL PRTSCR
15065 LPRINT CHR$(27);"W";CHR$(0);
15070 CLS:RETURN
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,8
60430 PRINT"HOME ECONOMICS BRANCH"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,28:PRINT"HOME ECONOMICS BRANCH"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
61000 DATA "BABY","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT"
61010 DATA "NINE","TEN","ELEVEN","TWELVE","THIRTEEN","FOURTEEN","FIFTEEN"
61020 DATA "SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN"
61030 DATA 93,100
61040 DATA 52,52,59,59,59,59,59,59,68,68,68,68,68,68,77,77,77,77,77,77
61050 DATA 90,90,90,90,90,90,105,100,105,100,105,100,117,100,117,100,117,100
61055 DATA 117,100
61060 DATA 47,63,64
61070 DATA 29,51,52,55,56
61080 DATA 49,50
61090 DATA 39,39,25,25,25,25,25,25,25,25,25,25,35,35,35,35,35,35,35,35,35,35
61100 DATA 35,35,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
61110 DATA 59,97,127
61120 DATA 50,122,124,130,134,137
61130 DATA 11,19,25,31,36,40,45,50,55,65
61140 DATA 40,41,43,92,56,112,70,121,80,123,89,125
61145 DATA 98,125,108,125,110,125,112,125
61150 DATA 22.00,18.00
61160 DATA 3.0,3.0,3.0,3.0,5.50,5.50,5.50,5.50,5.50,5.50,5.50,5.50
61170 DATA 6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5,6.5
61180 DATA 19.0,20.,19.0,20.,19.0,20.,19.0,20.
61190 DATA 27.0,20.0,27.0,20.0,27.0,20.0,27.0,20.
61200 DATA 8,15,19.0
61210 DATA 8,16,21.0
61220 DATA 14.0,28.0,6.60,13.20
61230 DATA 67
61240 DATA 7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0,7.0
61250 DATA 17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0,17.0
61260 DATA 21.0,21.0,21.0,21.0,21.0,21.0,21.0,21.0
61270 DATA 27,27,27,27,27,27,27,27
61280 DATA 12,10
61290 DATA 999
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
-----------------------------------------------------------------------
Disk No 460 Alberta Agricultural Programs v1 DS2
---------------------------------------------------------------------
This seems to be another useful collection of decision aids for Farm Management.
Basica is required.
AUTOEXEC BAT Batch file BASICA HELLO
BESTCROP BAS Breakeven prices & yields - March 1982
BFP BAS Breakeven feeder prices - July 1984
CARCOST BAS Car or truck costing program - January 1984
CFP BAS Comparative feed pricing - June 1984
COWCRAB BAS Cow calf risk analysis budget - July 1983
CRCROP BAS Concensus research crops model - July 1984
DIET BAS Diet Detective Jr. - March 1983
DOLLAR BAS Dollar Detective - personal budgeting - March 1983
HAYCRAB BAS Hay cost returns and analysis - March 1982
HELLO BAS Alberta Agricluture menu program - August 1984
INSTALL BAT Batch file to add system and BASICA to disk
LANDPUR BAS Land purchase decisions - February 1983
LOAN BAS Loan calculator - August 1984
RATION BAS Ration balancing - May 1984
README DOC Author supplied documentation file
1 REM HAYCRAB
2 REM ** A PROGRAM TO CALCULATE THE ENERGY & PROTEIN EQUIVALENT PRICES OF
3 REM REVISED MARCH , 1982
4 REM CONTACT, GARY FISHER
5 REM FARM BUSINESS MGT BRANCH, OLDS
6 REM PHONE (403) 556-4240
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN"HELLO.BAS"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM THIS IS THE MAINLINE FOR HAYCRAB
5010 GOSUB 62000
5020 GOSUB 60000
5030 CLS
5040 PRINT TAB( 15);"HAYCRAB"
5050 PRINT TAB( 15);"======="
5060 PRINT : PRINT TAB( 5);"HAY SELLING COMPUTERIZED RISK"
5070 PRINT TAB( 19);"ANALYSIS BUDGET"
5080 PRINT TAB( 15);"REVISED: MARCH 1982"
5090 PRINT : PRINT : PRINT " THIS PROGRAM IS DESIGNED TO ASSIST IN"
5100 PRINT
5110 PRINT " THE EVALUATION OF WHETHER OR NOT ONE"
5120 PRINT
5130 PRINT " SHOULD SELL HIS HAY AS A STANDING"
5140 PRINT
5150 PRINT " CROP OR HARVEST AND STACK FOR SALE"
5160 PRINT
5170 PRINT " AT A LATER DATE."
5180 GOSUB 300: CLS
5190 PRINT : PRINT " FIVE PIECES OF INFORMATION ARE USED:"
5200 PRINT : PRINT
5210 PRINT " THE FIRST IS THE WORST PRICE PER TON"
5220 PRINT " EXPECTED AT THE FUTURE DATE OF SALE."
5230 PRINT
5240 PRINT " THE SECOND IS THE BEST PRICE PER TON"
5250 PRINT " EXPECTED AT THE FUTURE DATE OF SALE"
5260 PRINT
5270 PRINT " THE THIRD ASKS FOR THE MOST LIKELY"
5280 PRINT " PRICE (/TN) AT THE FUTURE DATE OF SALE"
5290 PRINT
5300 PRINT " THE NEXT TWO QUESTIONS DEAL WITH THE"
5310 PRINT " COSTS OF HARVESTING AND STORAGE."
5320 GOSUB 300
5325 REM DEFAULT VALUES
5330 A=50:B=100:M=80:H=40:C=10
5340 CLS
5350 PRINT : PRINT
5360 PRINT "WORST PRICE (/TN) AT LATER DATE="; STR$(A)
5370 PRINT : PRINT
5380 PRINT "BEST PRICE (/TON) AT LATER DATE="; STR$(B)
5390 PRINT : PRINT
5400 PRINT "MOST LIKELY PRICE AT LATER DATE="; STR$(M)
5410 PRINT : PRINT
5420 PRINT "HARVESTING COST PER TON........="; STR$(H)
5430 PRINT : PRINT
5440 PRINT "STORAGE COST PER TON...........="; STR$(C)
5450 S6$= STR$(A):S1=3:S2=33:S3=1:S4=20:S5=500:S9=5: GOSUB 9:A=S
5460 S6$= STR$(B):S1=6: GOSUB 9:B=S
5470 S6$= STR$(M):S1=9: GOSUB 9:M=S
5480 S6$= STR$(H):S1=12:S4=0: GOSUB 9:H=S
5490 S6$= STR$(C):S1=15: GOSUB 9:C=S
5500 S1=20:S2=1: GOSUB 24
5510 PRINT " ANY ENTRIES TO BE CHANGED (Y/N)?"
5520 S6$="Y":S1=20:S2=35:S3=3: GOSUB 9
5530 IF S$="Y" GOTO 5340
5540 S1=20:S2=1: GOSUB 24
5550 PRINT " DO YOU WISH TO PRINT (Y/N)? "
5560 S6$="N":S2=30: GOSUB 9
5565 REM CLEARS QUESTION BEFORE SCREEN DUMP
5570 IF S$="Y" THEN S2=1: GOSUB 24: PRINT " "
5575 IF S$="Y" THEN CALL PRTSCR
5580 CLS
5590 PRINT " CHANCE OF GETTING LESS THAN--"
5600 PRINT " ============================="
5610 PRINT " PERCENTAGE EXPECTED SELLING PRICE"
5620 PRINT " FROM STACK FROM FIELD"
5630 PRINT " =========== ========== =========="
5640 F1=((M-A)/(B-A))*100
5650 FOR I=0 TO 100 STEP 10
5660 IF I > =F1 AND I < =100 GOTO 5690
5670 X=A+ SQR((I/100)*(M-A)*(B-A))
5680 GOTO 5700
5690 X=B-((1-I/100)*(B-M)*(B-A))^0.5
5700 S3=I:S4=11: GOSUB 200: PRINT S3$;
5710 S3=X: GOSUB 200: PRINT S3$;
5720 IF I=50 THEN A1=S3
5730 S3=X-(H+C): GOSUB 200: PRINT S3$
5740 IF I=50 THEN A2=S3
5750 NEXT I
5760 PRINT
5770 PRINT "GIVEN YOUR ESTIMATES, AN OFFER OF"
5780 PRINT "$";A2;"/TON STANDING WOULD GIVE THE"
5790 PRINT "SAME NET RETURN AS $";A1;"/TON"
5800 PRINT "STACKED. YOU HAVE A 50% CHANCE OF"
5810 PRINT "GETTING LESS THAN THIS VALUE."
5830 PRINT " DO YOU WISH TO PRINT (Y/N)?";
5840 S6$="N":S1=23:S2=30:S3=3: GOSUB 9
5850 S2=1: IF S$="Y" THEN GOSUB 24: PRINT " "
5855 IF S$="Y" THEN CALL PRTSCR
5860 GOSUB 24
5870 PRINT " DO YOU WISH TO RERUN (Y/N)? ";
5880 S6$="Y":S2=30: GOSUB 9
5890 IF S$="Y" GOTO 5340
5900 CLS
5910 PRINT " THANK YOU FOR USING THIS PROGRAM":LOCATE 10,1:COLOR 0,7: PRINT " LOADING MENU .. PLEASE WAIT ":COLOR 7,0:RUN "HELLO"
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,4
60430 PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,22:PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM *** HELLO PROGRAM ***
2 REM PRESENTS A MENU OF ADA IBM-PC PROGRAMS
3 REM CON TAINED ON THIS ADA PROGRAM DISKETTE.
4 REM ** UPDATED AUGUST 28, 1984 **
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" NORMAL EXIT":END
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
220 REM **** GENERAL NUMBER FOR MATTER SUBROUTINE ****
221 S7=10^S5
222 IF S3=0 THEN S3$=RIGHT$(" 0",S4-S5-1)+LEFT$(".0000",S5+1):GOTO 229
223 S6=INT(S3*S7+0.5)/S7
224 S3$=STR$(S6+SGN(S6)*0.1/S7)
225 S6=LEN(S3$)
226 S3$=LEFT$(S3$,S6-1)
227 IF S6=S4+1 THEN 229
228 S3$=LEFT$(" ",S4+1-S6)+S3$
229 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM**MENU PROGRAM**
5010 GOSUB 60000
5015 DEF SEG=0:POKE 1047,96:REM shift lock on cursor off
5020 DIM PG$(100,1)
5025 GOSUB 5250
5030 RESTORE
5040 FOR S=1 TO 100
5050 READ PG$(S,0),PG$(S,1)
5055 IF PG$(S,0)="123456" GOTO 5070
5060 NEXT S
5070 REM NOW GET ON WITH IT
5080 MX=S-1
5090 FOR I=1 TO MX
5100 PRINT TAB(5);I;TAB(9);PG$(I,1)
5110 IF INT(I/12)=I/12 AND I<MX THEN GOSUB 300:GOSUB 5250
5120 NEXT I
5130 S1=21:S2=1:GOSUB 24
5140 PRINT"ENTER A PROGRAM NUMBER:"
5150 S1=22:S2=3:GOSUB 24
5160 PRINT :PRINT"OR HIT THE RETURN KEY TO END"
5190 S1=21:S2=37:S6$="":S3=1:S4=1:S5=MX:S9=2:GOSUB 9
5200 IF S$="" THEN CLS:PRINT"THANK YOU FOR USING THIS PROGRAM":END
5210 PG$=PG$(S,0)
5248 GOTO 6070
5250 CLS:PRINT" A D A P R O G R A M DISKETTE #1 ":PRINT
5260 PRINT" *** LAST UPDATED AUGUST, 1984 ***"
5270 PRINT
5290 RETURN
6070 RUN PG$
6090 END
7000 REM ***THE DATA STATEMENTS FOR THE PROGRAMS START HERE ***
7005 DATA "BESTCROP","BEST CROP ANALYSIS"
7008 DATA "CARCOST","CAR/TRUCK COSTS"
7010 DATA "CFP","COMPARATIVE FEED PRICING"
7030 DATA "DIET","DIET DETECTIVE JR. (NUTRITION )"
7040 DATA "DOLLAR","DOLLAR DETECTIVE (BUDGETS)"
7050 DATA "HAYCRAB","HAY COST AND RETURNS ANALYSIS"
7060 DATA "LOAN","LOAN CALCULATOR"
7070 DATA "RATION ","RATION BALANCING"
7072 DATA "BFP","BREAKEVEN FEEDER PRICES"
7080 DATA "LANDPUR","LAND PURCHASE DECISION "
7090 DATA "CRCROP","C.R.D. FOR CROP ENTERPRISES"
7100 DATA "COWCRAB","COW/CALF RISK ANALYSIS BUDGET"
8000 DATA "123456","123456"
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,8
60430 PRINT"A D A P R O G R A M S"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,24:PRINT"A D A P R O G R A M S"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
1 REM LAND PURCHASE DECISIONS
2 REM LAST REVISED FEB 8,1983
3 REM CONTACT GARY FISHER
4 REM FARM BUSINESS MANAGEMENT BRANCH
5 REM BOX 2000 OLDS, ALTA
6 REM PHONE (403) 556-4240
7 REM CONVERTED TO APPLESOFT BASIC FROM PET BASIC BY G.K. PETERSON APRIL 1982
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU":RUN "HELLO"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
100 CLS:PRINT"THANK YOU FOR USING THIS PROGRAM":LOCATE 13,1:COLOR 0,7:PRINT"LOADING MENU.... PLEASE WAIT":COLOR 7,0:RUN "HELLO"
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM **THIS IS THE MAINLINE FOR LAND PURCHASE**
5010 GOSUB 60000
5020 CLS : PRINT "PLEASE WAIT, I AM LOADING DATA"
5030 GOSUB 62000
5140 DIM A(20),D(20)
5145 GOSUB 6810
5150 GOSUB 6930
5160 CLS : RESTORE : REM RETURN TO LAND
5170 FOR I=1 TO 15: IF I=2 OR I=6 OR I=12 OR I=15 THEN PRINT
5180 IF I > 1 THEN PRINT " ";
5190 READ A$: PRINT A$;: PRINT TAB( 29);A(I): NEXT I
5200 A1=0:S1=0
5210 FOR I=1 TO 15: IF I=2 OR I=6 OR I=12 OR I=15 THEN PRINT :S1=S1+1
5220 S6$= STR$(A(I)):S1=S1+1:S2=29:S3=1:S4=0:S5=99999999#:S9=11: GOSUB 9
5240 A(I)=S
5250 IF I < 12 THEN D(I)=A(I)
5260 NEXT I
5270 D(14)=A(12):D(15)=A(15)
5280 GOSUB 7100
5285 PRINT
5290 PRINT " TOTAL EXPENSES.......=$"A1:A2=A(1)-A1
5310 PRINT " RETURN TO LAND...........=$"A2
5320 PRINT "CHANGE DATA Y/N MENU M OR PRINT P?";
5330 S6$="":S1=23:S2=36:S3=2:S9=1: GOSUB 9
5335 IF S$="Y" GOTO 5160
5340 IF S$="N" GOTO 5370
5345 IF S$="M" GOTO 6610
5350 IF S$ <> "P" GOTO 5360
5352 S2=1: GOSUB 24: PRINT SPACE$(37):CALL PRTSCR
5354 GOSUB 24: GOTO 5320
5360 GOTO 5330
5370 REM ***PRODUCTIVE VALUE SECTION***
5375 CLS : PRINT " PRODUCTIVE VALUE"
5380 PRINT " ----------------"
5390 PRINT : PRINT "OPPORTUNITY COST OF MONEY = % ";B(1)
5400 PRINT "OWNERSHIP PERIOD IN YEARS = ";B(2)
5410 PRINT "TOTAL ACRES(INCL. LAND PUR.)= ";B(3)
5420 FOR I=1 TO 3
5422 IF B(1) <=0 THEN B(1)=1
5424 IF B(3) <=0 THEN B(3)=1
5425 S6$= STR$(B(I)):S1=I+3:S2=31:S3=1
5428 IF I=1 THEN S4=1:S5=100:S9=5
5430 IF I=2 THEN S4=0:S5=100:S9=7
5435 IF I=3 THEN S4=0.1:S5=1000000!:S9=8
5440 GOSUB 9
5450 B(I)=S
5460 NEXT I
5465 PRINT
5470 C(3)=B(2):C(5)=B(1):E(2)=B(3)
5480 GOSUB 7100
5490 GOSUB 7200
5510 PRINT : PRINT " RETURN TO LAND"
5520 PRINT "PV=--------------------*CAP. FACTOR"
5530 PRINT " TOTAL ACRES IN FARM"
5550 PRINT : PRINT : PRINT " "A2
5560 PRINT "PV=----------*";CF;" ="PV
5570 PRINT " "B(3)
5575 PRINT
5580 PRINT "CHANGE DATA Y/N MENU M OR PRINT P?";
5585 S6$=" ":S1=18:S2=36:S3=2:S9=1: GOSUB 9
5590 IF S$="Y" GOTO 5370
5595 IF S$="M" GOTO 6610
5600 IF S$="N" THEN 5630
5610 IF S$ <> "P" GOTO 5620
5612 S2=1: GOSUB 24: PRINT SPACE$( 37): CALL PRTSCR
5614 GOSUB 24: GOTO 5580
5620 GOTO 5585
5630 REM ***ECONOMIC VALUE SECTION***
5635 CLS : PRINT " ECONOMIC VALUE": PRINT
5637 IF C(5) <=0 THEN C(5)=1
5640 PRINT " <P.V. FUTURE CAP. GAIN (AFTER TAX)>": PRINT
5650 PRINT "CURRENT MARKET LAND VALUE/AC=$ ";C(1)
5660 PRINT "RATE OF INFLATION...........=% ";C(2)
5670 PRINT "OWNERSHIP PERIOD IN YEARS...= ";C(3)
5680 PRINT "MARGINAL TAX RATE...........=% ";C(4)
5690 PRINT "OPPORTUNITY COST OF MONEY...=% ";C(5)
5700 PRINT : PRINT " <P.V. ADD. BORROWING POWER>": PRINT
5710 PRINT "LEVERAGE....................=% ";C(6)
5720 PRINT "% OF ADD. EQUITY THAT CAN"
5730 PRINT "BE BORROWED.................=% ";C(7)
5740 S6$= STR$(C(1)):S1=5:S2=32:S3=1:S4=0:S5=10000:S9=7: GOSUB 9:C(1)=S
5742 S6$= STR$(C(2)):S1=6:S4=0:S5=100:S9=5: GOSUB 9:C(2)=S
5744 S6$= STR$(C(3)):S1=7:S4=0.1:S5=100:S9=7: GOSUB 9:C(3)=S
5746 S6$= STR$(C(4)):S1=8:S4=0:S5=100:S9=5: GOSUB 9:C(4)=S
5748 S6$= STR$(C(5)):S1=9:S4=1: GOSUB 9:C(5)=S
5750 S6$= STR$(C(6)):S1=13:S4=0: GOSUB 9:C(6)=S
5752 S6$= STR$(C(7)):S1=15: GOSUB 9:C(7)=S
5810 B(2)=C(3):B(1)=C(5)
5820 GOSUB 7100
5830 GOSUB 7200
5840 GOSUB 7300
5870 PRINT : PRINT : PRINT "EV= PROD. VALUE+P.V. CAP. GAIN"
5880 PRINT " +P.V. BORR. POWER"
5900 PRINT : PRINT "EV="PV"+"CG"+"BP"="EV
5905 PRINT
5910 PRINT "CHANGE DATA Y/N MENU M OR PRINT P?";
5920 S6$="":S1=23:S2=36:S3=2:S9=1: GOSUB 9
5930 IF S$="Y" GOTO 5630
5932 IF S$="N" GOTO 5960
5934 IF S$="M" GOTO 6610
5940 IF S$ <> "P" GOTO 5950
5942 S2=1: GOSUB 24: PRINT SPC( 37): CALL PRTSCR
5944 GOSUB 24: GOTO 5910
5950 GOTO 5920
5960 CLS : RESTORE : REM CASHFLOW
5970 FOR I=1 TO 11: IF I=2 THEN PRINT
5980 IF I > 1 THEN PRINT " ";
5990 READ A$: PRINT A$;: PRINT TAB( 29);D(I): NEXT I
6000 PRINT "FAMILY LIVING EXPENSE.....=$";D(12)
6010 PRINT "PRIN. & INT. ON EXISTING "
6020 PRINT " CAPITAL LOANS.........=$";D(13)
6030 PRINT "DEPRECIATION..............=$";D(14)
6040 PRINT "INCOME TAX PAYABLE........=$";D(15)
6050 PRINT "ADD. CASH TO FARM NEW LAND=$";D(16)
6060 PRINT "ALLOWANCE FOR RISK........=$";D(17)
6070 B1=0:S1=0
6080 FOR I=1 TO 17: IF I=2 OR I=13 THEN PRINT :S1=S1+1
6090 S6$= STR$(D(I)):S1=S1+1:S2=29:S3=1:S4=0:S5=99999999#:S9=11: GOSUB 9
6100 D(I)=S
6110 IF I < 12 THEN A(I)=D(I)
6120 NEXT I
6130 A(12)=D(14):A(15)=D(15)
6140 GOSUB 7400
6160 PRINT " ======="
6170 PRINT " TOTAL EXPENSES.......=$"B1
6190 PRINT "CASH FLOW AVAILABLE.......=$"B2
6200 PRINT "CHANGE DATA Y/N MENU M OR PRINT P?";
6205 S6$="":S1=23:S2=36:S3=2:S9=1: GOSUB 9
6210 IF S$="Y" GOTO 5960
6215 IF S$="N" GOTO 6240
6220 IF S$="M" GOTO 6610
6225 IF S$ <> "P" GOTO 6234
6230 S2=1: GOSUB 24: PRINT SPC( 37): CALL PRTSCR
6232 GOSUB 24: GOTO 6200
6234 GOTO 6205
6240 CLS : PRINT "BID PRICE:": REM BID PRICE SECTION
6242 IF E(1) <=0 THEN E(1)=1
6243 IF E(2) <=0 THEN E(2)=1
6244 IF E(3) <=0 THEN E(3)=1
6250 PRINT " ACRES IN LAND PURCHASE..=";E(1)
6260 PRINT " TOTAL ACRES IN FARM.....=";E(2)
6270 PRINT " MORTGAGE RATE (%).......=";E(3)
6280 PRINT " MORTGAGE TERM YRS.......=";E(4)
6290 PRINT " CASH DOWN PAYMENT<$/AC>.=";E(5)
6300 S1=1
6310 FOR I=1 TO 5
6320 S6$= STR$(E(I)):S1=S1+1:S2=29:S3=1:S4=0.1:S5=10000:S9=8
6322 IF I=3 THEN S5=100:S9=5
6323 IF I=4 THEN S4=0:S5=100:S9=5
6324 IF I=5 THEN S4=0:S5=99999999#:S9=11
6330 GOSUB 9:E(I)=S
6340 NEXT I
6345 B(3)=E(2)
6350 GOSUB 7400
6360 GOSUB 7500
6390 PRINT : PRINT " TOTAL CASH"
6400 PRINT "BID PRICE =-----------*CAP. FACTOR"
6410 PRINT " ACRES "
6420 PRINT : PRINT " "B2
6430 PRINT "SUBSID- =----------* " INT(C1*1000+0.5)/1000"= "BS
6440 PRINT " "E(1)
6450 PRINT " +"E(5)"= "E(5)+BS
6460 PRINT TAB( 28)"========"
6470 PRINT : PRINT " "B2
6480 PRINT "NON-SUBSID.=---------*" INT(C1*1000+0.5)/1000"= "NB
6490 PRINT " "E(2)
6500 PRINT " +"E(5)"= "E(5)+NB
6510 PRINT TAB( 28)"========"
6520 PRINT "CHANGE DATA Y/N MENU M OR PRINT P?";
6525 S6$="":S1=23:S2=36:S3=2:S9=1: GOSUB 9
6530 IF S$="Y" GOTO 6240
6535 IF S$="N" GOTO 6557
6540 IF S$="M" GOTO 6610
6545 IF S$ <> "P" GOTO 6525
6550 S2=1: GOSUB 24: PRINT SPC( 37): CALL PRTSCR
6555 GOSUB 24: GOTO 6520
6557 GOTO 6610
6560 END
6610 REM **THE MENU **
6620 CLS : PRINT
6630 PRINT " ENTER: FOR:
6640 PRINT " 1 > RETURN TO LAND"
6650 PRINT " 2 > PRODUCTIVE VALUE"
6660 PRINT " 3 > ECONOMIC VALUE"
6670 PRINT " 4 > CASH FLOW AVAILABLE"
6680 PRINT " 5 > BID PRICE:"
6690 PRINT " 6 > TO QUIT"
6700 PRINT " WHICH SECTION?";
6710 S6$=" ":S1=9:S2=18:S3=1:S4=1:S5=6:S9=2: GOSUB 9
6720 IF S=1 THEN RESTORE : GOTO 5160
6730 IF S=2 THEN 5370
6740 IF S=3 THEN 5630
6750 IF S=4 THEN RESTORE : GOTO 5960
6760 IF S=5 THEN 6240
6770 IF S=6 GOTO 100
6780 GOTO 6710
6810 CLS : PRINT : PRINT " LAND PURCHASE DECISIONS"
6815 PRINT : PRINT " <LAST REVISED FEB 8,1983>"
6817 PRINT : PRINT : PRINT
6820 PRINT "THIS PROGRAM IS DESIGNED TO BE USED WITH"
6822 PRINT "THE MANUAL 'LAND PURCHASE DECISION`"
6825 PRINT "PACKAGE OF THE FARM BUSINESS MANAGEMENT"
6830 PRINT "BRANCH, ALBERTA AGRICULTURE"
6840 PRINT
6850 PRINT "FOR FURTHER INFORMATION ON THE PROGRAMM-"
6855 PRINT "ING OF THIS MODEL CONTACT:"
6860 PRINT : PRINT "ALBERTA AGRICULTURE"
6870 PRINT "FARM BUSINESS MANAGEMENT BRANCH"
6880 PRINT "BOX 2000"
6890 PRINT "OLDS,ALTA. PH:556-4240"
6910 GOSUB 300
6920 RETURN
6930 CLS : PRINT " THE PROGRAM IS DIVIDED INTO FIVE"
6935 PRINT " SECTIONS AS FOLLOWS:"
6940 PRINT : PRINT " LAND'S VALUE AS AN INVESTMENT:"
6950 PRINT " 1. RETURN TO LAND"
6960 PRINT " 2. PRODUCTIVE VALUE OF LAND"
6970 PRINT " 3. ECONOMIC VALUE OF LAND"
6980 PRINT " BID PRICE BASED ON ABILITY TO PAY:"
6990 PRINT " 4. CASH AVAILABLE FOR DEBT SERVICING"
7000 PRINT " 5.- OWNED LAND SUBSIDIZES NEW LAND"
7010 PRINT " -NEW LAND PAYS FOR ITSELF"
7020 PRINT : PRINT "** USE THE FOLLOWING CODES FOR ACCESSING THE APPROPRIATE SECTIONS:**"
7021 PRINT : PRINT " ENTER: FOR:
7022 PRINT " 1 > RETURN TO LAND"
7023 PRINT " 2 > PRODUCTIVE VALUE"
7024 PRINT " 3 > ECONOMIC VALUE"
7025 PRINT " 4 > CASH FLOW AVAILABLE"
7026 PRINT " 5 > BID PRICE:"
7027 PRINT " 6 > TO QUIT"
7030 GOSUB 300
7040 RETURN
7100 REM **CALCS FOR RETURN TO LAND**
7105 A1=0
7110 FOR I=2 TO 15:A1=A1+A(I): NEXT I
7120 A2=A(1)-A1
7130 RETURN
7200 REM **CALCS FOR PROD VALUE**
7210 CF=(1-(1/(1+(B(1)/100))^B(2)))/(B(1)/100)
7215 IF B(3) <=0 THEN B(3)=1
7220 PV=(A2/B(3))*CF
7230 CF= INT(CF*1000+0.5)/1000:PV= INT(PV*100+0.5)/100
7240 RETURN
7300 REM **CALCS FOR ECONOMIC VALUE**
7310 PS=C(1)*(1+C(2)/100)^C(3)
7320 BT=PS-C(1)
7330 XT=BT-((BT/2)*C(4)/100)
7340 CG=XT*((1/(1+C(5)/100)^C(3)))
7350 BP=(BT*C(7)/100)*(C(6)/100)*(1/(1+C(5)/100)^C(3))
7360 EV=PV+CG+BP
7370 CG=INT(CG*100+0.5)/100:BP=INT(BP*100+0.5)/100:EV=INT(EV*100+0.5)/100
7380 RETURN
7400 REM **CALCS FOR CASHFLOW**
7410 B1=0
7420 FOR I=2 TO 17:B1=B1+D(I): NEXT I
7430 B2=D(1)-B1
7440 RETURN
7500 REM **CALCS FOR BID PRICES**
7510 C1=((1-(1/(1+E(3)/100)^E(4)))*(1/(E(3)/100)))
7520 BS=INT((B2/E(1))*C1*100+0.5)/100
7530 NB=INT((B2/E(2))*C1*100+0.5)/100
7540 RETURN
8000 DATA "GROSS RECEIPTS........","FUEL & LUB.",REPAIRS,"HIRED LABOUR"
8010 DATA MATERIALS,UTILITIES,INSURANCE,"LAND TAXES","INT. ON OPERATING CAP."
8020 DATA "RENT(INCL. LAND)",OTHER,DEPRECIATION,"INT. ON CAP. INVESTMENT"
8030 DATA "OPERATOR LABOUR & MGNT.","INCOME TAX PAYABLE"
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,4
60430 PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,22:PRINT"FARM BUSINESS MANAGEMENT BRANCH"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM ** LOAN CALCULATOR PROGRAM **
2 REM ** ORIGINALLY WRITTEN BY **
3 REM ** ROGER KEAY OF BC MINISTRY **
4 REM ** OF AGRICULTURE AND FOOD **
5 REM ** KAMLOOPS BC (604) 374-3614 **
6 REM ** ADAPTED TO ADA STANDARDS **
7 REM ** REVISED AUGUST 24, 1984 **
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN 100
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
100 CLS:PRINT" LOADING MENU...":RUN "HELLO.BAS"
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
220 REM **** GENERAL NUMBER FORMATTER SUBROUTINE ****
221 S7=10^S5
222 IF S3=0 THEN S3$=RIGHT$(" 0",S4-S5-1)+LEFT$(".0000",S5+1):GOTO 229
223 S6=INT(S3*S7+0.5)/S7
224 S3$=STR$(S6+SGN(S6)*0.1/S7)
225 S6=LEN(S3$)
226 S3$=LEFT$(S3$,S6-1)
227 IF S6=S4+1 THEN 229
228 S3$=LEFT$(" ",S4+1-S6)+S3$
229 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM ** LOAN CALCULATOR PROGRAM **
5001 DEF SEG=0:POKE 1047,96:REM shift lock on cursor off
5002 DEFDBL A,B,C,I,P,R,T
5005 GOSUB 60000:GOSUB 62000
5080 CLS: GOSUB 8010: REM DATA FOR ARRAYS
5190 K = 0: ZZ=0: CLS: S1=3: S2=10 : GOSUB 24: PRINT "LOAN CALCULATOR"
5195 PRINT " AUGUST, 1984"
5200 PRINT : PRINT : PRINT "THIS PROGRAM WILL CALCULATE ANY ONE"
5210 PRINT " OF THE FOLLOWING": PRINT : PRINT
5215 REM PAINT SCREEN FOR SELECTION OF CALCULATION
5220 FOR X = 1 TO 4
5230 PRINT TAB( 5);:COLOR 0,7:PRINT X;:COLOR 7,0:PRINT " ";A$(X): PRINT
5240 NEXT X
5250 FOR X = 1 TO 6
5260 A(X) = 0
5270 NEXT X
5280 PRINT : PRINT
5290 PRINT "ENTER THE OPTION NO."
5300 S1 = 21: S2= 26: S3= 1: S4=1:S5=4:S9=1:S6$="4":GOSUB 9: A=S
5305 CLS:PRINT"IS THE LOAN AMORTIZED OR":PRINT"NON-AMORTIZED? (A/N) ":S1=2:S2=22:S3=2:S9=1:S6$="A":GOSUB 9:AM$=S$
5306 IF AM$<>"A" AND AM$<>"N" THEN 5305
5308 IF AM$="N" THEN S1=14:S2=1:GOSUB 24:COLOR 0,7:PRINT "NOTE: IN A NON-AMORTIZED LOAN, THE ":PRINT "COMPOUNDING PERIOD IS ASSUMED TO BE THE":PRINT "SAME AS THE NUMBER OF PAYMENTS PER YEAR":COLOR 7,0:GOSUB 300
5310 CLS : PRINT : PRINT "PLEASE ENTER THE FOLLOWING INFORMATION:": PRINT
5312 S3=1
5315 REM DATA ENTRY DEPENDING ON SELECTION FOR CALCULATION
5320 ON A GOTO 5330,5360,5390,5420
5330 PRINT A$(2);" = ": PRINT
5340 PRINT A$(3);" = ": PRINT
5350 PRINT A$(4);" = ": PRINT: GOTO 5450
5360 PRINT A$(1);" = ": PRINT
5370 PRINT A$(3);" = ": PRINT
5380 PRINT A$(4);" = ": PRINT : GOTO 5450
5390 PRINT A$(1);" = ": PRINT
5400 PRINT A$(2);" = ": PRINT
5410 PRINT A$(4);" = ": PRINT : GOTO 5450
5420 PRINT A$(1);" = ": PRINT
5430 PRINT A$(2);" = ": PRINT
5440 PRINT A$(3);" = ": PRINT
5450 PRINT A$(5);" = ": PRINT
5453 IF AM$="A" THEN PRINT A$(6);" =":GOTO 5457
5457 REM DATA ENTRY DEPENDING ON CALCULATION SELECTION
5458 ON A GOTO 5460,5490,5520,5550
5460 S1 = 4:S2=20:S4=0.08329999:S5=40:S9=5:S6$="5":GOSUB 9:A(2)=S
5470 S1 = 6:S4=1:S5=35:S9=6:S6$="14":GOSUB 9:A(3)=S
5480 S1 = 8:S5=1000000!:S9=9:S6$="232.68":GOSUB 9:A(4)=S:GOTO 5580
5490 S1 = 4:S2=20:S5=9000000#:S9=9:S6$="10000":GOSUB 9:A(1)=S
5500 S1 = 6:S5=35:S9=6:S6$="14":GOSUB 9:A(3)=S
5510 S1 = 8:S5=1000000!:S9=9:S6$="400":GOSUB 9:A(4)=S:GOTO 5580
5520 S1 = 4:S2=20:S5=9000000#:S9=9:S6$="10000":GOSUB 9:A(1)=S
5530 S1 = 6:S5=40:S9=5:S4=0.08329999:S6$="5":GOSUB 9:A(2)=S
5540 S1 = 8:S4=1:S5=1000000!:S9=8:S6$="232.68":GOSUB 9:A(4)=S:GOTO 5580
5550 S1 = 4:S2=20:S5=9000000#:S9=9:S6$="10000":GOSUB 9:A(1)=S
5560 S1 = 6:S4=0.08329999:S5=40:S9=5:S6$="5":GOSUB 9:A(2)=S
5570 S1 = 8:S4=1:S5=35:S9=6:S6$="14":GOSUB 9:A(3)=S
5580 S1 =10:S2=21:S5=26:S9=2:S6$="12":GOSUB 9:A(5)=S
5590 IF AM$="A" THEN S1 = 12:S2=38:S6$="2": GOSUB 9:A(6)=S:GOTO 5600
5595 A(6)=A(5)
5600 CLS : IF A(6) > A(5) THEN A(6) = A(5): REM MAKE SURE THE NO. OF COMPOUNDING PERIODS ARE NOT GREATER THAN THE NUMBER OF PAYMENTS
5605 REM PAINT SCREEN FOR CORRECTION OR CHANGE ROUTINE
5610 PRINT TAB( 6);"DO YOU WISH TO CHANGE ANY OF THE"
5615 PRINT" FOLLOWING?":PRINT
5616 IF AM$="N" THEN J=5:GOTO 5620
5618 J=6
5620 FOR X = 1 TO J
5625 TA=A(X):IF X=4 THEN TA=INT(TA*100)/100
5630 COLOR 0,7:PRINT X;:COLOR 7,0:PRINT"-";A$(X) TAB( 25);"= ";: IF A(X) = 0 THEN PRINT " CALCULATION": PRINT:GOTO 5650
5640 PRINT TA: PRINT
5650 NEXT X
5660 X=0:COLOR 0,7:PRINT X;:COLOR 7,0:PRINT"-PROCEED WITH CALCULATION": PRINT
5670 S1=20: S2=1:GOSUB 24: PRINT "TO CHANGE A VALUE, ENTER ITS LINE":PRINT"NUMBER. ENTER 0 TO PROCEED"
5675 GOSUB 9100: REM CHECK FOR THE NUMBER OF CALCULATIONS REQUESTED
5676 IF AM$="N" THEN S5=5:GOTO 5680
5678 S5=6
5680 S1=21:S2=30:S3=1:S4=0:S9=1:S6$="0":GOSUB 9:S1=20:S2=1:GOSUB 24:PRINT SPACE$(39);:S1=21:GOSUB 24:PRINT SPACE$(39);:X=S:IF X=0 THEN GOTO 5800
5682 REM INPUT FOR CORRECTION OR CHANGE ROUTINE
5685 S2=27
5690 ON X GOTO 5700,5710,5720,5730,5740,5750
5700 S1=4:S5=9000000#:S9=9: GOSUB 9030:S6$=STR$(A(1)):GOSUB 9:A(1)=S:GOSUB 9000:GOTO 5670
5710 S1=6:S5=35:S9=5: GOSUB 9030:S6$=STR$(A(2)):GOSUB 9:A(2)=S:GOSUB 9000:GOTO 5670
5720 S1=8:S5=35:S9=6: GOSUB 9030:S6$=STR$(A(3)):GOSUB 9:A(3)=S:GOSUB 9000:GOTO 5670
5730 S1=10:S5=9000000!:S9=9: GOSUB 9030:S6$=STR$(INT(A(4)*100+0.5)/100):GOSUB 9:A(4)=S:GOSUB 9000:GOTO 5670
5740 S1=12: S2=27: S3=1: S4=1: S5=26: S9=2: S6$=STR$(A(5)):GOSUB 9:A(5)=S:IF A(6) > A(5) AND AM$="A" THEN A(6)=A(5):GOTO 5750
5745 GOTO 5670
5750 S1=15: S2=27: S3=1: S4=1: S5=26: S9=2: S6$=STR$(A(6)):GOSUB 9:A(6)=S
5755 GOTO 5670
5760 A(6)=A(5)
5800 IF Z>1 THEN S2$="ONLY ONE CALCULATION":S1$="":GOSUB 78: GOTO 5670: REM ERROR MESSAGE FOR MORE THAN ONE CALCULATION
5801 IF AM$="N" THEN A(6)=A(5)
5803 REM INPUT ARRAYS CHANGED TO VARIABLES TO SIMPLIFY FORMULAS
5805 P = A(1):Y = A(2):I = A(3):R = INT (A(4) * 100 + 0.5) / 100:N = A(5):C=A(6)
5810 T = INT ((N * Y) + 0.9):Y = T / N
5820 IF I = 0 THEN 5850
5830 I = I / 100
5835 REM INTEREST RATE CHANGED TO EFFECTIVE INTEREST RATE IF MORE THAN ONE PAYMENT PER YEAR
5840 IF N > 1 THEN I = ((1 + I / C) ^ (1 / (N / C)) - 1) * N
5850 IF R = 0 THEN Z = 1
5860 IF P = 0 THEN Z = 2
5870 IF Y = 0 THEN Z = 3
5880 IF I = 0 THEN Z = 4
5890 K = 1:IF AM$="A" THEN GOTO 5900
5895 IF Z=1 THEN RP=P/T:SM=0:FOR J=1 TO (T-1):SM=SM+J:NEXT J
5900 ON Z GOTO 5907,5937,5970,5995
5905 REM CALCULATION OF PAYMENT
5907 IF AM$="N" THEN R=P/T+P*I/N:GOTO 5920
5910 R = (I * P / N) / (1 - 1 / (I / N + 1) ^ (N * Y)):R = INT (R * 100 +0.5)/100:
5920 GOSUB 9050: PRINT " ";A$(4);" =$ ";:PRINT USING "########.##";R
5930 GOTO 6150
5935 REM CALCULATION OF AMOUNT BORROWED
5937 IF AM$="N" THEN P=R/(1/T+I/N):PRINT:GOTO 5950
5940 P = R * N * (1 - 1 / (I / N + 1) ^ (N * Y)) / I: PRINT
5950 GOSUB 9050:PRINT " PRINCIPAL= $ ";:PRINT INT(P*100+0.5)/100
5960 GOTO 6150
5965 REM CALCULATION OF TERM
5970 IF ((P*I)/(N*R))=>1 THEN GOSUB 9300: GOTO 5600: REM ERROR MESSAGE IF PAYMENT ENTERED WILL NOT COVER INTEREST AND PRINCIPAL
5972 IF AM$="N" THEN Y=1/((R-I/N*P)/P)/N:IF (INT(Y)+1-Y)<(1/12) THEN Y=INT(Y)+1:TF=1
5973 IF AM$="N" THEN GOTO 5980
5975 Y = - ( LOG (1 - (P * I) / (N * R)) / ( LOG (1 + I / N) * N))
5977 IF (Y-INT(Y))>=0.95 THEN Y=INT(Y)+1
5980 GOSUB 9050: PRINT " TERM IS "; INT (Y);" YEAR(S), "; INT ((Y -INT (Y))*12+0.5);" MONTH(S)"
5990 GOTO 6150
5995 REM CALCULATES INTEREST RATE
5996 IF R*N*Y<P THEN GOSUB 9300:GOTO 5600
5997 IF AM$="N" THEN I=(R-P/T)/P*N:GOTO 6130
6000 I = 1
6010 I2 = 0
6020 R1 = (I * P / N) / (1 - 1 / (I / N + 1) ^ (N * Y))
6030 R1 = INT (R1 * 10000 + 0.5) / 10000
6040 I3 = ABS (I - I2) / 2
6050 I2 = I
6060 IF R1 = R THEN 6120
6070 IF R1 > R THEN 6100
6080 I = I + I3
6090 GOTO 6020
6100 I = I - I3
6110 GOTO 6020
6120 I = I
6130 GOSUB 9050: PRINT " INTEREST RATE(%) = ";
6140 PRINT INT(C * ((I/N+1)^(N / C) - 1) * 10000 + 0.5) / 100
6150 GOSUB 300:IF AM$="A" THEN GOTO 6160
6153 IF TF=1 THEN RP=R-(P*I)/N:GOTO 6160
6157 RP=P/Y/N
6160 GOTO 9400: REM OPTIONS MENU
6170 REM *** PAINT SCREEN FOR PAYMENT SCHEDULES ***
6171 IF A=2 THEN CLS:GOTO 6174
6173 CLS: PRINT " LOAN REPAYMENT SCHEDULE"
6174 IF N=<12 GOTO 6180
6175 S1=4: S2=1: GOSUB 24: PRINT "ENTER THE NUMBER OF PAYMENTS LEFT IN"
6176 S1=5:PRINT"THE YEAR : ":GOTO 6190
6180 S1=5:S2=1:GOSUB 24: PRINT "WHEN DO PAYMENTS START? (MONTH (1-12)"
6190 S1=6: S2=18: GOSUB 24: PRINT "YEAR (I.E. 1984)? "
6200 PRINT : PRINT "DO YOU WANT A HARD COPY?"
6202 IF A=2 THEN GOTO 6206
6205 IF Y * N > 60 THEN PRINT : PRINT "DO YOU WISH TO HAVE THE COMPLETE":PRINT "SCHEDULE FOR "INT(Y*N)" PAYMENTS "
6206 REM *** INPUT FOR PAYMENT SCHEDULE ***
6207 IF N=<12 GOTO 6213
6209 S1=5: S2=13: S3=1: S4=1: S5=26: S9=2: S6$=STR$(N): GOSUB 9: PL=S
6211 D=12-(12*PL/N)+12/N: GOTO 6215
6213 S1=5: S2=39: S3=1: S4=1: S5=12: S9=2: S6$="1": GOSUB 9: D=S
6215 S1=6: S2=36: S4=1: S5=2000: S9=4: S6$="1984": GOSUB 9: YY=S:TY=S
6220 S1=8: S2=26: S3=3: S9=1: S6$="N": GOSUB 9: C$=S$
6222 IF A=2 THEN GOTO 6230
6225 IF Y * N > 60 THEN S1=11: S2=34:GOSUB 9: M$=S$
6230 S1=13: S2=10:GOSUB 24: PRINT"ANY CHANGES "
6232 S2=23: S3=3: S6$="N": GOSUB 9: A$=S$: IF A$="Y" GOTO 6207
6240 S1=15: S2=8: GOSUB 24: COLOR 31,0,0:PRINT "BE WITH YOU IN A MINUTE":COLOR 7,0,0
6250 REM *** CALCULATION ***
6260 BO = P:IT = 0:PT = 0:F = 1:E=0:FOR J=1 TO Y:AP(J)=0:AI(J)=0:NEXT J:L=INT(N*Y)
6265 REM 6290 MAKES THE FINAL PAYMENT EQUAL TO THE BALANCE OUTSTANDING
6267 IF AM$="N" THEN GOSUB 9600:GOTO 6330:REM CALCULATION FOR NON-AMORTIZED
6270 FOR J = 1 TO L
6280 I(J,1) = INT ((BO * I / N) * 100 + 0.5) / 100
6290 IF J = L THEN I(J,2) = BO:GOTO 6310
6300 I(J,2) = R - I(J,1)
6310 I(J,3) = BO - I(J,2):IF I(J,3)<0 THEN I(J,3)=0
6315 BO=I(J,3)
6320 NEXT J
6330 IF A=1 THEN CLS
6335 IF C$="Y" THEN 7000: REM TO PRINTER ROUTINE
6338 REM *** SCREEN OUTPUT ***
6339 IF A=2 THEN GOTO 6447
6340 S1=3:S2=5:GOSUB 24: IF AM$="A" THEN PRINT "LOAN AMORTIZATION SCHEDULE":GOTO 6360
6350 PRINT "NON-AMORTIZED LOAN SCHEDULE"
6360 PRINT "AMOUNT BORROWED =$"; INT (P * 100 + 0.5) / 100
6363 IF AM$="A" THEN 6368
6365 PRINT "FIRST PAYMENT =$";:GOTO 6370
6368 PRINT "REGULAR PAYMENT =$";
6370 PRINT USING "#######.##";R
6380 PRINT "TERM = "; INT (Y);" YEARS, ";
6390 PRINT INT((Y -INT(Y)+0.5) * 12);" MONTHS"
6400 PRINT "INTEREST RATE(%)="; INT (C * ((I / N + 1) ^ (N / C) - 1)*10000+0.5)/100
6410 PRINT "PAYMENTS / YEAR =";N
6420 PRINT "INTEREST COMPOUNDED ";C;" TIMES PER YEAR"
6425 GOSUB 300
6430 CLS: PRINT " YEAR"
6432 PRINT "PMT ";:COLOR 0,7:PRINT YY;:COLOR 7,0
6434 IF AM$="A" THEN GOTO 6440
6436 PRINT " INTEREST PERIOD CLOSING"
6438 PRINT " NO. DATE PMT BALANCE":GOTO 6444
6440 PRINT " INTEREST PRINCIPAL"
6442 PRINT " NO. DATE DUE OUTSTANDING"
6444 PRINT "---------------------------------------"
6445 IF E=1 THEN RETURN
6447 LC=0:YC=1
6450 FOR J = 1 TO L
6460 IF A=2 THEN GOTO 6530
6470 PRINT USING "###";J;
6480 IF N > 12 THEN PRINT " ";: GOTO 6500
6490 PRINT " "; MO$(D);
6500 PRINT USING " ########.##";I(J,1);
6510 PRINT USING " ########.##";I(J,2);
6520 PRINT USING " #######";I(J,3)
6525 LC=LC+1
6530 AI(YC)= AI(YC) + I(J,1):AP(YC) = AP(YC) + I(J,2):IT = IT + I(J,1):PT = PT + I(J,2)
6540 D = D + (12 / N)
6542 IF A=1 THEN GOTO 6550
6544 IF D>12 OR J=L THEN YC=YC+1
6546 IF J=L THEN GOTO 6660
6548 IF D>12 THEN D=D-12:YY=YY+1
6549 GOTO 6640
6550 IF D>12 OR J=L THEN S1=19:S2=1:GOSUB 24:PRINT "TOTAL";:PRINT USING " ########.##";AI(YC);:PRINT USING " ########.##";AP(YC): YC=YC+1
6555 IF (D>12 OR J=L) AND AM$="N" THEN S1=21:S2=1:GOSUB 24:PRINT "PRINCIPAL PMT PER PERIOD = $ ";:COLOR 0,7:PRINT USING "#######.##";RP:COLOR 7,0
6560 IF J=L THEN GOSUB 300:GOTO 6660
6590 IF M$="Y" THEN 6620
6600 IF J = 60 AND L>60 THEN GOSUB 300:GOTO 9400: REM QUIT AFTER 60 PAYMENTS
6620 IF D>12 AND J<L THEN S1=23:S2=1:GOSUB 24:PRINT"CONTINUE WITH SCHEDULE? (Y/N)";:S2=33:S3=3:S6$="Y":S9=1:GOSUB 9:IF S$="N" THEN GOTO 9400
6625 IF D>12 THEN D=D-12:YY=YY+1:LC=0:F=1:E=1:GOSUB 6430:GOTO 6640
6630 IF LC>11 AND J<L THEN LC=0:GOSUB 300:E=1:GOSUB 6430:E=0
6640 NEXT J
6660 CLS:REM YEARLY SUMMARY
6662 TP=P:YY=TY
6665 FOR J=1 TO YC-1
6667 IF J=1 THEN GOSUB 9700:GOTO 6680
6670 IF (J-1)/12=INT((J-1)/12) THEN GOSUB 300:GOSUB 9700:REM HEADING FOR REPORT
6680 PRINT YY+J-1;:PRINT USING " ########.##";AI(J);:PRINT USING " ########.##";AP(J);
6685 IF AM$="A" THEN TP=TP-AP(J):GOTO 6695
6690 TP=TP-(AP(J)-AI(J))
6695 IF TP<0 THEN TP=0
6696 PRINT USING " #######";INT(TP)
6700 NEXT J
6705 S1=20:S2=1:GOSUB 24:PRINT "TOTAL";:PRINT USING " ########.##";IT;:PRINT USING " ########.##";PT
6740 E = 1: GOSUB 6750:E = 0: GOTO 9400
6750 GOSUB 300:IF E=1 THEN RETURN
7000 REM *** PRINTER ROUTINE ***
7010 REM *** PRINTER ROUTINE ***
7020 REM *** PRINTER ROUTINE ***
7025 IF A=2 THEN GOTO 7107
7030 LPRINT:LPRINT:LPRINT:IF AM$="A" THEN LPRINT TAB(27) "LOAN AMORTIZATION SCHEDULE":GOTO 7040
7035 LPRINT TAB(27) "NON-AMORTIZED LOAN SCHEDULE"
7040 LPRINT:LPRINT TAB(5) "AMOUNT BORROWED ";:LPRINT USING " #######.##";P;:
7050 IF AM$="A" THEN LPRINT SPACE$(10) "REGULAR PAYMENT ";:GOTO 7057
7053 LPRINT SPACE$(10) "FIRST PAYMENT ";
7057 LPRINT USING " #######.##";R
7060 LPRINT SPACE$(4) "TERM ";:LPRINT USING "##";INT(Y);:LPRINT" YEARS, ";:LPRINT USING "##";INT((Y-INT(Y))*12+0.5);:LPRINT" MONTHS";
7070 LPRINT SPACE$(10) "INTEREST RATE % ";:LPRINT USING "##.##";C*((I/N+1)^(N/C)-1)*100
7080 LPRINT SPACE$(4) "PAYMENTS PER YEAR ";:LPRINT USING "##";N;:LPRINT SPACE$(13) "INTEREST COMPOUNDED ";:LPRINT USING "##";C;:LPRINT " TIMES PER YEAR"
7081 IF A=2 THEN GOTO 7107
7083 LPRINT:LPRINT:LPRINT
7085 LPRINT TAB(5) "PMT DATE OPENING PERIOD INTEREST PRINCIPAL CLOSING"
7090 LPRINT TAB(5) " BALANCE PAYMENT PAYMENT PAYMENT BALANCE"
7100 LPRINT TAB(5) "--- ---- ------- ----------- ----------- ----------- ---------"
7105 IF E=1 THEN RETURN
7107 YC=1
7110 FOR J = 1 TO L
7115 AI(YC) = AI(YC) + I(J,1):AP(YC) = AP(YC) + I(J,2):IT = IT + I(J,1):PT = PT + I(J,2)
7116 IF A=1 THEN GOTO 7120
7117 D=D+(12/N):IF (D>12 AND N>1) OR J=L THEN YC=YC+1
7119 GOTO 7260
7120 IF F = 1 THEN LPRINT " YEAR";YY:F = 0
7130 LPRINT SPACE$ (4);:LPRINT USING " ###";J;
7140 IF N > 12 THEN LPRINT SPACE$(5);:GOTO 7151
7150 LPRINT " "; MO$(D);
7151 IF J=1 THEN LPRINT USING " #######.##";P;:GOTO 7153
7152 LPRINT USING " #######.##";I(J-1,3);
7153 IF AM$="A" THEN GOTO 7160
7154 LPRINT USING " ########.##";I(J,2);
7155 LPRINT USING " ########.##";I(J,1);
7156 LPRINT USING " ########.##";I(J,2)-I(J,1);
7157 GOTO 7200
7160 LPRINT USING " ########.##";I(J,1)+I(J,2);
7170 LPRINT USING " ########.##";I(J,1);
7180 LPRINT USING " ########.##";I(J,2);
7200 LPRINT USING " #######.##";I(J,3)
7210 D = D + (12 / N)
7215 IF (D<=12 OR N<=1) AND J<>L THEN 7230
7220 LPRINT: LPRINT SPACE$(4) "TOTAL YEAR";:IF AM$="A" THEN LPRINT TAB(42);:LPRINT USING " ########.##";AI(YC);:LPRINT USING " ########.##";AP(YC):GOTO 7228
7225 LPRINT TAB(28);:LPRINT USING " ########.##";AP(YC);:LPRINT USING " ########.##";AI(YC)
7228 LPRINT:LPRINT:LPRINT:YC=YC+1
7230 IF M$="Y" THEN 7260
7240 IF J=60 THEN LPRINT CHR$(12) CHR$(12):GOTO 9400
7260 IF D > 12 THEN D = D - 12:YY = YY + 1: F=1
7270 NEXT J
7290 GOSUB 9800 REM YEARLY SUMMARY
7325 LPRINT CHR$(12)
7330 GOTO 9400
8000 REM DATA FOR ARRAYS
8010 DIM MO$(12),I(650,3),A$(6),A(6)
8020 FOR D = 1 TO 12
8030 READ MO$(D)
8040 NEXT D
8050 DATA JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC
8060 FOR X = 1 TO 6
8070 READ A$(X)
8080 NEXT X
8090 DATA AMOUNT BORROWED, TERM IN YEARS,INTEREST RATE, LOAN PAYMENT
8100 DATA PAYMENTS PER YEAR,TIMES INTEREST COMPOUNDED PER YEAR
8105 DIM AI(40):DIM AP(40)
8110 RETURN
9000 REM CHECK FOR CALCULATION
9010 IF S=0 THEN GOSUB 24: PRINT "CALCULATION"
9020 RETURN
9030 REM ERASE "CALCULATION"
9040 GOSUB 24: PRINT SPACE$(12):RETURN
9050 REM CLEAR LINE AND LOCATE CURSOR FOR OUTPUT
9060 LOCATE 20,5,1:PRINT SPACE$(34)
9070 RETURN
9100 REM ** CHECK FOR THE NUMBER OF CALCULATIONS **
9110 Z=0
9120 FOR X=1 TO 4
9130 IF A(X)=0 THEN Z=Z+1
9140 NEXT X
9150 IF Z=1 THEN S1=25:S2=1:GOSUB 24:PRINT SPACE$(39);:GOTO 9190
9160 IF Z=0 THEN S1$="ENTER A 0 IN LINE 1 OR 2 OR 3 OR 4":S2$="":GOTO 9180
9170 S2$="":S1$="ONLY ONE CALCULATION"
9180 GOSUB 78
9190 RETURN
9300 REM ERROR MESSAGE FOR ATTEMPTED CALCULATION OF TERM OF LOAN
9310 S1=21:S2=1:GOSUB 24:COLOR 31,0,0
9320 PRINT"PAYMENTS ARE INSUFFICIENT TO RETIRE THE"
9330 PRINT"PRINCIPAL. CALCULATION IS NOT POSSIBLE.":COLOR 7,0
9340 GOSUB 300: RETURN
9399 REM *** OPTION MENU ***
9400 CLS :LOCATE 5 : PRINT "CHOOSE AN OPTION:": PRINT
9405 TF=0:FOR J=1 TO 40:AI(J)=0:AP(J)=0:NEXT J
9410 PRINT TAB( 5);:COLOR 0,7:PRINT"1";:COLOR 7,0:PRINT" A PAYMENT SCHEDULE": PRINT
9415 PRINT TAB( 5);:COLOR 0,7:PRINT"2";:COLOR 7,0:PRINT" A YEARLY SUMMARY": PRINT
9420 PRINT TAB( 5);:COLOR 0,7:PRINT"3";:COLOR 7,0:PRINT" START AGAIN": PRINT
9430 PRINT TAB( 5);:COLOR 0,7:PRINT"4";:COLOR 7,0:PRINT" MODIFY EXISTING DATA": PRINT
9440 PRINT TAB( 5);:COLOR 0,7:PRINT"5";:COLOR 7,0:PRINT" QUIT": PRINT
9450 S1=22: S2=1: GOSUB 24 : PRINT "ENTER OPTION NO.":S2=18:S3=1:S4=1:S5=5:S9=1:S6$="1":GOSUB 9:A=S
9460 ON A GOTO 6170,6170,5190,9470,9530
9470 REM INSTRUCTIONS ON CHANGES
9480 IF ZZ=1 GOTO 9520
9490 CLS: S1=5: S2=1: GOSUB 24: PRINT "ANY OF THE FIRST FOUR ITEMS CAN BE"
9495 PRINT"CALCULATED BY ENTERING A '0' (ZERO)"
9500 PRINT:PRINT:PRINT "IF YOU DO CHANGE THE ITEM TO BE"
9505 PRINT "CALCULATED BE SURE TO MAKE AN ENTRY":PRINT"FOR THE PREVIOUS CALCULATION"
9510 GOSUB 300
9520 ZZ=1: GOTO 5600
9530 GOTO 100
9600 REM CALCULATION FOR NON-AMORTIZED LOANS
9610 FOR J=1 TO L
9620 I(J,1)=INT(BO*I/N*100+0.5)/100
9625 IF J=L THEN I(J,2)=BO+I(J,1):I(J,3)=0:GOTO 9645
9630 I(J,2)=RP+I(J,1)
9640 I(J,3)=BO-RP:IF I(J,3)<0 THEN I(J,3)=0
9645 BO=I(J,3)
9650 NEXT J
9660 RETURN
9700 REM TITLE FOR YEARLY SUMMARY REPORT
9710 CLS:PRINT " *** YEARLY SUMMARY ***"
9720 IF AM$="N" THEN 9740
9730 PRINT "YEAR INTEREST PRINCIPAL CLOSING":GOTO 9750
9740 PRINT "YEAR INTEREST PERIOD CLOSING"
9750 PRINT " PMT PMT BALANCE"
9760 PRINT "---------------------------------------"
9770 RETURN
9800 REM *** PRINTOUT FOR YEARLY SUMMARY ***
9802 CLS:LPRINT:LPRINT:LPRINT:LPRINT:LPRINT TAB(22);"*** YEARLY SUMMARY ***"
9804 LPRINT:LPRINT:LPRINT
9805 LPRINT TAB(5) " DATE OPENING PERIOD INTEREST PRINCIPAL CLOSING"
9806 LPRINT TAB(5) " BALANCE PAYMENT PAYMENT PAYMENT BALANCE"
9807 LPRINT TAB(5) " ---- ---------- ----------- ----------- ----------- -----------"
9810 TP=P:YY=TY
9830 FOR J=1 TO YC-1
9840 LPRINT USING " ####";YY+J-1;:LPRINT USING " #######.##";TP;:IF AM$="A" THEN GOTO 9855
9850 LPRINT USING " ########.##";AP(J);:LPRINT USING " ########.##";AI(J);:LPRINT USING " ########.##";AP(J)-AI(J);:TP=TP-(AP(J)-AI(J)):GOTO 9860
9855 LPRINT USING " ########.##";AI(J)+AP(J);:LPRINT USING " ########.##";AI(J);:LPRINT USING " ########.##";AP(J);:TP=TP-AP(J)
9860 IF TP<0 THEN TP=0
9865 LPRINT USING " #######.##";TP
9870 NEXT J
9875 LPRINT:LPRINT:LPRINT TAB(10);"TOTAL";:IF AM$="A" THEN LPRINT TAB(43);:LPRINT USING "########.##";IT;:LPRINT USING " ########.##";PT;:GOTO 9877
9876 LPRINT TAB(43);:LPRINT USING "########.##";PT;:LPRINT USING " ########.##";IT
9877 LPRINT:LPRINT:LPRINT:LPRINT TAB(22);"*** END OF REPORT ***"
9880 RETURN
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,8
60430 PRINT"A D A P R O G R A M S"
60440 LOCATE 20,5
60450 PRINT "FARM BUSINESS MANAGEMENT BRANCH"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,24:PRINT"A D A P R O G R A M S"
60733 LOCATE 20,22
60736 PRINT "FARM BUSINESS MANAGEMENT BRANCH"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
1 REM RATION - A PROGRAM FOR BALANCING RATIONS FOR LIVESTOCK
2 REM REVISED MAY/1984
3 REM CONTACT:
4 REM GARY FISHER & GEORGE MONNER
5 REM F.B.M.BRANCH R.E.B.S. BRANCH
6 REM OLDS FAIRVIEW
8 GOTO 5000
9 S$="":REM THIS IS THE INPUT SUBROUTINE
10 GOSUB 24:PRINT SPACE$(LEN(S$));
11 S8=0:GOSUB 24
12 GOSUB 31
13 GOSUB 35
14 GOSUB 53
15 IF S$="" THEN S$=S6$:GOTO 22
16 IF S3=1 THEN GOSUB 56
17 IF S8=1 GOTO 10
18 IF S3=1 THEN GOSUB 68
19 IF S8=1 GOTO 10
20 IF S3=3 THEN GOSUB 73
21 IF S8=1 GOTO 10
22 IF S3=1 THEN S=VAL(S$)
23 RETURN
24 REM POSITION CURSOR
25 LOCATE S1,S2,1
30 RETURN
31 REM PRINT DEFAULT
32 PRINT S6$
33 GOSUB 24
34 RETURN
35 REM TRANSPARENT CURSOR ROUTINE
36 S$=""
37 S1$=INPUT$(1)
41 S=ASC(S1$):IF S<>13 GOTO 46
42 IF S$="" THEN GOSUB 24:PRINT " ";:GOSUB 24:GOSUB 31:PRINT:RETURN
43 IF LEN(S$)>=LEN(S6$) GOTO 45
44 PRINT SPACE$(LEN(S6$)-LEN(S$));
45 PRINT S1$;:RETURN
46 IF S<32 GOTO 50
47 IF S=34 THEN S1$="'"
48 S$=S$+S1$:IF S9>0 THEN IF LEN(S$)>S9 THEN PRINT S1$;:GOTO 52
49 PRINT S1$;:GOTO 37
50 IF LEN(S$)<1 GOTO 36
51 IF LEN(S$)=1 THEN PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 36
52 S$=LEFT$(S$,LEN(S$)-1):PRINT CHR$(29);:PRINT" ";:PRINT CHR$(29);:GOTO 37
53 REM THIS CHECKS FOR EXIT
54 IF S$="<" THEN CLS:PRINT" LOADING MENU...":RUN "HELLO.BAS"
55 RETURN
56 S1$=S$:S7=0:REM CHECK FOR NUMERIC INPUT
57 IF LEFT$(S1$,1)=" " THEN S1$=RIGHT$(S1$,LEN(S1$)-1):GOTO 57
58 IF RIGHT$(S1$,1)=" " THEN S1$=LEFT$(S1$,LEN(S1$)-1):GOTO 58
59 IF LEN(S1$)<1 GOTO 64
60 FOR S=1 TO LEN(S1$):S6=ASC(MID$(S1$,S,1))
61 IF S6>=48 AND S6<=57 GOTO 66
62 IF (S6=43 OR S6=45) AND S=1 GOTO 66
63 IF S6=46 AND S7=0 THEN S7=1:GOTO 66
64 S2$="NON NUMERIC INPUT":S1$="":GOSUB 78
65 RETURN
66 NEXT S
67 RETURN
68 REM CHECK FOR PROPER LIMITS
69 S6=VAL(S$)
70 IF S6<S4 THEN S2$="INPUT BELOW":S1$=STR$(S4):GOSUB 78:RETURN
71 IF S6>S5 THEN S2$="INPUT ABOVE":S1$=STR$(S5):GOSUB 78:RETURN
72 RETURN
73 REM CHECK FOR YES OR NO
74 IF LEFT$(S$,1)="Y" OR LEFT$(S$,1)="N" GOTO 76
75 S2$="MUST BE YES/NO ANSWER":S1$="":GOSUB 78:RETURN
76 S$=LEFT$(S$,1)
77 RETURN
78 REM ERROR FOR ALL CONDITIONS
79 COLOR 31,0,0:BEEP
80 GOSUB 90
81 PRINT" ";S2$;S1$;
82 FOR S7=1 TO 3000:NEXT S7
83 COLOR 7,0,0
87 GOSUB 93
88 S8=1
89 RETURN
90 REM POSTITION TO LAST LINE
91 LOCATE 25,1,0
92 RETURN
93 REM BLANK LAST LINE
94 LOCATE 25,1,1
95 PRINT SPACE$(39);
96 RETURN
100 CLS:PRINT" LOADING MENU...":RUN "HELLO.BAS"
200 REM ****DOLLAR FORMAT SUBROUTINE****
201 S3=INT(S3*100+0.5)/100
202 S3$=SPACE$(30)
203 IF S3=0 THEN S3$=RIGHT$(S3$,S4-4)+"0.00":GOTO 209
204 S4$=STR$(S3)
205 IF ASC(MID$(RIGHT$(S4$,2),1,1))=46 THEN S3$=S3$+S4$+"0":GOTO 208
206 IF ASC(MID$(RIGHT$(S4$,3),1,1))=46 THEN S3$=S3$+S4$:GOTO 208
207 S3$=S3$+S4$+".00"
208 S3$=RIGHT$(S3$,S4)
209 RETURN
300 REM HOLD SCREEN
301 S$="PRESS RETURN TO CONTINUE "
302 COLOR 31,0,0
303 GOSUB 90
304 PRINT" ";S$;
305 POKE 106,0
306 IF INKEY$=CHR$(13) GOTO 307 ELSE GOTO 305
307 COLOR 7,0,0
308 GOSUB 93
314 S$="":S1$=""
315 RETURN
5000 REM MAINLINE FOR RATION
5010 GOSUB 60000:REM LOGO & DISCLAIMER
5020 CLS:PRINT"PLEASE WAIT, I'M LOADING DATA "
5030 DIM Y(15,15)
5040 GOSUB 62000
5050 GOSUB 5680:REM PROGRAM TITLE PAGE
5060 CLS:PRINT"ENTER # OF ANIMALS FED =";
5065 S6$="1":S1=1:S2=26:S3=1:S4=1:S5=2000:S9=4:GOSUB 9:NO=S
5070 GOSUB 6040:REM **SELECTION OF TYPE OF ANIMAL BEING FED
5080 REM GET REQUIREMENTS FOR THE ANIMALS
5090 ON X+1 GOSUB 6200,6370,6370,6590,6590,6800,6940,6940,6940,6940,6940,6940
5100 IF X=0 THEN 5120
5110 W=1:GOSUB 6200:REM OPTION TO CHANGE DATA
5115 IF W9=1 THEN RETURN:REM THIS IS FOR THE CHANGE ANIMAL CLASS OPTION
5120 GOSUB 7350:REM ENTER FEEDSTUFFS & ALLOW FOR CHANGES
5130 CLS:PRINT" DE CP CA P"
5140 PRINT" ----- ---- ----- -----"
5150 PRINT USING "\ \ ##.## ##.## \ \ \ \";"REQUIREMENTS",DE,CP,CA$,PH$
5170 PRINT"NOW HAVE"
5180 PRINT" ===== ==== ===== ====="
5190 PRINT"AMOUNT OVER"
5200 PRINT" --------------------------"
5210 PRINT"AMOUNT OF DRY MATTER FEEDING="
5220 PRINT
5230 PRINT"======================================="
5240 PRINT"LBS DE CP CA P"
5250 PRINT"FED ---- ---- ----- -----"
5260 FOR J=1 TO W1
5270 PRINT USING "\ \ \ \ #.## #.### \ \ \ \";MID$(STR$(A(J,8)),2,10),A$(J,2),A(J,4),A(J,5),A$(J,6),A$(J,7)
5300 NEXT J
5310 C1=0:C2=0:C3=0:C4=0:C5=0
5320 FOR J=1 TO W1
5330 S6$=MID$(STR$(A(J,8)),2):S1=12+J:S2=1:S3=1:S4=0:S5=999:S9=4:GOSUB 9
5340 A(J,8)=S
5350 S6$=MID$(STR$(S),2)
5360 GOSUB 24:PRINT S6$;
5370 C1=C1+A(J,3)*A(J,8)/100:C2=C2+A(J,4)*A(J,8):C3=C3+A(J,5)*A(J,8)
5380 C4=C4+VAL(A$(J,6))*A(J,8):C5=C5+VAL(A$(J,7))*A(J,8)
5390 NEXT J
5400 S1=4:S2=13:GOSUB 24
5410 PRINT" "
5420 S2=1:GOSUB 24
5430 PRINT USING "\ \ ###.## ##.## .#### .####";"NOW HAVE ",C2,C3,C4,C5
5470 D2=INT((C2-DE)*100+0.5)/100:D3=INT((C3-CP)*100+0.5)/100
5480 D2=INT((C2-DE)*100+0.5)/100:D3=INT((C3-CP)*100+0.5)/100
5490 D4=INT((C4-VAL(CA$))*1000+0.5)/1000:D5=INT((C5-VAL(PH$))*1000+0.5)/1000
5500 S1=6:GOSUB 24:PRINT TAB(13)" ":GOSUB 24
5510 PRINT USING "\ \+###.##+##.## +.#### +.####";"AMOUNT OVER ",D2,D3,D4,D5
5520 S1=8:S2=30:GOSUB 24:PRINT " ":GOSUB 24
5530 PRINT INT(C1*1000)/1000
5540 S1=9:S2=1:GOSUB 24
5545 PRINT"FEED<F>,REQ<R>,CST<C>,PRNT<P>,EXIT<E>";
5550 S6$=" ":S1=9:S2=38:S3=2:S9=1:GOSUB 9
5560 S2=1:GOSUB 24:PRINT" "
5565 IF S$="E" THEN GOTO 100:END
5570 IF S$<>"R" GOTO 5580
5572 CLS:PRINT "DO YOU WANT A NEW ANIMAL CLASS (Y/N)?"
5574 S6$="N":S1=1:S2=38:S3=3:S9=1:GOSUB 9
5576 IF S$="Y" THEN RESTORE:W9=1:GOSUB 5060:W9=0:GOTO 5130
5578 CLS:GOSUB 6200:GOTO 5130
5580 IF S$<>"F" GOTO 5640
5590 GOSUB 9570
5600 GOSUB 9890
5610 IF S$="A" THEN RESTORE:GOSUB 7350:GOTO 5130
5620 IF S$="C" THEN GOSUB 7740:GOSUB 8450:GOSUB 7980:GOTO 5130
5630 GOTO 5130
5640 IF S$="C" THEN GOSUB 8540:GOTO 5130
5650 IF S$="P" THEN CALL PRTSCR:GOTO 5540
5660 GOTO 5310
5670 REM PROGRAM TITLE PAGE
5680 CLS:PRINT" RATION FORMULATION "
5690 PRINT" <REVISION DATE= 5/84>"
5700 PRINT :PRINT" THIS PROGRAM IS DESIGNED TO ASSIST"
5710 PRINT"WITH THE BALANCING OF LIVESTOCK RATIONS."
5720 PRINT" ONE SELECTS AN ANIMAL FROM A LIST"
5730 PRINT"IT THEN HAS 4 NUTRITIONAL REQUIREMENTS:"
5740 PRINT :PRINT"1. DIGESTIBLE ENERGY <MCAL/ANIMAL/DAY>"
5750 PRINT"2. CRUDE PROTEIN <LBS/ANIMAL/DAY>"
5760 PRINT"3. CALCIUM <LBS/ANIMAL/DAY>"
5770 PRINT"4. PHOSPHOROUS <LBS/ANIMAL/DAY>"
5780 PRINT :PRINT"ONE THEN SELECTS FEEDS FROM LISTS"
5790 PRINT"THESE FEEDS HAVE THESE NUTRIENT VALUES:"
5800 PRINT :PRINT"1. % DRY MATTER AS A PERCENTAGE 8%=8"
5810 PRINT"2. DIGESTIBLE ENERGY <MCAL/LB OF FEED>"
5820 PRINT"3. CRUDE PROTEIN <LBS/LB OF FEED>"
5830 PRINT"4. CALCIUM <LBS/LB OF FEED>"
5840 PRINT"5. PHOSPHORUS <LBS/LB OF FEED>"
5850 GOSUB 300
5860 CLS:LOCATE 2,1:PRINT" THE NUTRIENT REQUIREMENTS AND THE"
5870 PRINT"FEED VALUES CAN BE ALTERED AT WILL."
5880 PRINT" NEW FEEDS OR ANIMALS NOT ON THE LIST"
5890 PRINT"CAN BE CUSTOMIZED."
5900 PRINT :PRINT"THE FEEDING TABLE HAS THE FEEDS ENTERED"
5910 PRINT"ON AN AS FED BASIS IN LBS."
5920 PRINT"IT RETURNS THE TOTAL NUTRIENTS SUPPLIED"
5930 PRINT"BY THE RATION AS WELL AS TOTAL DRY"
5940 PRINT"MATTER FEEDING IN LBS/ANIMAL/DAY."
5950 PRINT :PRINT" THE COSTS SECTION REQUIRES THE PRICE"
5960 PRINT"EXPRESSED IN $/UNIT. THE UNITS ARE IN"
5970 PRINT"LBS/UNIT. THE COSTS ARE RETURNED AS"
5980 PRINT"COST/DAY, COST/ANIMAL/DAY, AND"
5990 PRINT" COST/TON OF RATION."
6000 PRINT :PRINT :PRINT" NOTE:IT IS NOT A LEAST COST RATION PRO-GRAM."
6010 GOSUB 300
6020 RETURN
6030 REM **SELECTION OF TYPE OF ANIMAL & GETTING REQUIREMENTS.**
6040 CLS:PRINT"WHICH TYPE OF CATTLE ARE BEING FED?"
6050 PRINT"(ENTER CORRESPONDING NO. <0 = CUSTOM>)"
6060 PRINT"======================================"
6070 PRINT :PRINT"1. DRY PREGNANT COWS:IN MID PREGNANCY"
6080 PRINT :PRINT"2. COWS:LAST 6 WK - 3WKS. AFTER CALVING."
6090 PRINT :PRINT"3. COWS:PROD. 10 LB.MILK - 3-4 MO. AFTER CALVING."
6100 PRINT :PRINT"4. COWS:PROD. 20 LB.MILK - '' "
6110 PRINT :PRINT"5. DAIRY COW: 1300LB COW @ 3.5% FAT TEST"
6120 PRINT :PRINT"6. FEEDLOT CATTLE GAINING 1 LB/DAY"
6130 PRINT"7. GAINING 1.5 LB/DAY"
6140 PRINT"8. GAINING 2.0 LB/DAY"
6150 PRINT"9. GAINING 2.5 LB/DAY"
6160 PRINT"10. GAINING 3.0 LB/DAY"
6165 PRINT"11. GAINING 3.5 LB/DAY"
6170 S6$="0":S1=1:S2=37:S3=1:S4=0:S5=11:S9=2:GOSUB 9:X=S
6180 RETURN
6190 REM**CUSTOM ENTRY & CHANGE ROUTINE FOR REQUIREMENTS
6200 CLS:LOCATE 7,1:PRINT"ENTER NUTRIENT REQUIREMENTS OF ANIMALS"
6210 PRINT" <-----/ANIMAL/DAY>"
6220 PRINT"---------------------------------------"
6230 PRINT :PRINT" DIGESTIBLE ENERGY <MCAL> = ";MID$(STR$(DE),2)
6240 PRINT :PRINT" CRUDE PROTEIN <LBS> = ";MID$(STR$(CP),2)
6250 PRINT :PRINT" CALCIUM <LBS> = ";CA$
6260 PRINT :PRINT" PHOSPHOROUS <LBS> = ";PH$
6270 PRINT :PRINT :PRINT"CHANGE DATA ?(Y OR N)";:IF W=1 THEN 6320
6280 S6$=MID$(STR$(DE),2):S1=11:S2=33:S3=1:S4=0:S5=99:S9=6:GOSUB 9:DE=S
6290 S6$=MID$(STR$(CP),2):S1=13:GOSUB 9:CP=S
6300 S6$=CA$:S1=15:GOSUB 9:CA$=S$
6310 S6$=PH$:S1=17:GOSUB 9:PH$=S$
6320 S6$="N":S1=20:S2=22:S3=3:GOSUB 9:W=0
6330 IF S$="Y" THEN 6280
6340 IF S$="N" THEN RETURN
6350 GOTO 6320
6360 REM**REQUIREMENT ENTRY FOR PREG. COWS (1 & 2)
6370 CLS:LOCATE 5,1:PRINT" WHAT IS APROX. WEIGHT OF THE COWS?"
6380 PRINT" < ENTER CORRESPONDING DIGIT >"
6390 PRINT"======================================"
6400 PRINT" 1. 1000 LBS"
6410 PRINT" 2. 1100 LBS"
6420 PRINT" 3. 1200 LBS"
6430 PRINT" 4. 1300 LBS"
6435 PRINT" 5. 1400 LBS"
6440 PRINT" 6. 1500 LBS"
6450 S6$="3":S1=5:S2=37:S3=1:S4=1:S5=6:GOSUB 9
6460 ON S+((X-1)*6) GOTO 6470,6480,6490,6500,6505,6510,6520,6530,6540,6550,6555,6560
6470 DE=17.9:CP=1.2:CA$=".042":PH$=".032":GOTO 6570
6480 DE=19.2:CP=1.3:CA$=".045":PH$=".034":GOTO 6570
6490 DE=20.5:CP=1.4:CA$=".048":PH$=".035":GOTO 6570
6500 DE=21.8:CP=1.5:CA$=".050":PH$=".036":GOTO 6570
6505 DE=23.1:CP=1.6:CA$=".053":PH$=".038":GOTO 6570
6510 DE=24.3:CP=1.65:CA$=".055":PH$=".040":GOTO 6570
6520 DE=20.6:CP=1.4:CA$=".044":PH$=".034":GOTO 6570
6530 DE=22.1:CP=1.5:CA$=".047":PH$=".036":GOTO 6570
6540 DE=23.6:CP=1.6:CA$=".050":PH$=".038":GOTO 6570
6550 DE=25.1:CP=1.7:CA$=".053":PH$=".040":GOTO 6570
6555 DE=26.5:CP=1.8:CA$=".056":PH$=".042":GOTO 6570
6560 DE=27.9:CP=1.9:CA$=".058":PH$=".045":GOTO 6570
6570 RETURN
6580 REM **REQUIREMENT ENTRY FOR NURSING COWS(3&4)
6590 CLS:LOCATE 5,1:PRINT" WHAT IS APROX. WEIGHT OF THE COWS?"
6600 PRINT" < ENTER CORRESPONDING DIGIT >"
6610 PRINT"======================================"
6620 PRINT" 1. 900 LBS"
6630 PRINT" 2. 1000 LBS"
6640 PRINT" 3. 1100 LBS"
6650 PRINT" 4. 1200 LBS"
6660 PRINT" 5. 1300 LBS"
6662 PRINT" 6. 1400 LBS"
6664 PRINT" 7. 1500 LBS"
6666 PRINT" 8. 1600 LBS"
6670 S6$="4":S1=5:S2=37:S3=1:S4=1:S5=8:GOSUB 9
6680 ON S+((X-3)*8) GOTO 6690,6700,6710,6720,6730,6732,6734,6736,6740,6750,6760,6770,6780,6782,6784,6786
6690 DE=22.4:CP=1.8:CA$=".073":PH$=".059":GOTO 6570
6700 DE=24!:CP=1.9:CA$=".076":PH$=".061":GOTO 6570
6710 DE=25.6:CP=2!:CA$=".080":PH$=".064":GOTO 6570
6720 DE=27.3:CP=2.1:CA$=".085":PH$=".067":GOTO 6570
6730 DE=29!:CP=2.2:CA$=".090":PH$=".069":GOTO 6570
6732 DE=30.7:CP=2.3:CA$=".095":PH$=".070":GOTO 6570
6734 DE=32.4:CP=2.4:CA$=".110":PH$=".072":GOTO 6570
6736 DE=34.1:CP=2.5:CA$=".115":PH$=".074":GOTO 6570
6740 DE=29!:CP=2.6:CA$=".120":PH$=".095":GOTO 6570
6750 DE=30.6:CP=2.7:CA$=".125":PH$=".100":GOTO 6570
6760 DE=32.2:CP=2.8:CA$=".130":PH$=".100":GOTO 6570
6770 DE=33.9:CP=3!:CA$=".135":PH$=".102":GOTO 6570
6780 DE=35.6:CP=3.1:CA$=".140":PH$=".105":GOTO 6570
6782 DE=37.3:CP=3.2:CA$=".145":PH$=".109":GOTO 6570
6784 DE=39!:CP=3.3:CA$=".150":PH$=".114":GOTO 6570
6786 DE=40.7:CP=3.4:CA$=".155":PH$=".118":GOTO 6570
6790 REM REQUIREMENT FOR DAIRY COWS
6800 CLS:LOCATE 6,1:PRINT"WHAT MILK PRODUCTION DO YOU REQUIRE?"
6810 PRINT :PRINT"======================================"
6820 PRINT :PRINT"ENTER A NO. BETWEEN 15 LBS & 120 LBS-"
6830 PRINT" <IN 5 LB INCREMENTS>"
6835 PRINT:PRINT" OR ENTER A ";:COLOR 0,7:PRINT "0";:COLOR 7,0:PRINT " FOR A DRY COW"
6840 S6$="30":S1=6:S2=37:S3=1:S4=0:S5=120:S9=3:GOSUB 9
6845 IF S<15 AND S<>0 THEN S2$="INPUT BELOW":S1$=STR$(15):GOSUB 78:GOTO 6840
6850 IF S/5=INT(S/5) THEN 6880
6860 S1$="":S2$="MUST BE IN 5 LB INCREMENTS":GOSUB 78
6870 GOTO 6840
6880 S1=16:S2=1:GOSUB 24:PRINT "PLEASE WAIT, LOADING DATA";
6882 FOR I=1 TO 35:READ Q,Q$,Q1,Q2,Q3,Q4,Q5:NEXT I
6890 FOR I=1 TO 23
6900 READ M,M1,M2,M3$,M4$
6910 IF M=S THEN DE=M1:CP=M2:CA$=M3$:PH$=M4$:I=11
6920 NEXT I
6930 RESTORE:RETURN
6940 REM REQUIREMENT FOR FEEDLOT CATTLE
6942 CLS:S1=3:S2=1:GOSUB 24:PRINT"TYPE OF CATTLE BEING FED?"
6944 PRINT"====================================="
6946 PRINT"ENTER 'S' FOR STEER OR 'H' FOR HEIFER"
6950 S1=7:S2=1:GOSUB 24:PRINT"WEIGHT OF CATTLE BEING FED?"
6960 PRINT"======================================"
6962 IF X<>11 THEN 6970
6964 PRINT"ENTER A VALUE BETWEEN 500LBS & 1200LBS"
6966 PRINT"(BETWEEN 500LBS & 1100LBS FOR HEIFERS)
6968 GOTO 6980
6970 PRINT"ENTER A VALUE BETWEEN 400LBS & 1200LBS"
6972 PRINT"(BETWEEN 400LBS & 1100LBS FOR HEIFERS)
6980 PRINT" < IN 100 LB INCREMENTS >"
6982 S6$="S":S1=3:S2=27:S3=2:S9=1:GOSUB 9:EX$=S$
6984 IF EX$="S" OR EX$="H" THEN 6990
6986 S1$="":S2$="ENTER S OR W":GOSUB 78
6988 GOTO 6982
6990 S4=400:S6$="400":IF X=11 THEN S4=500:S6$="500"
6991 S5=1200:IF EX$="H" THEN S5=1100
6992 S1=7:S2=29:S3=1:S9=4:GOSUB 9:WT=S
7000 IF WT/100=INT(WT/100) THEN 7030
7010 S1$="":S2$="MUST BE IN 100 LB INCREMENTS":GOSUB 78
7020 GOTO 6990
7030 IF WT>600 THEN 7080
7040 S1=13:S2=1:GOSUB 24:PRINT"WINTERING OR FINISHING THE CALVES?"
7050 PRINT"======================================="
7060 PRINT"ENTER 'W' FOR WINTER OR 'F' FOR FINISH"
7070 S6$="W":S1=13:S2=36:S3=2:S9=1:GOSUB 9
7072 IF S$="W" OR S$="F" THEN 7078
7074 S1$="":S2$="ENTER W OR F":GOSUB 78
7076 GOTO 7070
7078 WF=1:IF S$="F" THEN WF=2
7080 S1=16:S2=1:GOSUB 24:PRINT "PLEASE WAIT, LOADING DATA";
7082 FOR I=1 TO 35:READ Q,Q$,Q1,Q2,Q3,Q4,Q5:NEXT I
7090 FOR I=1 TO 23:READ M,M1,M2,M3,M4:NEXT I
7100 IF EX$="H" THEN 7140
7105 FOR I=1 TO 6
7110 FOR I1=1 TO 9
7115 READ Y(I,I1)
7120 NEXT I1
7125 NEXT I
7130 DE=Y(X-5,INT((WT-300)/100))
7135 FOR I=1 TO 6:READ Q,Q1,Q2,Q3,Q4,Q5,M,M1:NEXT I:GOTO 7175
7140 FOR I=1 TO 6:READ Q,Q1,Q2,Q3,Q4,Q5,M,M1,M2:NEXT I
7145 FOR I=1 TO 6
7150 FOR I1=1 TO 8
7155 READ Y(I,I1)
7160 NEXT I1
7165 NEXT I
7170 DE=Y(X-5,INT((WT-300)/100))
7175 FOR I=1 TO 6
7180 FOR I1=1 TO 9
7185 READ Y(I,I1)
7190 NEXT I1
7195 NEXT I
7200 CP=Y(X-5,INT((WT-300)/100))
7220 IF WT>600 THEN FOR I=1 TO 6:READ CA$,PH$:NEXT I:GOTO 7290
7230 IF WF=2 THEN FOR I=1 TO 3:READ CA$,PH$:NEXT I
7240 FOR I=1 TO INT((WT-300)/100)
7250 READ CA$,PH$
7260 NEXT I
7280 RESTORE:RETURN
7290 FOR I=1 TO INT((WT-600)/100)
7300 READ CA$,PH$
7320 NEXT I
7330 RESTORE:RETURN
7340 REMCHOOSING OF FEEDSTUFFS &O0CHANGE TO NUTRIENT VALUES
7350 Z5=1:Z6=7:GOSUB 7750:LOCATE 3,1:PRINT"**HAY**":GOSUB 7800
7360 S6$="":S1=(Z6-Z5+1)*2+5:S2=33:S3=1:S4=Z5:S5=Z6:S9=2:GOSUB 7860
7370 Z5=11:Z6=14:GOSUB 7750:LOCATE 3,1:PRINT"**GREENFEED**":GOSUB 7800
7380 S1=(Z6-Z5+1)*2+5:S4=Z5:S5=Z6:GOSUB 7860
7390 Z5=21:Z6=29:GOSUB 7750:LOCATE 3,1:PRINT"**SILAGE**":GOSUB 7800
7400 S1=(Z6-Z5+1)*2+5:S4=Z5:S5=Z6:GOSUB 7860
7410 Z5=31:Z6=33:GOSUB 7750:LOCATE 3,1:PRINT"**STRAW** ":GOSUB 7800
7420 S1=(Z6-Z5+1)*2+5:S4=Z5:S5=Z6:GOSUB 7860
7430 Z5=41:Z6=43:GOSUB 7750:LOCATE 3,1:PRINT"**GRAIN**":GOSUB 7800
7440 S1=(Z6-Z5+1)*2+5:S4=Z5:S5=Z6:GOSUB 7860
7450 Z5=51:Z6=59:GOSUB 7750:LOCATE 3,1:PRINT"**SUPPLEMENT**":GOSUB 7800
7460 S1=(Z6-Z5+1)*2+5:S4=Z5:S5=Z6:GOSUB 7860
7470 RESTORE:GOSUB 7750
7480 FOR I=1 TO 35
7490 READ V,V$,V1,V2,V3,V4$,V5$
7500 FOR J=1 TO W1
7510 IF V=A(J,1) GOTO 7530
7520 GOTO 7560
7530 PRINT USING "## \ \###.# #.## #.### \ \ \ \";A(J,1),A$(J,2),A(J,3),A(J,4),A(J,5),A$(J,6),A$(J,7)
7550 GOTO 7590
7560 IF V=W(J) THEN PRINT USING "## \ \###.# #.## #.### \ \ \ \";V,V$,V1,V2,V3,V4$,V5$
7570 IF V=W(J) THEN A(J,1)=V:A$(J,2)=V$:A(J,3)=V1:A(J,4)=V2:A(J,5)=V3
7580 IF V=W(J) THEN A$(J,6)=V4$:A$(J,7)=V5$
7590 IF V=W(J) THEN PRINT
7600 NEXT J
7610 NEXT I
7620 FOR J=1 TO W1
7630 IF A(J,1)<61 GOTO 7660
7640 PRINT USING "## \ \###.# #.## #.### \ \ \ \";A(J,1),A$(J,2),A(J,3),A(J,4),A(J,5),A$(J,6),A$(J,7)
7660 NEXT J
7670 S1=23:S2=1:GOSUB 24:PRINT"DO YOU WANT TO ADD YOUR FEEDS? <Y,N>"
7680 S6$="N":S2=38:S3=3:S9=1:GOSUB 9
7690 IF S$="N" THEN GOSUB 7750:GOSUB 8460:GOSUB 7990:RETURN
7700 IF S$="Y" THEN GOSUB 8210:GOSUB 7750:GOSUB 8460:GOSUB 7990:RETURN
7710 GOTO 7670
7720 GOSUB 7990
7730 RETURN
7740 REM HEADING FOR FEEDSTUFF LISTING
7750 CLS
7760 PRINT TAB(14);"DM DE CP CA P"
7770 PRINT"---------------------------------------"
7780 RETURN
7790 REM ROUTINE FOR READ ING & PRINT ING FEEDSTUFF LISTS
7800 FOR I=Z5 TO Z6
7810 READ V,V$,V1,V2,V3,V4$,V5$
7820 PRINT :PRINT USING "## \ \###.# #.## #.### \ \ \ \";V,V$,V1,V2,V3,V4$,V5$
7830 NEXT I
7840 RETURN
7850 REM ROUTINE FOR CHOOSING FEEDSTUFFS FROM LISTS
7860 PRINT"ENTER THE # OF THE FEED & PRESS RETURN."
7870 PRINT" TO CONTINUE, JUST PRESS RETURN"
7880 FOR J=1 TO 4:GOSUB 9:IF S$="" THEN J=4:GOTO 7960
7890 W1=W1+1:IF W1>10 THEN S1$="":S2$="TOO MANY FEEDS":GOSUB 78:W1=W1-1:GOTO 7970
7900 W(W1)=S
7910 TE=S1:TM=S2
7920 S1=5+(S-Z5)*2:S2=1
7930 GOSUB 24:COLOR 0,7
7932 IF W(W1) >9 THEN PRINT MID$(STR$(W(W1)),2,99); ELSE PRINT STR$(W(W1));
7935 COLOR 7,0
7940 S1=TE:S2=TM
7950 GOSUB 24:PRINT" ";
7960 NEXT J
7970 RETURN
7980 REM ROUTINE FOR CHANGING NUTRIENT VALUES OF THE FEEDSTUFFS
7990 REM CLS
8000 FOR I=1 TO W1
8010 S1=(I-1)*2+4:S2=1:GOSUB 24:PRINT"CHANGE<Y/N>";
8020 S6$="N":S2=13:S3=3:S9=3:GOSUB 9
8030 IF S$="N" GOTO 8120
8040 IF S$="Y" THEN S2=1:GOSUB 24:PRINT" ";
8050 FOR J=3 TO 7
8060 IF J>5 GOTO 8090
8070 S6$=MID$(STR$(A(I,J)),2):S2=(J-3)*6+10:S3=1:S4=0:S5=200:S9=6
8072 IF J=3 THEN S5=100
8074 GOSUB 9
8080 GOTO 8100
8090 S6$=A$(I,J):S2=(J-3)*6+10:S3=1:GOSUB 9
8100 A(I,J)=VAL(S$):A$(I,J)=S$
8110 NEXT J
8120 NEXT I
8130 PRINT
8140 PRINT"MORE CHANGES?<Y/N>";
8150 S6$="N":S1=(I-1)*2+4:S2=20:S3=3:GOSUB 9
8160 IF S$="Y" THEN GOSUB 7750:GOSUB 8460:GOTO 7990
8170 IF S$="N" THEN RETURN
8180 GOTO 8140
8190 RETURN
8200 REM ROUTINE TO ADD NEW FEEDSTUFFS
8210 NI=61
8220 CLS:PRINT"FEEDSTUFF NUMBER "NI
8230 IF W1+1>10 THEN S1$="":S2$="TOO MANY FEEDS":GOSUB 78:RETURN
8240 PRINT"ENTER FEEDSTUFF NAME."A$(W1+1,2)
8250 PRINT"ENTER % DRY MATTER OF FEEDSTUFF. "MID$(STR$(A(W1+1,3)),2)
8260 PRINT"ENTER DE OF FEEDSTUFF. "MID$(STR$(A(W1+1,4)),2)
8270 PRINT"ENTER CP OF FEEDSTUFF. "MID$(STR$(A(W1+1,5)),2)
8280 PRINT"ENTER CA OF FEEDSTUFF."A$(W1+1,6)
8290 PRINT"ENTER P OF FEEDSTUFF."A$(W1+1,7)
8300 PRINT"======================================"
8310 PRINT"CHANGE DATA ?(Y/N)"
8320 PRINT :PRINT"ANOTHER FEEDSTUFF?(Y/N)"
8330 S6$=A$(W1+1,2):S1=2:S2=22:S3=2:S4=0:S5=200:S9=10:GOSUB 9:A$(W1+1,2)=S$
8340 S6$=MID$(STR$(A(W1+1,3)),2):S2=34:S3=1:S1=3:S5=100:S9=5:GOSUB 9:A(W1+1,3)=S
8350 S6$=MID$(STR$(A(W1+1,4)),2):S2=24:S1=4:S5=10:GOSUB 9:A(W1+1,4)=S
8360 S6$=MID$(STR$(A(W1+1,5)),2):S2=24:S1=5:GOSUB 9:A(W1+1,5)=S
8370 S6$=A$(W1+1,6):S2=24:S1=6:S9=7:GOSUB 9:A$(W1+1,6)=S$
8380 S6$=A$(W1+1,7):S2=24:S1=7:GOSUB 9:A$(W1+1,7)=S$
8390 S6$="N":S1=9:S3=3:GOSUB 9:IF S$="Y" THEN 8330
8400 IF S$="N" THEN 8420
8410 GOTO 8390
8420 W1=W1+1:A(W1,1)=NI:NI=NI+1
8430 S1=11:GOSUB 9:IF S$="Y" THEN 8220
8440 IF S$="N" THEN RETURN
8450 REM ROUTINE FOR LISTING FEEDSTUFFS CHOSEN
8460 LOCATE 2,1
8470 FOR I1=1 TO W1
8480 S1=1+I1*2:S2=1:GOSUB 24
8490 PRINT USING "## \ \###.# #.## #.### \ \ \ \";A(I1,1),A$(I1,2),A(I1,3),A(I1,4),A(I1,5),A$(I1,6),A$(I1,7)
8510 NEXT I1
8520 RETURN
8530 REM ROUTINE FOR CALCULATING FEED COSTS
8540 CLS
8550 PRINT" DAILY FEED FOR "NO" ANIMALS."
8560 PRINT" ============================="
8570 PRINT" AM'T COST LBS"
8580 PRINT" # NAME FED $/UNIT /UNIT"
8590 PRINT "---------------------------------------"
8600 F2=0:F3=0
8610 A2=0
8620 FOR I=1 TO W1
8630 A1(I)=A(I,8)*NO
8640 IF A1(I)=0 THEN GOTO 8670
8650 PRINT A(I,1);A$(I,2)TAB(14)"="A1(I)
8660 A2=A2+A(I,8)
8670 NEXT I
8680 F2=0:F3=0:I2=0
8690 FOR I=1 TO W1
8700 IF A1(I)=0 THEN GOTO 8770
8710 S6$=MID$(STR$(FA(I)),2):S5=100000!:S4=0.01:S1=6+I2:S2=24:S3=1
8720 S9=6:GOSUB 9:FA(I)=S
8730 IF FB(I)<=0 THEN FB(I)=1
8740 S6$=MID$(STR$(FB(I)),2):S2=32:GOSUB 9:FB(I)=S
8750 F(I)=FA(I)/FB(I):F2=F2+(A1(I)*F(I)):F3=F3+A(I,8)*F(I)
8760 I2=I2+1
8770 NEXT I
8780 F4=INT((F3*2000/A2)*100+0.5)/100
8790 S1=17:S2=1:GOSUB 24:PRINT" C O S T S "
8800 PRINT" ==========="
8810 PRINT"COST/DAY..........=$"INT(F2*100+0.5)/100
8820 PRINT"COST/ANIMAL/DAY...=$"INT(F3*100+0.5)/100
8830 PRINT"COST/TON OF RATION=$"F4
8840 S1=23:S2=1:GOSUB 24:PRINT"CHANGE? COSTS<C>,LBS.FED<R>,PRINT <P>"
8850 S6$=" ":S2=38:S3=2:S9=1:GOSUB 9
8860 S2=1:GOSUB 24:PRINT" "
8870 IF S$="C" THEN 8680
8880 IF S$="R" THEN RETURN
8890 IF S$="P" THEN CALL PRTSCR:GOTO 8840
8900 GOTO 8840
8910 REM DATA FOR FEEDSTUFF & THEIR NUTRIENT VALUES
8920 DATA 1,ALFLFA-H,89.3,1.05,.159,.0167,.0021
8930 DATA 2,CLOVER-H,87.1,1.00,.133,.0126,.0019
8940 DATA 3,AL-GRS-H,88.2,.99,.121,.0116,.0018
8945 DATA 4,LG-GRS-H,87.9,.97,.112,.0100,.0017
8950 DATA 5,BROME-H,89.2,.91,.088,.0054,.0015
8955 DATA 6,TIMTHY-H,88.8,.89,.081,.0052,.0015
8960 DATA 7,GRASS-H,88.8,.91,.092,.0065,.0016
8970 DATA 11,BRLY-GF,86.8,1.04,.087,.0041,.0020
8980 DATA 12,OATS-GF,88.5,1.02,.083,.0032,.0019
8990 DATA 13,RYE-GF,89.9,1.02,.075,.002,.0016
9000 DATA 14,CREAL-GF,86.1,1.01,.085,.0044,.0020
9010 DATA 21,BRLEY-SL,39.5,.47,.043,.0021,.0011
9020 DATA 22,OATS-SL,36.4,.42,.036,.0018,.0009
9030 DATA 23,CORN-SL,32.8,.43,.029,.0012,.0008
9040 DATA 24,WHEAT-SL,38,.44,.037,.0017,.0009
9050 DATA 25,CREAL-SL,37.6,.44,.038,.0021,.0010
9055 DATA 26,ALFAL-SL,46.3,.55,.082,.0086,.0012
9060 DATA 27,AL-GR-SL,45.0,.50,.065,.0070,.0010
9070 DATA 28,GRASS-SL,38.2,.39,.045,.0034,.0010
9080 DATA 29,LEG-G-SL,44.2,.49,.062,.0061,.0010
9090 DATA 31,BRLEY-ST,88.9,.80,.042,.0042,.0009
9100 DATA 32,OATS-ST,88.7,.87,.040,.0034,.0010
9110 DATA 33,WHEAT-ST,91.1,.75,.036,.0028,.0005
9120 DATA 41,BARLEY-G,88.6,1.47,.109,.0007,.0035
9130 DATA 42,OATS-G,90.2,1.37,.105,.0009,.0032
9140 DATA 43,WHEAT-G,88.4,1.56,.140,.0005,.0034
9150 DATA 51,32% BSUP.,90,1.10,.32,.05,.0100
9160 DATA 52,32% DSUP.,90,1.25,.32,.025,.012
9170 DATA 53,UREA,100,0,2.81,0,0
9180 DATA 54,"2:1-MIN.",100,,,.2,.09
9190 DATA 55,"1:1-MIN.",100,,,.18,.18
9200 DATA 56,LIME,100,,,.38,0
9202 DATA 57,CNOLA ML,90,1.24,.370,.0068,.0115
9204 DATA 58,SOY ML,89,1.44,.475,.0032,.0067
9206 DATA 59,DEHY ALFA,92,1.12,.170,.0140,.0020
9210 REM DATA FOR DAIRY COW REQUIREMENTS
9212 DATA 0,24,2.00,.083,.066
9214 DATA 15,29.1,2.77,.103,.078
9216 DATA 20,32.4,3.16,.118,.088
9218 DATA 25,35.7,3.55,.133,.098
9220 DATA 30,39,3.94,.149,.109
9230 DATA 35,42.3,4.33,.164,.120
9240 DATA 40,45.6,4.72,.180,.131
9250 DATA 45,48.9,5.11,.195,.141
9260 DATA 50,52.2,5.5,.211,.152
9270 DATA 55,55.5,5.89,.226,.163
9280 DATA 60,58.8,6.28,.242,.174
9290 DATA 65,62.1,6.67,.258,.185
9300 DATA 70,65.4,7.06,.274,.196
9310 DATA 75,68.7,7.45,.289,.206
9320 DATA 80,72,7.84,.305,.217
9321 DATA 85,75.3,8.23,.321,.228
9322 DATA 90,78.6,8.62,.336,.239
9323 DATA 95,81.9,9.01,.352,.250
9324 DATA 100,85.2,9.41,.367,.260
9325 DATA 105,88.5,9.79,.383,.271
9326 DATA 110,91.8,10.18,.398,.282
9327 DATA 115,95.1,10.57,.414,.293
9328 DATA 120,98.4,10.96,.430,.303
9330 REM ENERGY REQUIREMENTS FOR FEEDLOT STEERS
9340 DATA 12.8,14.0,14.6,16.4,18.1,19.8,21.4,23.0,24.7
9350 DATA 14.7,15.5,17.7,19.7,21.5,23.4,25.4,27.2,29.2
9360 DATA 16.7,17.5,20.2,22.8,24.8,27.8,29.3,31.4,33.8
9362 DATA 17.7,19.0,22.4,25.9,28.1,30.7,33.2,35.7,37.9
9364 DATA 18.7,20.4,24.5,26.9,29.8,32.5,35.3,37.7,40.3
9366 DATA 00.0,21.8,26.7,28.9,33.1,36.1,39.2,41.9,44.8
9370 REM ENERGY REQUIREMENTS FOR FEEDLOT HEIFERS
9372 DATA 13.4,14.7,15.3,17.2,19.5,21.4,23.1,24.8
9374 DATA 15.4,16.2,18.6,21.3,23.2,25.3,27.4,29.4
9376 DATA 17.5,18.4,21.8,24.6,26.8,29.2,31.6,33.9
9378 DATA 18.6,20.0,24.2,28.0,30.3,33.2,35.9,38.6
9380 DATA 19.6,22.0,26.5,29.0,32.2,35.1,38.1,40.7
9382 DATA 00.0,23.5,28.8,31.2,35.7,39.0,42.3,45.3
9390 REM PROTEIN REQUIREMENTS FOR FEEDLOT CATTLE
9400 DATA 1.18,1.25,1.35,1.42,1.50,1.60,1.70,1.81,1.90
9410 DATA 1.31,1.42,1.53,1.62,1.73,1.84,1.97,2.09,2.15
9420 DATA 1.45,1.52,1.65,1.74,1.85,1.95,2.05,2.13,2.20
9430 DATA 1.49,1.70,1.76,1.85,1.98,2.09,2.22,2.36,2.40
9440 DATA 1.69,1.85,1.90,2.02,2.14,2.26,2.37,2.50,2.60
9445 DATA 1.85,1.98,2.08,2.18,2.31,2.44,2.58,2.68,2.75
9450 REM CA & PH REQUIREMENTS FOR FEEDLOT CATTLE
9460 DATA ".036",".029"
9470 DATA ".040",".032"
9480 DATA ".045",".035"
9490 DATA ".047",".035"
9500 DATA ".054",".040"
9510 DATA ".061",".045"
9520 DATA ".061",".045"
9530 DATA ".068",".050"
9540 DATA ".075",".055"
9550 DATA ".081",".060"
9560 DATA ".088",".065"
9565 DATA ".095",".070"
9570 REM DELETE FEEDS SECTION
9580 CLS
9590 PRINT :PRINT :PRINT"DO YOU WISH TO DELETE FEEDS (Y/N)?"
9600 S6$="N":S1=3:S2=36:S3=3:S9=1:GOSUB 9
9610 IF S$="N" THEN RETURN
9620 GOSUB 7740
9630 GOSUB 8450
9640 FOR I=1 TO W1
9650 S1=(I-1)*2+4:S2=1:GOSUB 24:PRINT"DELETE<Y/N>";
9660 S6$="N":S2=13:S3=3:S9=3:GOSUB 9
9670 IF S$="N" GOTO 9690
9680 A(I,1)=0
9690 NEXT I
9700 I2=0:I3=0:PRINT :S1=24:S2=1:PRINT"DELETING THIS MAY TAKE A WHILE"
9710 FOR I=1 TO W1
9720 IF A(I,1)<>0 GOTO 9810
9730 I2=I2+1:I3=I3+1
9740 IF I=W1 GOTO 9810
9750 FOR I1=I TO W1-1
9760 A(I1,1)=A(I1+1,1)
9770 A$(I1,2)=A$(I1+1,2):A$(I1,6)=A$(I1+1,6):A$(I1,7)=A$(I1+1,7)
9780 A(I1,3)=A(I1+1,3):A(I1,4)=A(I1+1,4):A(I1,5)=A(I1+1,5):A(I1,8)=A(I1+1,8)
9790 FA(I1)=FA(I1+1):FB(I1)=FB(I1+1):W(I1)=W(I1+1)
9800 NEXT I1
9810 NEXT I
9820 IF I2>0 THEN W1=W1-I2:I2=0:GOTO 9710
9830 IF W1+1>10 GOTO 9880
9840 FOR I=W1+1 TO W1+I3
9850 A(I,8)=0:FA(I)=0:FB(I)=0:W(I)=0
9860 A(I,1)=0:A$(I,2)="":A$(I,6)="":A$(I,7)="":A(I,3)=0:A(I,4)=0:A(I,5)=0
9870 NEXT I
9880 RETURN
9890 REM DECIDE ON ADD OR CHANGE
9900 CLS
9910 PRINT :PRINT :PRINT"DO YOU WANT TO ADD<A>, CHANGE<C> FEEDS"
9920 PRINT" OR RETURN<R> TO THE FEEDING TABLE?"
9930 S6$="":S1=4:S2=38:S3=2:S9=1:GOSUB 9
9940 IF S$="A" OR S$="C" OR S$="R" THEN RETURN
9950 GOTO 9930
60000 REM this is the logo routine
60010 DEF SEG=0:IF (PEEK(&H410) AND &H30)=&H30 GOTO 60550
60020 S=3.141593
60030 KEY OFF
60040 SCREEN 1
60050 COLOR 0,1
60060 CLS
60070 LINE(0,0)-(319,199),3,B
60080 LINE(5,5)-(314,194),3,B
60090 PAINT(1,1),1,3
60100 DRAW"c3;bm40,100;e60;d60;l5;h15;e4;f10;u40;g50;l5;"
60110 PAINT(43,99),1,3
60120 DRAW"C3;bm110,30;d70;L5;U70;R5;"
60130 PAINT(109,99),1,3
60140 DRAW"C3;bm120,40;d60;L5;U60;R5;"
60150 PAINT(119,99),1,3
60160 CIRCLE(135,83),20,3,1.25*S,0.75*S
60170 CIRCLE(135,83),15,3,1.25*S,0.9*S
60180 DRAW"bm119,96;e5;"
60190 PAINT(135,98),1,3
60200 CIRCLE(170,83),20,3,0.2*S,1.85*S
60210 CIRCLE(170,83),15,3,0.25*S,1.8*S
60220 DRAW"C3;BM182,90;R5;"
60230 DRAW"C3;BM187,75;G10;H3;E7;"
60240 PAINT(170,99),1,3
60250 PAINT(170,67),1,3
60260 DRAW"c3;bm195,100;l5;u34;r5;d34;"
60270 CIRCLE(210,83),20,3,0.55*S,0.76*S
60280 CIRCLE(210,83),15,3,0.59*S,0.8799999*S
60290 DRAW"bm207,66;d5;"
60300 PAINT(194,99),1,3
60310 PAINT(206,69),1,3
60320 DRAW"c3;bm217,100;l5;u40;r5;d5;r7;d5;l7;d30;"
60330 PAINT(216,97),1,3
60340 DRAW"C3;bm265,65;d35;L5;U35;R5;"
60350 CIRCLE(245,83),20,3,0.25*S,1.75*S
60360 CIRCLE(245,83),15,3,0.09999999*S,1.7*S
60370 DRAW"bm261,99;h6;"
60380 PAINT(245,98),1,3
60390 PAINT(264,69),1,3
60400 LOCATE 14,22
60410 PRINT"AGRICULTURE"
60420 LOCATE 18,6
60430 PRINT"LIVESTOCK INDUSTRY DIVISION"
60460 LOCATE 23,5
60470 PRINT"PROVIDED BY ALBERTA AGRICULTURE"
60480 LOCATE 24,3
60490 PRINT"RESPONSIBILITY RESTS WITH THE USER";
60500 FOR S=1 TO 4100
60510 POKE 106,0
60520 IF INKEY$<>"" GOTO 60540
60530 NEXT S
60540 ON ERROR GOTO 0 :SCREEN 0,0,0:RETURN
60550 REM **MONOCHROME LOGO**
60560 KEY OFF:WIDTH 80:CLS:S$=CHR$(219)
60570 PRINT STRING$(75,S$);
60580 FOR S=2 TO 23:LOCATE S,75:PRINT S$;:NEXT
60590 LOCATE 24,1:PRINT STRING$(75,S$);
60600 FOR S=23 TO 2 STEP -1:LOCATE S,1:PRINT S$;:NEXT
60610 '
60620 '
60630 LOCATE 5,28:PRINT "▌"
60640 LOCATE 6,24:PRINT"/▌ ▌ ▌"
60650 LOCATE 7,23:PRINT"/ ▌ ▌ ▌"
60660 LOCATE 8,22:PRINT"/ ▌ ▌ ▌ ▐"
60670 LOCATE 9,21:PRINT"/ ▌ ▌ ▌ __ __ ▐_ __"
60680 LOCATE 10,20:PRINT"/ ▌ ▌ ▌/ \ / \ ▐/ ▐ / \▌"
60690 LOCATE 11,19:PRINT"/ ▌ ▌ █ ▐ ▌ / ▐ ▐ ▌ ▌"
60700 LOCATE 12,18:PRINT"/ \ ▌ ▌ █ ▐ ▌ ▐ ▐ ▌ ▌"
60710 LOCATE 13,17:PRINT"/ \▌ ▌ ▌\__/ \__/ ▐ ▐ \__/▌"
60720 LOCATE 15,36:PRINT"A G R I C U L T U R E"
60730 LOCATE 18,24:PRINT"LIVESTOCK INDUSTRY DIVISION"
60740 LOCATE 21,22:PRINT"PROVIDED BY ALBERTA AGRICULTURE."
60750 LOCATE 22,19:PRINT"RESPONSIBILITY RESTS SOLELY WITH USER"
60760 FOR S=1 TO 1500
60770 S$=INKEY$
60780 IF S$=CHR$(13) GOTO 60800
60790 NEXT S
60800 S$=""
60810 ON ERROR GOTO 0
60820 RETURN
62000 REM THIS IS THE SCREEN PRINT LOADER ACTIVATE WITH 'CALL PRTSCR'
62010 DEF SEG=&H0
62020 POKE &HF1, &HCD
62030 POKE &HF2, &H5
62040 POKE &HF3, &HCB
62050 PRTSCR=&HF1
62060 RETURN
ALBERTA DEPT. OF AGRICULTURE BASIC PROGRAMS - AUG '84
HELLO BAS 6049 Alberta Agricluture menu program - August 1984
BESTCROP BAS 11245 Breakeven prices & yields - March 1982
BFP BAS 21669 Breakeven feeder prices - July 1984
CARCOST BAS 10573 Car or truck costing program - January 1984
CFP BAS 13758 Comparative feed pricing - June 1984
CRCROP BAS 22813 Concensus research crops model - July 1984
DIET BAS 30240 Diet Detective Jr. - March 1983
DOLLAR BAS 30387 Dollar Detective - personal budgeting - March 1983
HAYCRAB BAS 7709 Hay cost returns and analysis - March 1982
LANDPUR BAS 13141 Land purchase decisions - February 1983
LOAN BAS 20059 Loan calculator - August 1984
RATION BAS 24837 Ration balancing - May 1984
COWCRAB BAS 11265 Cow calf risk analysis budget - July 1983
AUTOEXEC BAT 14 Batch file BASICA HELLO
INSTALL BAT 175 Batch file to add system and BASICA to disk
COMMAND COM 17792 DOS 2.1 COMMAND file
BASICA COM 26112 DOS 2.1 BASICA
README DOC 1152 This file
Volume in drive A has no label
Directory of A:\
AUTOEXEC BAT 14 2-24-84 10:14a
BESTCROP BAS 11245 6-14-84 11:03a
BFP BAS 21669 7-10-84 3:52p
CARCOST BAS 10573 6-14-84 11:04a
CFP BAS 13758 6-14-84 11:01a
COMMAND COM 25307 3-17-87 12:00p
COWCRAB BAS 11265 7-12-84 1:33p
CRCROP BAS 22813 7-03-84 11:40a
DIET BAS 30240 6-14-84 11:15a
DOLLAR BAS 30387 7-04-84 2:28p
FILES460 TXT 1176 7-10-86 12:28p
HAYCRAB BAS 7709 6-14-84 11:05a
HELLO BAS 6049 8-28-84 8:35a
INSTALL BAT 175 2-24-84 10:14a
LANDPUR BAS 13141 6-14-84 11:13a
LOAN BAS 20059 8-27-84 12:08a
RATION BAS 24837 6-14-84 10:56a
README DOC 1152 8-18-85 12:14a
18 file(s) 251569 bytes
60416 bytes free