Browse Source

v3.00 Code redesign from Howard Wulf, AF5NE

Editor Note: There appears to be a lot of output artifacts left in this commit
but its included verbatim, as delivered in the official source tar ball for
historical accuracy.  - ChipMaster
tags/v3.00
Jon Foster 2 years ago
parent
commit
2272355008
100 changed files with 6313 additions and 0 deletions
  1. +31
    -0
      .cextrc
  2. +30
    -0
      00INDENT.BAT
  3. +14
    -0
      01INDENT.BAT
  4. +20
    -0
      BP100/00readme.txt
  5. +141
    -0
      BP100/00test.sh
  6. +11
    -0
      BP100/01ok.sh
  7. +206
    -0
      BP100/ACCTPAY.80
  8. +324
    -0
      BP100/ACCTPAY.BAS
  9. +27
    -0
      BP100/ACCTPAY.DAT
  10. +39
    -0
      BP100/ACCTPAY.INP
  11. +206
    -0
      BP100/ACCTPAY.OUT
  12. +0
    -0
      BP100/ACCTPAY.dif
  13. +206
    -0
      BP100/ACCTPAY.run
  14. +206
    -0
      BP100/ACCTREC.80
  15. +322
    -0
      BP100/ACCTREC.BAS
  16. +27
    -0
      BP100/ACCTREC.DAT
  17. +40
    -0
      BP100/ACCTREC.INP
  18. +206
    -0
      BP100/ACCTREC.OUT
  19. +0
    -0
      BP100/ACCTREC.dif
  20. +206
    -0
      BP100/ACCTREC.run
  21. +142
    -0
      BP100/ANNU1.80
  22. +135
    -0
      BP100/ANNU1.BAS
  23. +35
    -0
      BP100/ANNU1.INP
  24. +142
    -0
      BP100/ANNU1.OUT
  25. +0
    -0
      BP100/ANNU1.dif
  26. +142
    -0
      BP100/ANNU1.run
  27. +31
    -0
      BP100/ANNUDEF.80
  28. +49
    -0
      BP100/ANNUDEF.BAS
  29. +9
    -0
      BP100/ANNUDEF.INP
  30. +31
    -0
      BP100/ANNUDEF.OUT
  31. +0
    -0
      BP100/ANNUDEF.dif
  32. +31
    -0
      BP100/ANNUDEF.run
  33. +36
    -0
      BP100/ARBCOMP.80
  34. +51
    -0
      BP100/ARBCOMP.BAS
  35. +9
    -0
      BP100/ARBCOMP.INP
  36. +36
    -0
      BP100/ARBCOMP.OUT
  37. +0
    -0
      BP100/ARBCOMP.dif
  38. +36
    -0
      BP100/ARBCOMP.run
  39. +42
    -0
      BP100/ASSIGN.80
  40. +119
    -0
      BP100/ASSIGN.BAS
  41. +11
    -0
      BP100/ASSIGN.INP
  42. +42
    -0
      BP100/ASSIGN.OUT
  43. +0
    -0
      BP100/ASSIGN.dif
  44. +42
    -0
      BP100/ASSIGN.run
  45. +156
    -0
      BP100/AUTOEXP.80
  46. +239
    -0
      BP100/AUTOEXP.BAS
  47. +3
    -0
      BP100/AUTOEXP.DAT
  48. +34
    -0
      BP100/AUTOEXP.INP
  49. +156
    -0
      BP100/AUTOEXP.OUT
  50. +0
    -0
      BP100/AUTOEXP.dif
  51. +156
    -0
      BP100/AUTOEXP.run
  52. +34
    -0
      BP100/BAYES.80
  53. +55
    -0
      BP100/BAYES.BAS
  54. +11
    -0
      BP100/BAYES.INP
  55. +34
    -0
      BP100/BAYES.OUT
  56. +0
    -0
      BP100/BAYES.dif
  57. +34
    -0
      BP100/BAYES.run
  58. +38
    -0
      BP100/BETAALPH.80
  59. +64
    -0
      BP100/BETAALPH.BAS
  60. +9
    -0
      BP100/BETAALPH.INP
  61. +38
    -0
      BP100/BETAALPH.OUT
  62. +0
    -0
      BP100/BETAALPH.dif
  63. +38
    -0
      BP100/BETAALPH.run
  64. +17
    -0
      BP100/BLACKSH.80
  65. +45
    -0
      BP100/BLACKSH.BAS
  66. +4
    -0
      BP100/BLACKSH.INP
  67. +17
    -0
      BP100/BLACKSH.OUT
  68. +0
    -0
      BP100/BLACKSH.dif
  69. +17
    -0
      BP100/BLACKSH.run
  70. +48
    -0
      BP100/BONDVAL.80
  71. +95
    -0
      BP100/BONDVAL.BAS
  72. +13
    -0
      BP100/BONDVAL.INP
  73. +48
    -0
      BP100/BONDVAL.OUT
  74. +0
    -0
      BP100/BONDVAL.dif
  75. +48
    -0
      BP100/BONDVAL.run
  76. +34
    -0
      BP100/BONDVAL2.80
  77. +40
    -0
      BP100/BONDVAL2.BAS
  78. +8
    -0
      BP100/BONDVAL2.INP
  79. +34
    -0
      BP100/BONDVAL2.OUT
  80. +0
    -0
      BP100/BONDVAL2.dif
  81. +34
    -0
      BP100/BONDVAL2.run
  82. +25
    -0
      BP100/BREAKEVN.80
  83. +31
    -0
      BP100/BREAKEVN.BAS
  84. +7
    -0
      BP100/BREAKEVN.INP
  85. +25
    -0
      BP100/BREAKEVN.OUT
  86. +0
    -0
      BP100/BREAKEVN.dif
  87. +25
    -0
      BP100/BREAKEVN.run
  88. +225
    -0
      BP100/BUSBUD.80
  89. +263
    -0
      BP100/BUSBUD.BAS
  90. +26
    -0
      BP100/BUSBUD.INP
  91. +225
    -0
      BP100/BUSBUD.OUT
  92. +0
    -0
      BP100/BUSBUD.dif
  93. +225
    -0
      BP100/BUSBUD.run
  94. +29
    -0
      BP100/CAP1.80
  95. +38
    -0
      BP100/CAP1.BAS
  96. +6
    -0
      BP100/CAP1.INP
  97. +29
    -0
      BP100/CAP1.OUT
  98. +0
    -0
      BP100/CAP1.dif
  99. +29
    -0
      BP100/CAP1.run
  100. +71
    -0
      BP100/CHECK2.80

+ 31
- 0
.cextrc View File

@@ -0,0 +1,31 @@
#
# File: .cextrc
#
# This config file was generated by version 1.7 of cextract.
# Edit carefully.
#
# Created: Sun Jan 4 17:13:28 2015
#
cpp-program: /lib/cpp -C
!merge-output
dual-output
extract-only !ansi-code
doc-only ansi-code
show-anyway
extract-only !sort
doc-only sort-by-files
wrap-parameters: 0
tab-width: 8
!break-after-types
!first-comments
!prepend-filename
extract-only !yank-comments
doc-only yank-comments
extract-only statics: none
doc-only statics: any
extract-only externs
doc-only !externs
single-comments
define: __CEXTRACT__
doc-only define: __CEXTDOC__
#

+ 30
- 0
00INDENT.BAT View File

@@ -0,0 +1,30 @@
REM Filename: 00INDENT.BAT
REM Purpose: format source code
REM Author: Howard Wulf, AF5NE
REM Date: 2015-01-29
REM Uasage: implementation defined
REM Example:
REM CD \sdcard\Download\BASIC\bwbasic-2.62\
REM 00INDENT.BAT
REM
call 01indent.bat BWBASIC.C
call 01indent.bat BWBASIC.H
call 01indent.bat BWB_CMD.C
call 01indent.bat BWB_CND.C
call 01indent.bat BWB_DIO.C
call 01indent.bat BWB_ELX.C
call 01indent.bat BWB_EXP.C
call 01indent.bat BWB_FNC.C
call 01indent.bat BWB_INP.C
call 01indent.bat BWB_INT.C
call 01indent.bat BWB_OPS.C
call 01indent.bat BWB_PRN.C
call 01indent.bat BWB_STC.C
call 01indent.bat BWB_STR.C
call 01indent.bat BWB_TBL.C
call 01indent.bat BWB_VAR.C
call 01indent.bat BWD_CMD.C
call 01indent.bat BWD_FUN.C
call 01indent.bat BWD_SIX.H
call 01indent.bat BWX_TTY.C
REM EOF

+ 14
- 0
01INDENT.BAT View File

@@ -0,0 +1,14 @@
REM Filename: 00INDENT.BAT
REM Purpose: format source code of one file
REM Author: Howard Wulf, AF5NE
REM Date: 2015-01-29
REM Uasage: implementation defined
REM Example:
REM CD \sdcard\Download\BASIC\bwbasic-2.62\
REM 01INDENT.BAT bwbasic.c
REM
indent.exe %1 -bl -ncdb -nfc1 -nce -ei
xtabs.exe %1 to TEMP.TMP
del %1
ren TEMP.TMP %1
REM EOF

+ 20
- 0
BP100/00readme.txt View File

@@ -0,0 +1,20 @@
These programs appear to work, and are part of regression testing.

Changes made:
a) add missing semicolon/comma in PRINT statements
b) change array names so they were not identical to scalar variable names
c) add spaces around reserved words
d) CASSETTE is not supported, use DISKETTE instead
e) add missing THEN after IF
f) change PRINT #1,X,Y to WRITE #1,X,Y
g) add exit for autmated testing

These programs were downloaded from
http://www.willus.com/trs80/?q=Business+Pac+100

Program: Business Pac 100 (124984)
Author: Dr. Peter Shenkin
Files:
ACCTPAY, ACCTREC, ANNU1, ANNUDEF, ARBCOMP, ASSIGN, AUTOEXP, BAYES, BETAALPH, BLACKSH, BONDVAL, BONDVAL2, BREAKEVN, BUSBUD, CAP1, CHECK2, CHECKBK1, COMPBAL, CONDPROF, CVP, DATE, DATEVAL, DAYYEAR, DEPLETE, DEPRDB, DEPRDDB, DEPRSF, DEPRSL, DEPRSY, DILANAL, DISCBAL, EFFECT, ENVELOPE, EOQ, EPSEST, EXPVAL, FINRAT, FQEOQ, FQEOQPB, FQEOWSH, FUPRINF, FVAL, INSFILE, INVENT2, INVOICE, LABEL1, LABEL2, LEASEINT, LETWRT, LOANAFFD, LOANPAY, MAILPAC, MARKUP, MERGANAL, MORTGAGE.A, MULTMON, NCFANAL, NPV, OPTLOSS, OPTWRITE, PAYNET, PAYROLL2, PORTVAL9, PRINDLAS, PRINDPA, PROFIND, PVAL, QUEUE1, QUEUECB, REGWITH, RENTPRCH, RRCONST, RRCONVBD, RRVARIN, RTVAL, RULE78, SALELEAS, SALVAGE, SEASIND, SELLPR, SHARPE1, SIMPDISK, SIMPLEX, SINKFUND, SORT3, STOCVAL1, TAXDEP, TELDIR, TERMSPAY, TIMECLCK, TIMEMOV, TIMETR, TIMUSAN, TRANS, UPSZONE, UTILITY, VALADINF, VALPRINF, WACC, WARVAL

EOF

+ 141
- 0
BP100/00test.sh View File

@@ -0,0 +1,141 @@
# Puropose: Verify existing BWBASIC behavior
# Author: Howard Wulf
# Date: 2014-03-28
# Usage: implementatino defined
# Example:
# cd /sdcard/Download/BASIC/bwbasic3/BP100
# ash ./00test.sh
#

rm *.80
rm *.OUT
rm *.dif

# ----------------------------------------------
# Regression Tests
# ----------------------------------------------
testcase()
{
TESTCASE=${1}
echo "TESTCASE=${TESTCASE}"
~/bwbasic ${TESTCASE} > ${TESTCASE}.OUT
echo "500 DATA ${TESTCASE}.OUT, ${TESTCASE}.80" > PAD80.INP
~/bwbasic PAD80.BAS
diff ${TESTCASE}.run ${TESTCASE}.80 > ${TESTCASE}.dif
if test -s ${TESTCASE}.dif
then
echo less ${TESTCASE}.dif
fi
}

# ---------------------------------------------
echo "OPTION VERSION BYWATER" > profile.bas
echo "OPTION LABELS OFF" >> profile.bas


testcase ACCTPAY
testcase ACCTREC
testcase ANNU1
testcase ANNUDEF
testcase ARBCOMP
testcase ASSIGN
testcase AUTOEXP
testcase BAYES
testcase BETAALPH
testcase BLACKSH
testcase BONDVAL
testcase BONDVAL2
testcase BREAKEVN
testcase BUSBUD
testcase CAP1
testcase CHECK2
testcase CHECKBK1
testcase COMPBAL
testcase CONDPROF
testcase CVP
testcase DATE
testcase DATEVAL
testcase DAYYEAR
testcase DEPLETE
testcase DEPRDB
testcase DEPRDDB
testcase DEPRSF
testcase DEPRSL
testcase DEPRSY
testcase DILANAL
testcase DISCBAL
testcase EFFECT
testcase ENVELOPE
testcase EOQ
testcase EPSEST
testcase EXPVAL
testcase FINRAT
testcase FQEOQ
testcase FQEOQPB
testcase FQEOWSH
testcase FUPRINF
testcase FVAL
testcase INSFILE
testcase INVENT2
testcase INVOICE
testcase LABEL1
testcase LABEL2
testcase LEASEINT
testcase LETWRT
testcase LOANAFFD
testcase LOANPAY
testcase MAILPAC
testcase MARKUP
testcase MERGANAL
testcase MORTGAGE
testcase MULTMON
testcase NCFANAL
testcase NPV
testcase OPTLOSS
testcase OPTWRITE
testcase PAYNET
testcase PAYROLL2
testcase PORTVAL9
testcase PRINDLAS
testcase PRINDPA
testcase PROFIND
testcase PVAL
testcase QUEUE1
testcase QUEUECB
testcase REGWITH
testcase RENTPRCH
testcase RRCONST
testcase RRCONVBD
testcase RRVARIN
testcase RTVAL
testcase RULE78
testcase SALELEAS
testcase SALVAGE
testcase SEASIND
testcase SELLPR
testcase SHARPE1
testcase SIMPDISK
testcase SIMPLEX
testcase SINKFUND
testcase SORT3
testcase STOCVAL1
testcase TAXDEP
testcase TELDIR
testcase TERMSPAY
testcase TIMECLCK
testcase TIMEMOV
testcase TIMETR
testcase TIMUSAN
testcase TRANS
testcase UPSZONE
testcase UTILITY
testcase VALADINF
testcase VALPRINF
testcase WACC
testcase WARVAL


cat *.dif > dif.OUT
less dif.OUT

# EOF

+ 11
- 0
BP100/01ok.sh View File

@@ -0,0 +1,11 @@
# Puropose: Promote current results to regression
# Author: Howard Wulf
# Date: 2014-03-28
# Usage: implementatino defined
# Example:
# cd /sdcard/Download/BASIC/bwbasic3/BP100
# ash ./01ok.sh
#

for f in *.80; do mv "$f" "${f/.80/.run}"; done
# EOF

+ 206
- 0
BP100/ACCTPAY.80 View File

@@ -0,0 +1,206 @@
ACCOUNTS PAYABLE PROGRAM
THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS PAYABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES PAYABLE. THIS TYPE OF A/P SYSTEM IS TYPICALLY
USED WHEN TOTAL OWED RATHER THAN INDIVIDUAL INVOICES ARE
IMPORTANT. FOR EXAMPLE, MONEY OWED ON CHARGE CARDS IS OF THIS
TYPE. INVOICES ARE KEPT ON FILE UNTIL THE
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR VENDOR FILE(V)? V
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 1
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 9999 0.00 0.00 0.00 0.00
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00
9999VEND. NAME ? TOM CAT
0.00CURRENT OWED ? 12.34
0.0030-60 OWED ? 56.78
0.0060-90 OWED ? 78.91
0.0090+ OWED ? 01.23
0.00PAY LAST MTH ? 65.43
0.00CHG LAST MTH ? 43.21
0.00CUMUL. CHGES ? 98.76
PRESS ENTER TO CONTINUE?
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT
ITEM NUMBER ? 12
0VEND. NUMBER? 1
0.00ITEM AMOUNT ? 34.56
COMMENT ? NICE
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTPAY.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTPAY.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
AGED PAYABLES REPORT
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
TOTALS 12.34 56.78 78.91 1.23
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 4
INVOICE LIST
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
TOTAL CHARGES $34.56
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $34.56
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 5
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 324
- 0
BP100/ACCTPAY.BAS View File

@@ -0,0 +1,324 @@
1 REM ACCTPAY
10 CLS:PRINT TAB(10);"ACCOUNTS PAYABLE PROGRAM":PRINT
20 PRINT "THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS PAYABLE
25 PRINT "SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
30 PRINT "TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
35 PRINT "BALANCES PAYABLE. THIS TYPE OF A/P SYSTEM IS TYPICALLY
40 PRINT "USED WHEN TOTAL OWED RATHER THAN INDIVIDUAL INVOICES ARE
42 PRINT "IMPORTANT. FOR EXAMPLE, MONEY OWED ON CHARGE CARDS IS OF THIS
43 PRINT "TYPE. INVOICES ARE KEPT ON FILE UNTIL THE
45 PRINT "MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
50 PRINT "MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
55 PRINT "ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
56 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
58 CLEAR 2000
59 NC=25:DIM A(NC+1,7),A$(NC+1,1):REM MAX VENDORS IN SYSTEM
60 MI=200:DIM B(MI,1),B$(MI,1):REM MAX INVOICES IN SYSTEM
65 DIM F$(20):REM FORMATTING
70 GOSUB 9000
80 FOR I=1 TO NC:A$(I,1)="9999":NEXT
100 CLS:INPUT "ARE DISK DRIVES ATTACHED(Y/N)";ZD$
110 IF ZD$<>"Y" AND ZD$<>"N" THEN GOSUB 10000:GOTO 100
500 CLS:PRINT " MAIN MENU":PRINT
505 PRINT " 0.QUIT"
510 PRINT " 1.ADD TO OR BEGIN INVOICE/PAYMENT FILE"
520 PRINT " 2.READ FILE IN FROM TAPE
530 PRINT " 3.WRITE FILE OUT ONTO TAPE
540 PRINT " 4.READ FILE IN FROM DISK
550 PRINT " 5.WRITE FILE OUT ONTO DISK
560 PRINT " 6.EDIT FILE
570 PRINT " 7.REPORT GENERATOR
580 PRINT " 8.POST & ELIMINATE INVOICES-UPDATE FILES
600 INPUT "ENTER YOUR CHOICE";Z9
605 IF Z9 = 0 THEN END
610 ON Z9 GOSUB 1000,2000,2100,2200,2300,3000,5000,7000
620 GOTO 500
1000 REM ADD TO OR START FILE ALREADY IN MEMORY
1010 CLS: IF NI=0 THEN PRINT "NEW FILE":GOSUB 10100
1015 I=NI+1
1016 J=I
1020 GOSUB 6050:REM INPUT 1 RECORD
1030 CLS:PRINT F$(1):GOSUB 6300:REM PRINT OUT 1 RECORD
1040 GOSUB 10200:IF Z9$="N" THEN GOTO 1020
1050 IF Z9$="A" THEN RETURN
1060 NI=NI+1:REM NEW RECORD ON FILE
1070 GOSUB 10400:REM MORE?
1080 IF Z9$="Y" THEN GOTO 1010 : ELSE RETURN
2000 REM READ IN FILE FROM TAPE
2010 CLS:PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2015 ' IF ZD$="Y" THEN CMD"T"
2020 INPUT #-1,NI
2030 FOR I=1 TO NI:GOSUB 2700:NEXT I
2035 FOR I=1 TO NC:GOSUB 2500:NEXT I
2040 RETURN
2100 REM WRITE OUT FILE ONTO TAPE
2105 CLS
2110 PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2115 ' IF ZD$="Y" THEN CMD"T"
2130 WRITE #-1,NI
2140 FOR I=1 TO NI:GOSUB 2800:NEXT I
2145 FOR I=1 TO NC:GOSUB 2600:NEXT I
2150 RETURN
2200 REM READ IN FILE FROM DISK
2210 CLS:PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2220 ON ERROR GOTO 2290
2225 INPUT "ENTER NAME OF DATA FILE TO BE READ ";ZN$
2230 OPEN "I",1,ZN$
2240 INPUT # 1,NI
2250 FOR I=1 TO NI:GOSUB 2750:NEXT I
2255 FOR I=1 TO NC:GOSUB 2550:NEXT I
2260 CLOSE # 1
2270 RETURN
2290 PRINT "FILE DOES NOT EXIST":GOSUB 10100:RETURN
2300 REM WRITE FILE OUT TO DISK
2305 CLS
2310 PRINT :PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2315 PRINT "PRESENT FILE NAME IS ";ZN$;:INPUT " NEW NAME";ZN$
2320 OPEN "O",1,ZN$
2330 WRITE # 1,NI
2340 FOR I=1 TO NI:GOSUB 2850:NEXT I
2345 FOR I=1 TO NC:GOSUB 2650:NEXT I
2370 CLOSE # 1
2380 RETURN
2500 REM INPUT 1 VENDOR FROM TAPE
2510 INPUT #-1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7): Z8$=A$(I,1):GOSUB 11000:A$(I,1)=Z8$
2520 RETURN
2550 REM INPUT 1 VENDOR FROM DISKETTE
2560 INPUT # 1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7): Z8$=A$(I,1):GOSUB 11000:A$(I,1)=Z8$
2570 RETURN
2600 REM OUTPUT 1 VENDOR TO TAPE
2610 WRITE #-1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7)
2620 RETURN
2650 REM OUTPUT 1 VENDOR TO DISKETTE
2660 WRITE # 1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7)
2670 RETURN
2700 REM INPUT 1 INVOICE FROM CASSETTE
2710 INPUT #-1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2720 RETURN
2750 REM INPUT 1 INVOICE FROM DISKETTE
2760 INPUT # 1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2770 RETURN
2800 REM OUTPUT 1 INVOICE TO CASSETTE
2810 WRITE #-1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2820 RETURN
2850 REM OUTPUT 1 INVOICE TO DISKETTE
2860 WRITE # 1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2870 RETURN
3000 REM EDIT FILE
3002 CLS:INPUT "EDITING INVOICE FILE(I) OR VENDOR FILE(V)";Z9$
3004 IF Z9$<>"I" AND Z9$<>"V" THEN GOSUB 10000:GOTO 3002
3006 IF Z9$="V" THEN GOTO 3100
3010 CLS:PRINT F$(1)
3020 FOR J=1 TO NI
3030 GOSUB 6300
3050 IF J/12=INT(J/12) THEN GOSUB 4000:PRINT F$(1)
3060 NEXT J
3062 J=J-1
3065 IF J/12=INT(J/12) THEN GOTO 3080
3070 GOSUB 4000
3080 RETURN
3100 REM EDIT VENDOR
3110 CLS
3120 PRINT "VENDOR NUMBER TO EDIT MUST BE LESS THAN";NC+1
3130 PRINT :INPUT "CUSTOMER NUMBER TO EDIT(0 TO END)";I
3135 IF I=0 THEN RETURN
3140 A(I,0)=I:PRINT F$(4):GOSUB 6100:PRINT :PRINT F$(7):GOSUB 6150:PRINT
3150 GOSUB 6000
3160 PRINT :GOSUB 10100:GOTO 3110
4000 REM EDIT SUBROUTINE
4020 PRINT
4025 I=0
4030 INPUT "ENTER # OF ITEM YOU WISH TO EDIT,0 IF NONE";I
4035 IF I=0 THEN RETURN
4040 K=J:J=I:CLS:PRINT F$(1):GOSUB 6300:PRINT :GOSUB 6050
4050 CLS:J=K:GOTO 4025
4060 PRINT :GOSUB 6000
4070 CLS:PRINT " ";F$(2):PRINT " ";F$(3)
4080 FOR J=INT(K/12)*12+1 TO K:PRINT USING "## ";J;:GOSUB 6100:NEXT
4090 GOTO 4020
5000 REM REPORT GENERATOR
5005 CLS:INPUT "IS A LINE PRINTER TO BE USED(Y/N)";Z2$:IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 5005
5007 CLS:PRINT TAB(10);"REPORT MENU":PRINT
5010 PRINT "1. AGED PAYABLES REPORT
5020 PRINT "2. COMPLETE VENDOR LIST
5030 PRINT "3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
5040 PRINT "4. LIST OF ALL INVOICES
5050 PRINT "5. END LIST PROGRAM
5060 PRINT :INPUT "ENTER APPROPRIATE CHOICE";Z9
5065 IF Z9=5 THEN RETURN
5070 ON Z9 GOSUB 5100,5200,5300,5400
5080 GOTO 5007
5100 REM AGED PAYABLES REPORT
5105 FOR I=0 TO 7:V(I)=0:NEXT
5106 CLS
5107 F$="AGED PAYABLES REPORT":PRINT TAB(15); F$:PRINT :IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5110 PRINT F$(4):IF Z2$="Y" THEN LPRINT F$(4):LPRINT " "
5115 FOR I=1 TO NC
5117 IF A$(I,1)="9999" THEN GOTO 5133
5120 GOSUB 6100:IF Z2$="Y" THEN GOSUB 6200
5125 FOR J=1 TO 4:V(J)=V(J)+A(I,J):NEXT
5130 IF I/12=INT(I/12) AND Z2$="N" THEN PRINT :GOSUB 10100
5133 NEXT I
5135 PRINT :IF Z2$="Y" THEN LPRINT " "
5140 PRINT USING F$(6);"TOTALS",V(1),V(2),V(3),V(4)
5150 IF Z2$="Y" THEN LPRINT USING F$(6);"TOTALS",V(1),V(2),V(3),V(4)
5190 PRINT :GOSUB 10100
5195 RETURN
5200 REM COMPLETE VENDOR LIST
5205 F$="VENDOR LIST":PRINT TAB(20); F$:IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5210 CLS
5215 FOR I=1 TO NC
5220 IF A$(I,1)="9999" THEN GOTO 5260
5230 PRINT F$(4):GOSUB 6100:PRINT F$(7):GOSUB 6150
5240 IF Z2$="Y" THEN LPRINT F$(4):GOSUB 6200:LPRINT " ":LPRINT F$(7):GOSUB 6250:LPRINT " ":LPRINT " "
5250 IF Z2$<>"Y" THEN PRINT :GOSUB 10100:PRINT
5260 NEXT I
5290 RETURN
5300 REM COMPLETE CUSTOMER LIST PLUS INVOICES
5310 CLS
5312 F$="VENDOR LIST":PRINT TAB(20); F$:IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5315 FOR I=1 TO NC
5320 IF A$(I,1)="9999" THEN GOTO 5360
5325 FOR J=1 TO 7:V(J)=0:NEXT
5330 PRINT F$(4):GOSUB 6100:PRINT F$(7):GOSUB 6150
5332 PRINT F$(1)
5334 FOR J=1 TO NI
5335 IF B(J,0)=I THEN GOSUB 6300:V(1)=V(1)+B(J,1)
5336 NEXT J
5337 PRINT
5340 IF Z2$="Y" THEN LPRINT F$(4):GOSUB 6200:LPRINT " ":LPRINT F$(7):GOSUB 6250:LPRINT " "
5345 IF Z2$<>"Y" THEN GOTO 5355
5347 LPRINT F$(1)
5348 FOR J=1 TO NI
5349 IF B(J,0)=I THEN GOSUB 6350
5350 NEXT J
5351 IF Z2$="Y" THEN LPRINT "CHANGE IN OWED THIS MONTH = ";V(1)
5352 IF Z2$="Y" THEN LPRINT " ":LPRINT " "
5355 IF Z2$<>"Y" THEN PRINT :GOSUB 10100
5360 NEXT I
5370 RETURN
5400 REM COMPLETE INVOICE LIST
5410 CLS
5415 F$="INVOICE LIST":PRINT TAB(25); F$:PRINT :IF Z2$="Y" THEN LPRINT TAB(25); F$:LPRINT " "
5420 V(0)=0:V(1)=0:V(2)=0
5430 PRINT F$(1):IF Z2$="Y" THEN LPRINT F$(1):LPRINT " "
5440 FOR J= 1 TO NI
5450 GOSUB 6300:IF Z2$="Y" THEN GOSUB 6350
5455 V(0)=V(0)+B(J,1)
5460 IF B(J,1)>0 THEN V(1)=V(1)+B(J,1) : ELSE V(2)=V(2)+B(J,1)
5470 IF Z2$<>"Y" AND J/12=INT(J/12) THEN PRINT :GOSUB 10100:CLS:PRINT F$(1)
5475 NEXT J
5480 PRINT USING F$(3);"TOTAL CHARGES",V(1)
5482 PRINT USING F$(3);"TOTAL PAYMENTS",V(2)
5484 PRINT USING F$(3);"CHG-PAYMENTS ",V(0)
5486 IF Z2$<>"Y" THEN GOTO 5495
5488 LPRINT USING F$(3);"TOTAL CHARGES",V(1)
5489 LPRINT USING F$(3);"TOTAL PAYMENTS",V(2)
5490 LPRINT USING F$(3);"CHG-PAYMENTS ",V(0)
5495 PRINT :GOSUB 10100
5499 RETURN
6000 REM SBR FOR INPUTTING DATA ON 1 VENDOR
6005 F$(9)="% % "
6006 F$(10)=" #####.## "
6010 A(I,0)=I
6015 PRINT USING F$(9);A$(I,1),:INPUT "VEND. NAME ";A$(I,1)
6018 PRINT USING F$(10);A(I,1),:INPUT "CURRENT OWED ";A(I,1)
6020 PRINT USING F$(10);A(I,2),:INPUT "30-60 OWED ";A(I,2)
6022 PRINT USING F$(10);A(I,3),:INPUT "60-90 OWED ";A(I,3)
6024 PRINT USING F$(10);A(I,4),:INPUT "90+ OWED ";A(I,4)
6026 PRINT USING F$(10);A(I,5),:INPUT "PAY LAST MTH ";A(I,5)
6028 PRINT USING F$(10);A(I,6),:INPUT "CHG LAST MTH ";A(I,6)
6030 PRINT USING F$(10);A(I,7),:INPUT "CUMUL. CHGES ";A(I,7)
6040 RETURN
6050 REM SBR FOR INPUTTING DATA FOR 1 INVOICE
6055 F$(9)=" % %":F$(10)=" ######.## ": F$(11)=" ### "
6057 PRINT :PRINT "ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT":PRINT
6060 PRINT USING F$(9);B$(I,0),:INPUT "ITEM NUMBER ";B$(I,0)
6065 PRINT USING F$(11);B(I,0),:INPUT "VEND. NUMBER";B(I,0)
6067 IF B(I,0)>NC THEN PRINT "ILLEGAL VENDOR NUMBER":GOTO 6065
6068 IF A$(B(I,0),1)="9999" THEN PRINT "ILLEGAL VENDOR NUMBER":GOTO 6065
6070 PRINT USING F$(10);B(I,1),:INPUT "ITEM AMOUNT ";B(I,1)
6075 PRINT USING F$(9);B$(I,1),:INPUT "COMMENT ";B$(I,1)
6099 RETURN
6100 REM PRINT VENDOR 1ST LINE ON CRT
6110 PRINT USING F$(5);A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4)
6120 RETURN
6150 REM PRINT VENDOR 2ND LINE ON CRT
6160 PRINT USING F$(8);A(I,5),A(I,6),A(I,7)
6170 RETURN
6200 REM PRINT VENDOR 1ST LINE ON PRINTER
6210 LPRINT USING F$(5);A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4)
6220 RETURN
6250 REM PRINT VENDOR 2ND LINE ON PRINTER
6260 LPRINT USING F$(8);A(I,5),A(I,6),A(I,7)
6270 RETURN
6300 REM PRINT 1 INVOICE LINE ON CRT
6310 PRINT USING F$(2);J,B$(J,0),B(J,0),B(J,1),B$(J,1)
6320 RETURN
6350 REM PRINT 1 INVOICE LINE ON PRINTER
6360 IF Z2$="Y" THEN LPRINT USING F$(2);J,B$(J,0),B(J,0),B(J,1),B$(J,1)
6370 RETURN
7000 REM POST TO ACCTS.
7010 CLS
7020 INPUT "POSTING ACCTS-PRESS Y TO PROCEED,N TO RETURN";Z9$
7030 IF Z9$="N" THEN RETURN
7040 IF Z9$<>"Y" THEN GOSUB 10000:PRINT :GOTO 7020
7050 FOR I=1 TO NC:A(I,5)=0:A(I,6)=0:NEXT I
7060 FOR I=1 TO NI
7070 IF B(I,1)>0 THEN A(B(I,0),6)=A(B(I,0),6)+B(I,1) : ELSE A(B(I,0),5)=A(B(I,0),5)+B(I,1)
7080 NEXT I
7100 PRINT :INPUT "ARE OWED BY DATE AND CUMULATIVE BILL TO BE UPDATED(Y/N)";Z3$
7110 IF Z3$<>"Y" AND Z3$<>"N" THEN GOSUB 10000:GOTO 7100
7120 IF Z3$="N" THEN RETURN
7150 REM UPDATE FILES
7155 NI=0:B$(1,0)="":B(1,0)=0:B(1,1)=0:B$(1,1)=""
7160 FOR I = 1 TO NC
7165 A(I,7)=A(I,7)+A(I,6)
7170 A(I,4)=A(I,4)+A(I,3):A(I,3)=A(I,2):A(I,2)=A(I,1):A(I,1)=A(I,6)
7180 REM NOW APPLY PAYMENTS
7185 AA=A(I,5)
7190 FOR J=4 TO 1 STEP -1
7195 IF AA=0 THEN GOTO 7290
7200 IF A(I,J)=0 THEN GOTO 7290
7210 A(I,J)=A(I,J)+AA:IF A(I,J)>=0 THEN AA=0:GOTO 7290
7220 AA=A(I,J):A(I,J)=0
7290 NEXT J
7300 A(I,1)=AA+A(I,1)
7310 NEXT I
7320 RETURN
9000 REM FORMATTING VARIABLES
9010 F$(1)=" NO. ITEM # VENDOR # ITEM AMOUNT COMMENT"
9020 F$(2)="### % % ### #####.## % %"
9030 F$(3)=" % % $$######.##"
9040 F$(4)="VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+"
9050 F$(5)=" ### % % #####.## #####.## #####.## #####.##"
9060 F$(6)=" % % ######.## ######.## ######.## ######.##"
9070 F$(7)=" PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES"
9080 F$(8)=" $$#####.## $$#####.## $$######.##"
9099 RETURN
10000 REM INPUT ERROR SBR
10010 PRINT "INPUT ERROR! TRY AGAIN!":FOR Z9=1 TO 300:NEXT Z9
10020 RETURN
10100 INPUT "PRESS ENTER TO CONTINUE";Z9:RETURN
10200 REM Y,N,A SBR
10205 Z9$=" "
10210 INPUT "ENTER Y IF OK,N IF ERROR,A TO ABORT";Z9$
10220 IF Z9$<>"Y" AND Z9$<>"N" AND Z9$<>"A" THEN GOSUB 10000:GOTO 10205
10230 RETURN
10300 REM Y,N SBR
10305 Z9$=" "
10310 INPUT "ENTER Y IF OK, N IF ERROR";Z9$
10320 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10305
10330 RETURN
10400 REM MORE ENTRY? SBR
10405 Z9$=" "
10410 INPUT "DO YOU DESIRE MORE ENTRIES(Y/N)";Z9$
10420 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10405
10430 RETURN
10500 REM ONLY Y/N SBR
10510 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000
10520 RETURN
11000 REM ELIMINATES TRAILING BLANKS OF VARIABLE Z8$
11010 IF RIGHT$(Z8$,1)=" " THEN Z8$=LEFT$(Z8$,LEN(Z8$)-1):GOTO 11010
11020 RETURN


+ 27
- 0
BP100/ACCTPAY.DAT View File

@@ -0,0 +1,27 @@
1
"12", 1, 34.56,"NICE"
1,"TOM CAT", 12.34, 56.78, 78.91, 1.23, 65.43, 43.21, 98.76
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0

+ 39
- 0
BP100/ACCTPAY.INP View File

@@ -0,0 +1,39 @@

Y
6
V
1
TOM CAT
12.34
56.78
78.91
01.23
65.43
43.21
98.76

0
1

12
1
34.56
NICE
Y
N
5

ACCTPAY.DAT
4

ACCTPAY.DAT
7
Y
1

2
3
4

5
0

+ 206
- 0
BP100/ACCTPAY.OUT View File

@@ -0,0 +1,206 @@
ACCOUNTS PAYABLE PROGRAM

THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS PAYABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES PAYABLE. THIS TYPE OF A/P SYSTEM IS TYPICALLY
USED WHEN TOTAL OWED RATHER THAN INDIVIDUAL INVOICES ARE
IMPORTANT. FOR EXAMPLE, MONEY OWED ON CHARGE CARDS IS OF THIS
TYPE. INVOICES ARE KEPT ON FILE UNTIL THE
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.

PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR VENDOR FILE(V)? V
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26

CUSTOMER NUMBER TO EDIT(0 TO END)? 1
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 9999 0.00 0.00 0.00 0.00

PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00

9999VEND. NAME ? TOM CAT
0.00CURRENT OWED ? 12.34
0.0030-60 OWED ? 56.78
0.0060-90 OWED ? 78.91
0.0090+ OWED ? 01.23
0.00PAY LAST MTH ? 65.43
0.00CHG LAST MTH ? 43.21
0.00CUMUL. CHGES ? 98.76

PRESS ENTER TO CONTINUE?
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26

CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?

ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT

ITEM NUMBER ? 12
0VEND. NUMBER? 1
0.00ITEM AMOUNT ? 34.56
COMMENT ? NICE
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5

PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTPAY.DAT
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTPAY.DAT
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU

1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 1
AGED PAYABLES REPORT

VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23

TOTALS 12.34 56.78 78.91 1.23

PRESS ENTER TO CONTINUE?
REPORT MENU

1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 2
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
REPORT MENU

1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 3
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE

REPORT MENU

1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 4
INVOICE LIST

NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
TOTAL CHARGES $34.56
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $34.56

PRESS ENTER TO CONTINUE?
REPORT MENU

1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 5
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 0
- 0
BP100/ACCTPAY.dif View File


+ 206
- 0
BP100/ACCTPAY.run View File

@@ -0,0 +1,206 @@
ACCOUNTS PAYABLE PROGRAM
THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS PAYABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES PAYABLE. THIS TYPE OF A/P SYSTEM IS TYPICALLY
USED WHEN TOTAL OWED RATHER THAN INDIVIDUAL INVOICES ARE
IMPORTANT. FOR EXAMPLE, MONEY OWED ON CHARGE CARDS IS OF THIS
TYPE. INVOICES ARE KEPT ON FILE UNTIL THE
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR VENDOR FILE(V)? V
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 1
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 9999 0.00 0.00 0.00 0.00
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00
9999VEND. NAME ? TOM CAT
0.00CURRENT OWED ? 12.34
0.0030-60 OWED ? 56.78
0.0060-90 OWED ? 78.91
0.0090+ OWED ? 01.23
0.00PAY LAST MTH ? 65.43
0.00CHG LAST MTH ? 43.21
0.00CUMUL. CHGES ? 98.76
PRESS ENTER TO CONTINUE?
VENDOR NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT
ITEM NUMBER ? 12
0VEND. NUMBER? 1
0.00ITEM AMOUNT ? 34.56
COMMENT ? NICE
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTPAY.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTPAY.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
AGED PAYABLES REPORT
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
TOTALS 12.34 56.78 78.91 1.23
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
VENDOR LIST
VEND.NO. VEND.NAME CURRENT 30-60 60-90 90+
1 TOM CAT 12.34 56.78 78.91 1.23
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$65.43 $43.21 $98.76
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 4
INVOICE LIST
NO. ITEM # VENDOR # ITEM AMOUNT COMMENT
1 12 1 34.56 NICE
TOTAL CHARGES $34.56
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $34.56
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED PAYABLES REPORT
2. COMPLETE VENDOR LIST
3. COMPLETE VENDOR LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 5
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 206
- 0
BP100/ACCTREC.80 View File

@@ -0,0 +1,206 @@
ACCOUNTS RECEIVABLE PROGRAM
THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS RECEIVABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES RECEIVABLE. THIS TYPE OF A/R SYSTEM IS TYPICALLY
USED BY PROFESSIONALS. INVOICES ARE KEPT ON FILE UNTIL
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR CUSTOMER FILE(C)? C
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 3
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 9999 0.00 0.00 0.00 0.00
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00
9999CUST. NAME ? JERRY MOUSE
0.00CURRENT OWED ? 98.76
0.0030-60 OWED ? 54.32
0.0060-90 OWED ? 10.98
0.0090+ OWED ? 23.45
0.00PAY LAST MTH ? 476.32
0.00CHG LAST MTH ? 642.96
0.00CUMUL. CHGES ? 83.82
PRESS ENTER TO CONTINUE?
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT
ITEM NUMBER ? 34-AB-45/2
0CUST. NUMBER? 12
ILLEGAL CUSTOMER NUMBER
12CUST. NUMBER? 3
0.00ITEM AMOUNT ? 87.01
COMMENT ? CAT FOOD
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTREC.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTREC.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
AGED RECEIVABLES REPORT
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
TOTALS 98.76 54.32 10.98 23.45
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 4
INVOICE LIST
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
TOTAL CHARGES $87.01
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $87.01
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 5
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 322
- 0
BP100/ACCTREC.BAS View File

@@ -0,0 +1,322 @@
1 REM ACCTREC
10 CLS:PRINT TAB(10);"ACCOUNTS RECEIVABLE PROGRAM":PRINT
20 PRINT "THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS RECEIVABLE
25 PRINT "SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
30 PRINT "TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
35 PRINT "BALANCES RECEIVABLE. THIS TYPE OF A/R SYSTEM IS TYPICALLY
40 PRINT "USED BY PROFESSIONALS. INVOICES ARE KEPT ON FILE UNTIL
45 PRINT "MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
50 PRINT "MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
55 PRINT "ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
56 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
58 CLEAR 2000
59 NC=25:DIM A(NC+1,7),A$(NC+1,1)
60 MI=200:DIM B(MI,1),B$(MI,1):REM MAX INVOICES IN SYSTEM
65 DIM F$(20):REM FORMATTING
70 GOSUB 9000
80 FOR I=1 TO NC:A$(I,1)="9999":NEXT
100 CLS:INPUT "ARE DISK DRIVES ATTACHED(Y/N)";ZD$
110 IF ZD$<>"Y" AND ZD$<>"N" THEN GOSUB 10000:GOTO 100
500 CLS:PRINT " MAIN MENU":PRINT
505 PRINT " 0.QUIT"
510 PRINT " 1.ADD TO OR BEGIN INVOICE/PAYMENT FILE"
520 PRINT " 2.READ FILE IN FROM TAPE
530 PRINT " 3.WRITE FILE OUT ONTO TAPE
540 PRINT " 4.READ FILE IN FROM DISK
550 PRINT " 5.WRITE FILE OUT ONTO DISK
560 PRINT " 6.EDIT FILE
570 PRINT " 7.REPORT GENERATOR
580 PRINT " 8.POST & ELIMINATE INVOICES-UPDATE FILES
600 INPUT "ENTER YOUR CHOICE";Z9
605 IF Z9 = 0 THEN END
610 ON Z9 GOSUB 1000,2000,2100,2200,2300,3000,5000,7000
620 GOTO 500
1000 REM ADD TO OR START FILE ALREADY IN MEMORY
1010 CLS: IF NI=0 THEN PRINT "NEW FILE":GOSUB 10100
1015 I=NI+1
1016 J=I
1020 GOSUB 6050:REM INPUT 1 RECORD
1030 CLS:PRINT F$(1):GOSUB 6300:REM PRINT OUT 1 RECORD
1040 GOSUB 10200:IF Z9$="N" THEN GOTO 1020
1050 IF Z9$="A" THEN RETURN
1060 NI=NI+1:REM NEW RECORD ON FILE
1070 GOSUB 10400:REM MORE?
1080 IF Z9$="Y" THEN GOTO 1010 : ELSE RETURN
2000 REM READ IN FILE FROM TAPE
2010 CLS:PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2015 ' IF ZD$="Y" THEN CMD"T"
2020 INPUT #-1,NI
2030 FOR I=1 TO NI:GOSUB 2700:NEXT I
2035 FOR I=1 TO NC:GOSUB 2500:NEXT I
2040 RETURN
2100 REM WRITE OUT FILE ONTO TAPE
2105 CLS
2110 PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2115 ' IF ZD$="Y" THEN CMD"T"
2130 WRITE #-1,NI
2140 FOR I=1 TO NI:GOSUB 2800:NEXT I
2145 FOR I=1 TO NC:GOSUB 2600:NEXT I
2150 RETURN
2200 REM READ IN FILE FROM DISK
2210 CLS:PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2220 ON ERROR GOTO 2290
2225 INPUT "ENTER NAME OF DATA FILE TO BE READ ";ZN$
2230 OPEN "I",1,ZN$
2240 INPUT # 1,NI
2250 FOR I=1 TO NI:GOSUB 2750:NEXT I
2255 FOR I=1 TO NC:GOSUB 2550:NEXT I
2260 CLOSE # 1
2270 RETURN
2290 PRINT "FILE DOES NOT EXIST":GOSUB 10100:RETURN
2300 REM WRITE FILE OUT TO DISK
2305 CLS
2310 PRINT :PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2315 PRINT "PRESENT FILE NAME IS ";ZN$;:INPUT " NEW NAME";ZN$
2320 OPEN "O",1,ZN$
2330 WRITE # 1,NI
2340 FOR I=1 TO NI:GOSUB 2850:NEXT I
2345 FOR I=1 TO NC:GOSUB 2650:NEXT I
2370 CLOSE # 1
2380 RETURN
2500 REM INPUT 1 CUSTOMER FROM TAPE
2510 INPUT #-1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7): Z8$=A$(I,1):GOSUB 11000:A$(I,1)=Z8$
2520 RETURN
2550 REM INPUT 1 CUSTOMER FROM DISKETTE
2560 INPUT # 1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7): Z8$=A$(I,1):GOSUB 11000:A$(I,1)=Z8$
2570 RETURN
2600 REM OUTPUT 1 CUSTOMER TO TAPE
2610 WRITE #-1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7)
2620 RETURN
2650 REM OUTPUT 1 CUSTOMER TO DISKETTE
2660 WRITE # 1,A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6),A(I,7)
2670 RETURN
2700 REM INPUT 1 INVOICE FROM CASSETTE
2710 INPUT #-1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2720 RETURN
2750 REM INPUT 1 INVOICE FROM DISKETTE
2760 INPUT # 1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2770 RETURN
2800 REM OUTPUT 1 INVOICE TO CASSETTE
2810 WRITE #-1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2820 RETURN
2850 REM OUTPUT 1 INVOICE TO DISKETTE
2860 WRITE # 1,B$(I,0),B(I,0),B(I,1),B$(I,1)
2870 RETURN
3000 REM EDIT FILE
3002 CLS:INPUT "EDITING INVOICE FILE(I) OR CUSTOMER FILE(C)";Z9$
3004 IF Z9$<>"I" AND Z9$<>"C" THEN GOSUB 10000:GOTO 3002
3006 IF Z9$="C" THEN GOTO 3100
3010 CLS:PRINT F$(1)
3020 FOR J=1 TO NI
3030 GOSUB 6300
3050 IF J/12=INT(J/12) THEN GOSUB 4000:PRINT F$(1)
3060 NEXT J
3062 J=J-1
3065 IF J/12=INT(J/12) THEN GOTO 3080
3070 GOSUB 4000
3080 RETURN
3100 REM EDIT CUSTOMER
3110 CLS
3120 PRINT "CUSTOMER NUMBER TO EDIT MUST BE LESS THAN";NC+1
3130 PRINT :INPUT "CUSTOMER NUMBER TO EDIT(0 TO END)";I
3135 IF I=0 THEN RETURN
3140 A(I,0)=I:PRINT F$(4):GOSUB 6100:PRINT :PRINT F$(7):GOSUB 6150:PRINT
3150 GOSUB 6000
3160 PRINT :GOSUB 10100:GOTO 3110
4000 REM EDIT SUBROUTINE
4020 PRINT
4025 I=0
4030 INPUT "ENTER # OF ITEM YOU WISH TO EDIT,0 IF NONE";I
4035 IF I=0 THEN RETURN
4040 K=J:J=I:CLS:PRINT F$(1):GOSUB 6300:PRINT :GOSUB 6050
4050 CLS:J=K:GOTO 4025
4060 PRINT :GOSUB 6000
4070 CLS:PRINT " ";F$(2):PRINT " ";F$(3)
4080 FOR J=INT(K/12)*12+1 TO K:PRINT USING "## ";J;:GOSUB 6100:NEXT
4090 GOTO 4020
5000 REM REPORT GENERATOR
5005 CLS:INPUT "IS A LINE PRINTER TO BE USED(Y/N)";Z2$:IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 5005
5007 CLS:PRINT TAB(10);"REPORT MENU":PRINT
5010 PRINT "1. AGED RECEIVABLES REPORT
5020 PRINT "2. COMPLETE CUSTOMER LIST
5030 PRINT "3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
5040 PRINT "4. LIST OF ALL INVOICES
5050 PRINT "5. END LIST PROGRAM
5060 PRINT :INPUT "ENTER APPROPRIATE CHOICE";Z9
5065 IF Z9=5 THEN RETURN
5070 ON Z9 GOSUB 5100,5200,5300,5400
5080 GOTO 5007
5100 REM AGED RECEIVABLES REPORT
5105 FOR I=0 TO 7:V(I)=0:NEXT
5106 CLS
5107 F$="AGED RECEIVABLES REPORT":PRINT TAB(15); F$:PRINT :IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5110 PRINT F$(4):IF Z2$="Y" THEN LPRINT F$(4):LPRINT " "
5115 FOR I=1 TO NC
5117 IF A$(I,1)="9999" THEN GOTO 5133
5120 GOSUB 6100:IF Z2$="Y" THEN GOSUB 6200
5125 FOR J=1 TO 4:V(J)=V(J)+A(I,J):NEXT
5130 IF I/12=INT(I/12) AND Z2$="N" THEN PRINT :GOSUB 10100
5133 NEXT I
5135 PRINT :IF Z2$="Y" THEN LPRINT " "
5140 PRINT USING F$(6);"TOTALS",V(1),V(2),V(3),V(4)
5150 IF Z2$="Y" THEN LPRINT USING F$(6);"TOTALS",V(1),V(2),V(3),V(4)
5190 PRINT :GOSUB 10100
5195 RETURN
5200 REM COMPLETE CUSTOMER LIST
5205 F$="CUSTOMER LIST":PRINT TAB(20); F$:IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5210 CLS
5215 FOR I=1 TO NC
5220 IF A$(I,1)="9999" THEN GOTO 5260
5230 PRINT F$(4):GOSUB 6100:PRINT F$(7):GOSUB 6150
5240 IF Z2$="Y" THEN LPRINT F$(4):GOSUB 6200:LPRINT " ":LPRINT F$(7):GOSUB 6250:LPRINT " ":LPRINT " "
5250 IF Z2$<>"Y" THEN PRINT :GOSUB 10100:PRINT
5260 NEXT I
5290 RETURN
5300 REM COMPLETE CUSTOMER LIST PLUS INVOICES
5310 CLS
5312 F$="CUSTOMER LIST":PRINT TAB(20); F$:IF Z2$="Y" THEN LPRINT TAB(20); F$:LPRINT " "
5315 FOR I=1 TO NC
5320 IF A$(I,1)="9999" THEN GOTO 5360
5325 FOR J=1 TO 7:V(J)=0:NEXT
5330 PRINT F$(4):GOSUB 6100:PRINT F$(7):GOSUB 6150
5332 PRINT F$(1)
5334 FOR J=1 TO NI
5335 IF B(J,0)=I THEN GOSUB 6300:V(1)=V(1)+B(J,1)
5336 NEXT J
5337 PRINT
5340 IF Z2$="Y" THEN LPRINT F$(4):GOSUB 6200:LPRINT " ":LPRINT F$(7):GOSUB 6250:LPRINT " "
5345 IF Z2$<>"Y" THEN GOTO 5355
5347 LPRINT F$(1)
5348 FOR J=1 TO NI
5349 IF B(J,0)=I THEN GOSUB 6350
5350 NEXT J
5351 IF Z2$="Y" THEN LPRINT "CHANGE IN OWED THIS MONTH = ";V(1)
5352 IF Z2$="Y" THEN LPRINT " ":LPRINT " "
5355 IF Z2$<>"Y" THEN PRINT :GOSUB 10100
5360 NEXT I
5370 RETURN
5400 REM COMPLETE INVOICE LIST
5410 CLS
5415 F$="INVOICE LIST":PRINT TAB(25); F$:PRINT :IF Z2$="Y" THEN LPRINT TAB(25); F$:LPRINT " "
5420 V(0)=0:V(1)=0:V(2)=0
5430 PRINT F$(1):IF Z2$="Y" THEN LPRINT F$(1):LPRINT " "
5440 FOR J= 1 TO NI
5450 GOSUB 6300:IF Z2$="Y" THEN GOSUB 6350
5455 V(0)=V(0)+B(J,1)
5460 IF B(J,1)>0 THEN V(1)=V(1)+B(J,1) : ELSE V(2)=V(2)+B(J,1)
5470 IF Z2$<>"Y" AND J/12=INT(J/12) THEN PRINT :GOSUB 10100:CLS:PRINT F$(1)
5475 NEXT J
5480 PRINT USING F$(3);"TOTAL CHARGES",V(1)
5482 PRINT USING F$(3);"TOTAL PAYMENTS",V(2)
5484 PRINT USING F$(3);"CHG-PAYMENTS ",V(0)
5486 IF Z2$<>"Y" THEN GOTO 5495
5488 LPRINT USING F$(3);"TOTAL CHARGES",V(1)
5489 LPRINT USING F$(3);"TOTAL PAYMENTS",V(2)
5490 LPRINT USING F$(3);"CHG-PAYMENTS ",V(0)
5495 PRINT :GOSUB 10100
5499 RETURN
6000 REM SBR FOR INPUTTING DATA ON 1 CUSTOMER
6005 F$(9)="% % "
6006 F$(10)=" #####.## "
6010 A(I,0)=I
6015 PRINT USING F$(9);A$(I,1),:INPUT "CUST. NAME ";A$(I,1)
6018 PRINT USING F$(10);A(I,1),:INPUT "CURRENT OWED ";A(I,1)
6020 PRINT USING F$(10);A(I,2),:INPUT "30-60 OWED ";A(I,2)
6022 PRINT USING F$(10);A(I,3),:INPUT "60-90 OWED ";A(I,3)
6024 PRINT USING F$(10);A(I,4),:INPUT "90+ OWED ";A(I,4)
6026 PRINT USING F$(10);A(I,5),:INPUT "PAY LAST MTH ";A(I,5)
6028 PRINT USING F$(10);A(I,6),:INPUT "CHG LAST MTH ";A(I,6)
6030 PRINT USING F$(10);A(I,7),:INPUT "CUMUL. CHGES ";A(I,7)
6040 RETURN
6050 REM SBR FOR INPUTTING DATA FOR 1 INVOICE
6055 F$(9)=" % %":F$(10)=" ######.## ": F$(11)=" ### "
6057 PRINT :PRINT "ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT":PRINT
6060 PRINT USING F$(9);B$(I,0),:INPUT "ITEM NUMBER ";B$(I,0)
6065 PRINT USING F$(11);B(I,0),:INPUT "CUST. NUMBER";B(I,0)
6067 IF B(I,0)>NC THEN PRINT "ILLEGAL CUSTOMER NUMBER":GOTO 6065
6068 IF A$(B(I,0),1)="9999" THEN PRINT "ILLEGAL CUSTOMER NUMBER":GOTO 6065
6070 PRINT USING F$(10);B(I,1),:INPUT "ITEM AMOUNT ";B(I,1)
6075 PRINT USING F$(9);B$(I,1),:INPUT "COMMENT ";B$(I,1)
6099 RETURN
6100 REM PRINT CUSTOMER 1ST LINE ON CRT
6110 PRINT USING F$(5);A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4)
6120 RETURN
6150 REM PRINT CUSTOMER 2ND LINE ON CRT
6160 PRINT USING F$(8);A(I,5),A(I,6),A(I,7)
6170 RETURN
6200 REM PRINT CUSTOMER 1ST LINE ON PRINTER
6210 LPRINT USING F$(5);A(I,0),A$(I,1),A(I,1),A(I,2),A(I,3),A(I,4)
6220 RETURN
6250 REM PRINT CUSTOMER 2ND LINE ON PRINTER
6260 LPRINT USING F$(8);A(I,5),A(I,6),A(I,7)
6270 RETURN
6300 REM PRINT 1 INVOICE LINE ON CRT
6310 PRINT USING F$(2);J,B$(J,0),B(J,0),B(J,1),B$(J,1)
6320 RETURN
6350 REM PRINT 1 INVOICE LINE ON PRINTER
6360 IF Z2$="Y" THEN LPRINT USING F$(2);J,B$(J,0),B(J,0),B(J,1),B$(J,1)
6370 RETURN
7000 REM POST TO ACCTS.
7010 CLS
7020 INPUT "POSTING ACCTS-PRESS Y TO PROCEED,N TO RETURN";Z9$
7030 IF Z9$="N" THEN RETURN
7040 IF Z9$<>"Y" THEN GOSUB 10000:PRINT :GOTO 7020
7050 FOR I=1 TO NC:A(I,5)=0:A(I,6)=0:NEXT I
7060 FOR I=1 TO NI
7070 IF B(I,1)>0 THEN A(B(I,0),6)=A(B(I,0),6)+B(I,1) : ELSE A(B(I,0),5)=A(B(I,0),5)+B(I,1)
7080 NEXT I
7100 PRINT :INPUT "ARE OWED BY DATE AND CUMULATIVE BILL TO BE UPDATED(Y/N)";Z3$
7110 IF Z3$<>"Y" AND Z3$<>"N" THEN GOSUB 10000:GOTO 7100
7120 IF Z3$="N" THEN RETURN
7150 REM UPDATE FILES
7155 NI=0:B$(1,0)="":B(1,0)=0:B(1,1)=0:B$(1,1)=""
7160 FOR I = 1 TO NC
7165 A(I,7)=A(I,7)+A(I,6)
7170 A(I,4)=A(I,4)+A(I,3):A(I,3)=A(I,2):A(I,2)=A(I,1):A(I,1)=A(I,6)
7180 REM NOW APPLY PAYMENTS
7185 AA=A(I,5)
7190 FOR J=4 TO 1 STEP -1
7195 IF AA=0 THEN GOTO 7290
7200 IF A(I,J)=0 THEN GOTO 7290
7210 A(I,J)=A(I,J)+AA:IF A(I,J)>=0 THEN AA=0:GOTO 7290
7220 AA=A(I,J):A(I,J)=0
7290 NEXT J
7300 A(I,1)=AA+A(I,1)
7310 NEXT I
7320 RETURN
9000 REM FORMATTING VARIABLES
9010 F$(1)=" NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT"
9020 F$(2)="### % % ### #####.## % %"
9030 F$(3)=" % % $$######.##"
9040 F$(4)="CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+"
9050 F$(5)=" ### % % #####.## #####.## #####.## #####.##"
9060 F$(6)=" % % ######.## ######.## ######.## ######.##"
9070 F$(7)=" PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES"
9080 F$(8)=" $$#####.## $$#####.## $$######.##"
9099 RETURN
10000 REM INPUT ERROR SBR
10010 PRINT "INPUT ERROR! TRY AGAIN!":FOR Z9=1 TO 300:NEXT Z9
10020 RETURN
10100 INPUT "PRESS ENTER TO CONTINUE";Z9:RETURN
10200 REM Y,N,A SBR
10205 Z9$=" "
10210 INPUT "ENTER Y IF OK,N IF ERROR,A TO ABORT";Z9$
10220 IF Z9$<>"Y" AND Z9$<>"N" AND Z9$<>"A" THEN GOSUB 10000:GOTO 10205
10230 RETURN
10300 REM Y,N SBR
10305 Z9$=" "
10310 INPUT "ENTER Y IF OK, N IF ERROR";Z9$
10320 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10305
10330 RETURN
10400 REM MORE ENTRY? SBR
10405 Z9$=" "
10410 INPUT "DO YOU DESIRE MORE ENTRIES(Y/N)";Z9$
10420 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10405
10430 RETURN
10500 REM ONLY Y/N SBR
10510 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000
10520 RETURN
11000 REM ELIMINATES TRAILING BLANKS OF VARIABLE Z8$
11010 IF RIGHT$(Z8$,1)=" " THEN Z8$=LEFT$(Z8$,LEN(Z8$)-1):GOTO 11010
11020 RETURN


+ 27
- 0
BP100/ACCTREC.DAT View File

@@ -0,0 +1,27 @@
1
"34-AB-45/2", 3, 87.01,"CAT FOOD"
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
3,"JERRY MOUSE", 98.76, 54.32, 10.98, 23.45, 476.32, 642.96, 83.82
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0
0,"9999", 0, 0, 0, 0, 0, 0, 0

+ 40
- 0
BP100/ACCTREC.INP View File

@@ -0,0 +1,40 @@

Y
6
C
3
JERRY MOUSE
98.76
54.32
10.98
23.45
476.32
642.96
83.82

0
1

34-AB-45/2
12
3
87.01
CAT FOOD
Y
N
5

ACCTREC.DAT
4

ACCTREC.DAT
7
Y
1

2
3
4

5
0

+ 206
- 0
BP100/ACCTREC.OUT View File

@@ -0,0 +1,206 @@
ACCOUNTS RECEIVABLE PROGRAM

THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS RECEIVABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES RECEIVABLE. THIS TYPE OF A/R SYSTEM IS TYPICALLY
USED BY PROFESSIONALS. INVOICES ARE KEPT ON FILE UNTIL
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.

PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR CUSTOMER FILE(C)? C
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26

CUSTOMER NUMBER TO EDIT(0 TO END)? 3
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 9999 0.00 0.00 0.00 0.00

PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00

9999CUST. NAME ? JERRY MOUSE
0.00CURRENT OWED ? 98.76
0.0030-60 OWED ? 54.32
0.0060-90 OWED ? 10.98
0.0090+ OWED ? 23.45
0.00PAY LAST MTH ? 476.32
0.00CHG LAST MTH ? 642.96
0.00CUMUL. CHGES ? 83.82

PRESS ENTER TO CONTINUE?
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26

CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?

ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT

ITEM NUMBER ? 34-AB-45/2
0CUST. NUMBER? 12
ILLEGAL CUSTOMER NUMBER
12CUST. NUMBER? 3
0.00ITEM AMOUNT ? 87.01
COMMENT ? CAT FOOD
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5

PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTREC.DAT
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTREC.DAT
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU

1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 1
AGED RECEIVABLES REPORT

CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45

TOTALS 98.76 54.32 10.98 23.45

PRESS ENTER TO CONTINUE?
REPORT MENU

1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 2
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
REPORT MENU

1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 3
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD

REPORT MENU

1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 4
INVOICE LIST

NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
TOTAL CHARGES $87.01
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $87.01

PRESS ENTER TO CONTINUE?
REPORT MENU

1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 5
MAIN MENU

0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 0
- 0
BP100/ACCTREC.dif View File


+ 206
- 0
BP100/ACCTREC.run View File

@@ -0,0 +1,206 @@
ACCOUNTS RECEIVABLE PROGRAM
THIS PROGRAM IS A BALANCE FORWARD ACCOUNTS RECEIVABLE
SYSTEM. WHAT THIS MEANS IS THAT PAYMENTS DO NOT ACCRUE
TOWARDS ANY INDIVIDUAL INVOICE BUT TOWARDS LUMP SUM
BALANCES RECEIVABLE. THIS TYPE OF A/R SYSTEM IS TYPICALLY
USED BY PROFESSIONALS. INVOICES ARE KEPT ON FILE UNTIL
MONTH'S END. LINE PRINTER OUTPUT IS SUPPORTED. DATA FILES
MAY BE STORED ON EITHER CASSETTE OR DISKETTE. SEE THE
ACCOMPANYING DOCUMENTATION FOR INSTRUCTIONS.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 6
EDITING INVOICE FILE(I) OR CUSTOMER FILE(C)? C
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 3
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 9999 0.00 0.00 0.00 0.00
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$0.00 $0.00 $0.00
9999CUST. NAME ? JERRY MOUSE
0.00CURRENT OWED ? 98.76
0.0030-60 OWED ? 54.32
0.0060-90 OWED ? 10.98
0.0090+ OWED ? 23.45
0.00PAY LAST MTH ? 476.32
0.00CHG LAST MTH ? 642.96
0.00CUMUL. CHGES ? 83.82
PRESS ENTER TO CONTINUE?
CUSTOMER NUMBER TO EDIT MUST BE LESS THAN 26
CUSTOMER NUMBER TO EDIT(0 TO END)? 0
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
ENTER NEGATIVE ITEM AMOUNT FOR PAYMENT
ITEM NUMBER ? 34-AB-45/2
0CUST. NUMBER? 12
ILLEGAL CUSTOMER NUMBER
12CUST. NUMBER? 3
0.00ITEM AMOUNT ? 87.01
COMMENT ? CAT FOOD
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT FILE NAME IS NEW NAME? ACCTREC.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF DATA FILE TO BE READ ? ACCTREC.DAT
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
AGED RECEIVABLES REPORT
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
TOTALS 98.76 54.32 10.98 23.45
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
CUSTOMER LIST
CUST.NO. CUST.NAME CURRENT 30-60 60-90 90+
3 JERRY MOUSE 98.76 54.32 10.98 23.45
PMTS. LAST MONTH CHGES LAST MONTH CUMULATIVE CHGES
$476.32 $642.96 $83.82
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 4
INVOICE LIST
NO. ITEM # CUSTOMER # ITEM AMOUNT COMMENT
1 34-AB-4 3 87.01 CAT FOOD
TOTAL CHARGES $87.01
TOTAL PAYMENTS $0.00
CHG-PAYMENTS $87.01
PRESS ENTER TO CONTINUE?
REPORT MENU
1. AGED RECEIVABLES REPORT
2. COMPLETE CUSTOMER LIST
3. COMPLETE CUSTOMER LIST WITH INVOICES ATTACHED
4. LIST OF ALL INVOICES
5. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 5
MAIN MENU
0.QUIT
1.ADD TO OR BEGIN INVOICE/PAYMENT FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.REPORT GENERATOR
8.POST & ELIMINATE INVOICES-UPDATE FILES
ENTER YOUR CHOICE? 0

+ 142
- 0
BP100/ANNU1.80 View File

@@ -0,0 +1,142 @@
ANNUITY COMPUTATION BY DR. PETER SHENKIN
AN ANNUITY IS ANY SET OF EQUAL PAYMENTS MADE AT
EQUAL INTERVALS OF TIME. WITH AN ORDINARY ANNUITY
PAYMENTS ARE MADE AT THE ENDS OF THE PERIODS DE-
FINED BY THESE TIME INTERVALS. FOR AN ANNUITY DUE
THE PAYMENTS ARE MADE AT THE BEGINNING OF THE PER-
IODS IN QUESTION. THE PRESENT VALUE OF AN ANNUITY
IS THE AMOUNT OF CASH ONE WOULD ACCEPT NOW INSTEAD
OF THE SEQUENCE OF FUTURE PAYMENTS. BECAUSE MONEY
HAS TIME VALUE (INTEREST IS CHARGED) THE PRESENT
VALUE DOES NOT EQUAL THE SUM OF THE PAYMENTS. tHE
FUTURE VALUE OF AN ANNUITY IS THE AMOUNT OF CASH
WHICH WOULD ACCUMULATE BY THE END OF THE ANNUITY
IF THE INDIVIDUAL PAYMENTS ARE INVESTED AT THE
PREVAILING INTEREST RATE.
PRESS ENTER TO CONTINUE?
MANY ANNUITIES ALSO INVOLVE A LAST BALLOON PAY-
MENT.IN THE ANNUITY PROBLEMS WE EXAMINE,THE VARIABLES
OF INTEREST ARE NUMBER OF PAYMENTS,INTEREST RATE PER
PERIOD,PAYMENT PER PERIOD,PRESENT OR FUTURE VALUE,AND
BALLOON PAYMENT (AT END OF TERM) IF DESIRED.GIVEN ANY
FOUR VALUES OF THE ABOVE VARIABLES THIS PROGRAM WILL
FIND THE FIFTH VARIABLE WHEN CONSIDERING THE PRESENT
VALUE SITUATION. IN THE FUTURE VALUE CASE NO BALLOON
PAYMENTS ARE CONSIDERED AS IN THIS CASE A BALLOON
PAYMENT OF A CERTAIN AMOUNT WOULD ADD THAT AMOUNT
TO FUTURE VALUE.NOTE THAT INTEREST RATES ARE WRITTEN
AS PER CENTS, NOT AS DECIMALS(E.G. 6%, NOT .06). IN
ADDITION NOTE THAT INTEREST RATE IS PER PERIOD,I.E.
PER MONTH,PER YEAR,ETC.
PRESS ENTER TO BEGIN?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 1
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 12
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
FUTURE VALUE ? 2345.67
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 12
ANNUAL INTEREST RATE ? 3.75
FUTURE VALUE = 2345.67
NUMBER OF PAYMENTS = 12
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.75
PAYMENT = 89.01
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 2
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
FUTURE VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 0.175
FUTURE VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= .175
PAYMENT = 89.01
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 3
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 24
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
PRESENT VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 52
ANNUAL INTEREST RATE ? 3.25
BALLOON PAYMENT ? 9999
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 52
CONSISTING OF 24 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 89.01
BALLOON PAYMENT =-3467.45
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 4
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
PRESENT VALUE ? 1234.56
PAYMENT ? 9999
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 5
BALLOON PAYMENT ? 55.55
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= 5
PAYMENT = 70.5051
BALLOON PAYMENT = 55.55
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 0

+ 135
- 0
BP100/ANNU1.BAS View File

@@ -0,0 +1,135 @@
1000 CLS:PRINT" ANNUITY COMPUTATION BY DR. PETER SHENKIN"
1002 PRINT" AN ANNUITY IS ANY SET OF EQUAL PAYMENTS MADE AT
1003 PRINT"EQUAL INTERVALS OF TIME. WITH AN ORDINARY ANNUITY
1004 PRINT"PAYMENTS ARE MADE AT THE ENDS OF THE PERIODS DE-
1005 PRINT"FINED BY THESE TIME INTERVALS. FOR AN ANNUITY DUE
1006 PRINT"THE PAYMENTS ARE MADE AT THE BEGINNING OF THE PER-
1007 PRINT"IODS IN QUESTION. THE PRESENT VALUE OF AN ANNUITY
1008 PRINT"IS THE AMOUNT OF CASH ONE WOULD ACCEPT NOW INSTEAD
1009 PRINT"OF THE SEQUENCE OF FUTURE PAYMENTS. BECAUSE MONEY
1010 PRINT"HAS TIME VALUE (INTEREST IS CHARGED) THE PRESENT
1011 PRINT"VALUE DOES NOT EQUAL THE SUM OF THE PAYMENTS. tHE
1012 PRINT"FUTURE VALUE OF AN ANNUITY IS THE AMOUNT OF CASH
1013 PRINT"WHICH WOULD ACCUMULATE BY THE END OF THE ANNUITY
1014 PRINT"IF THE INDIVIDUAL PAYMENTS ARE INVESTED AT THE
1015 PRINT"PREVAILING INTEREST RATE.
1016 INPUT"PRESS ENTER TO CONTINUE";Z9$
1017 CLS:PRINT"MANY ANNUITIES ALSO INVOLVE A LAST BALLOON PAY-
1018 PRINT"MENT.IN THE ANNUITY PROBLEMS WE EXAMINE,THE VARIABLES
1020 PRINT"OF INTEREST ARE NUMBER OF PAYMENTS,INTEREST RATE PER
1030 PRINT"PERIOD,PAYMENT PER PERIOD,PRESENT OR FUTURE VALUE,AND
1040 PRINT"BALLOON PAYMENT (AT END OF TERM) IF DESIRED.GIVEN ANY
1045 PRINT"FOUR VALUES OF THE ABOVE VARIABLES THIS PROGRAM WILL
1050 PRINT"FIND THE FIFTH VARIABLE WHEN CONSIDERING THE PRESENT
1060 PRINT"VALUE SITUATION. IN THE FUTURE VALUE CASE NO BALLOON
1065 PRINT"PAYMENTS ARE CONSIDERED AS IN THIS CASE A BALLOON
1067 PRINT"PAYMENT OF A CERTAIN AMOUNT WOULD ADD THAT AMOUNT
1070 PRINT"TO FUTURE VALUE.NOTE THAT INTEREST RATES ARE WRITTEN
1075 PRINT"AS PER CENTS, NOT AS DECIMALS(E.G. 6%, NOT .06). IN
1080 PRINT"ADDITION NOTE THAT INTEREST RATE IS PER PERIOD,I.E.
1085 PRINT"PER MONTH,PER YEAR,ETC.
1090 PRINT:INPUT"PRESS ENTER TO BEGIN";Z9:CLS
1095 CLS
1100 PRINT"SELECT TYPE OF PROBLEM DESIRED."
1105 PRINT" 0.QUIT"
1110 PRINT" 1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
1120 PRINT" 2.ANNUITY DUE-FUTURE VALUE
1130 PRINT" 3.ORDINARY ANNUITY-PRESENT VALUE
1140 PRINT" 4.ANNUITY DUE-PRESENT VALUE
1150 PRINT:INPUT"MAKE YOUR CHOICE";C
1153 IF C = 0 THEN END
1155 PRINT:INPUT"IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)";ZI$
1157 IF ZI$<>"P" AND ZI$<>"A" THEN PRINT"INPUT ERROR":GOTO 1155
1158 IF ZI$="A" THEN PRINT:INPUT"NUMBER OF PAYMENTS PER YEAR";ZN
1160 ON C GOTO 1200,1300,1400,1500
1200 REM"ORDINARY ANNUITY-FUTURE VALUE TYPE PROBLEM
1210 CLS
1220 GOSUB 3000
1223 I=I/100
1225 IF FV=9999 THEN FV=PMT*((1+I)[N-1)/I
1230 IF PMT=9999 THEN PMT=FV*I/((1+I)[N-1)
1240 IF N=9999 THEN N=LOG((FV*I/PMT+1))/LOG(1+I)
1250 IF ABS(I-99.99)<.01 THEN GOSUB 4000
1260 GOTO 5000:REM PRINTOUT
1300 GOSUB 3000
1310 I=I/100
1325 IF FV=9999 THEN FV=PMT*(1+I)*((1+I)[N-1)/I
1330 IF PMT=9999 THEN PMT=FV*I*(1/(1+I))/((1+I)[N-1)
1340 IF N=9999 THEN N=LOG((FV*I/(PMT*(1+I))+1))/LOG(1+I)
1350 IF ABS(I-99.99)<.01 THEN GOSUB 4100
1360 GOTO 5000:REM PRINTOUT
1400 GOSUB 3000:GOSUB 3080
1405 I=I/100
1410 IF PV=9999 THEN PV=PMT*(1/I)*(1-(1+I)[(-N))+BAL*(1+I)[(-N)
1420 IF PMT=9999 THEN PMT=(PV-BAL*(1+I)[(-N))*I/(1-(1+I)[(-N))
1430 IF N=9999 THEN T=(BAL*I-PMT)/(PV*I-PMT):N=LOG(T)/LOG(1+I)
1440 IF BAL=9999 THEN BAL=PV-PMT*(1/I)*(1-(1+I)[(-N)):BAL=BAL*(1+I)[N
1450 IF ABS(I-99.99)<.01 THEN GOSUB 4200
1460 GOTO 5000
1500 GOSUB 3000:GOSUB 3080
1510 I=I/100
1520 IF PV=9999 THEN PV=PMT*(1+I)*(1/I)*(1-(1+I)[(-N))+BAL*(1+I)[(-N)
1525 IF PMT=9999 THEN PMT=(PV-BAL*(1+I)[(-N))*I/(1+I)/(1-(1+I)[(-N))
1530 IF N=9999 THEN T=(BAL*I-PMT*(1+I))/(PV*I-PMT*(1+I)):N=LOG(T)/LOG(1+I)
1540 IF BAL=9999 THEN BAL=PV-PMT*(1+I)*(1/I)*(1-(1+I)[(-N)):BAL=BAL*(1+I)[N
1550 IF ABS(I-99.99)<.01 THEN GOSUB 4300
1560 GOTO 5000
3000 REM INPUT SBR
3010 CLS:PRINT"ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
3020 PRINT"ENTER 9999.":PRINT
3030 IF C<3 THEN INPUT"FUTURE VALUE ";FV
3035 IF C>=3 THEN INPUT"PRESENT VALUE ";PV
3040 INPUT"PAYMENT ";PMT
3050 INPUT"NUMBER OF PAYMENTS ";N
3055 IF ZI$="A" THEN INPUT"ANNUAL INTEREST RATE ";I
3056 IF ZI$="A" AND I<>9999 THEN I=I/ZN
3057 IF ZI$="A" THEN GOTO 3070
3060 INPUT"INTEREST RATE PER PERIOD(%)";I
3070 RETURN
3080 INPUT"BALLOON PAYMENT ";BAL
3090 RETURN
4000 REM I FOR FV REG. ANNU.-SINKING FUND
4010 I=.01
4020 P=FV-PMT/I*((1+I)[N-1)
4025 D=PMT*(N*(1+I)[(N-1)/I- ((1+I)[N-1)/I[2)
4027 D=-D
4030 GOSUB 4600
4040 IF ABS(P)<=.1 THEN RETURN
4050 GOTO 4020
4100 REM I FOR FV ANNUITY DUE
4110 I=.01
4120 P=FV-PMT*(1+I)/I*((1+I)[N-1)
4125 D=PMT*((N+1)*(1+I)[N-1)/I-PMT*((1+I)[(N+1)-1-I)/I[2
4127 D=-D
4130 GOSUB 4600
4140 IF ABS(P)<=.1 THEN RETURN
4150 GOTO 4120
4200 REM I FOR PV/ORDINARY ANNUITY
4210 I=.01
4220 P=PMT/I*(1-(1+I)[(-N))+BAL*(1+I)[(-N)-PV
4225 D=N*PMT/(I*(1+I)[(N+1))-PMT/(I[2)*(1-(1+I)[(-N))-N*BAL/(1+I)[(N+1)
4230 GOSUB 4600
4240 IF ABS(P)<=.1 THEN RETURN
4250 GOTO 4220
4300 REM I FOR PV/ANNUITY DUE
4305 I=.01
4310 P=PMT*(1+I)/I*(1-(1+I)[(-N))+BAL*(1+I)[(-N)-PV
4320 D=(1+I)*(N*PMT/(I*(1+I)[(N+1))-PMT/(I[2)*(1-(1+I)[(-N)))+PMT/I*(1-(1+I)[(-N))-N*BAL/(1+I)[(N+1)
4330 GOSUB 4600
4335 IF ABS(P)<.1 THEN RETURN
4340 GOTO 4310
4600 REM COMPUTATION
4610 I=I-P/D
4620 RETURN
5000 REM PRINT OUT
5010 CLS
5020 IF C=1 OR C=2 THEN PRINT"FUTURE VALUE =";FV
5025 IF C=3 OR C=4 THEN PRINT"PRESENT VALUE =";PV
5030 PRINT"NUMBER OF PAYMENTS =";N
5033 IF ZI$="A" THEN PRINT " CONSISTING OF ";ZN;" PAYMENTS ANNUALLY."
5035 IF ZI$="A" THEN PRINT"ANNUAL INTEREST RATE =";100*I*ZN:GOTO 5050
5040 PRINT"INT. RATE PER PERIOD=";100*I
5050 PRINT"PAYMENT =";PMT
5060 IF C=3 OR C=4 THEN PRINT"BALLOON PAYMENT =";BAL
5090 PRINT:INPUT"PRESS ENTER FOR MORE";Z9
5100 GOTO 1095

+ 35
- 0
BP100/ANNU1.INP View File

@@ -0,0 +1,35 @@


1
A
12
2345.67
89.01
12
3.75

2
P
1234.56
89.01
36
0.175

3
A
24
1234.56
89.01
52
3.25
9999

4
P
1234.56
9999
36
5
55.55

0

+ 142
- 0
BP100/ANNU1.OUT View File

@@ -0,0 +1,142 @@
ANNUITY COMPUTATION BY DR. PETER SHENKIN
AN ANNUITY IS ANY SET OF EQUAL PAYMENTS MADE AT
EQUAL INTERVALS OF TIME. WITH AN ORDINARY ANNUITY
PAYMENTS ARE MADE AT THE ENDS OF THE PERIODS DE-
FINED BY THESE TIME INTERVALS. FOR AN ANNUITY DUE
THE PAYMENTS ARE MADE AT THE BEGINNING OF THE PER-
IODS IN QUESTION. THE PRESENT VALUE OF AN ANNUITY
IS THE AMOUNT OF CASH ONE WOULD ACCEPT NOW INSTEAD
OF THE SEQUENCE OF FUTURE PAYMENTS. BECAUSE MONEY
HAS TIME VALUE (INTEREST IS CHARGED) THE PRESENT
VALUE DOES NOT EQUAL THE SUM OF THE PAYMENTS. tHE
FUTURE VALUE OF AN ANNUITY IS THE AMOUNT OF CASH
WHICH WOULD ACCUMULATE BY THE END OF THE ANNUITY
IF THE INDIVIDUAL PAYMENTS ARE INVESTED AT THE
PREVAILING INTEREST RATE.
PRESS ENTER TO CONTINUE?
MANY ANNUITIES ALSO INVOLVE A LAST BALLOON PAY-
MENT.IN THE ANNUITY PROBLEMS WE EXAMINE,THE VARIABLES
OF INTEREST ARE NUMBER OF PAYMENTS,INTEREST RATE PER
PERIOD,PAYMENT PER PERIOD,PRESENT OR FUTURE VALUE,AND
BALLOON PAYMENT (AT END OF TERM) IF DESIRED.GIVEN ANY
FOUR VALUES OF THE ABOVE VARIABLES THIS PROGRAM WILL
FIND THE FIFTH VARIABLE WHEN CONSIDERING THE PRESENT
VALUE SITUATION. IN THE FUTURE VALUE CASE NO BALLOON
PAYMENTS ARE CONSIDERED AS IN THIS CASE A BALLOON
PAYMENT OF A CERTAIN AMOUNT WOULD ADD THAT AMOUNT
TO FUTURE VALUE.NOTE THAT INTEREST RATES ARE WRITTEN
AS PER CENTS, NOT AS DECIMALS(E.G. 6%, NOT .06). IN
ADDITION NOTE THAT INTEREST RATE IS PER PERIOD,I.E.
PER MONTH,PER YEAR,ETC.

PRESS ENTER TO BEGIN?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE

MAKE YOUR CHOICE? 1

IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A

NUMBER OF PAYMENTS PER YEAR? 12
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.

FUTURE VALUE ? 2345.67
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 12
ANNUAL INTEREST RATE ? 3.75
FUTURE VALUE = 2345.67
NUMBER OF PAYMENTS = 12
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.75
PAYMENT = 89.01

PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE

MAKE YOUR CHOICE? 2

IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.

FUTURE VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 0.175
FUTURE VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= .175
PAYMENT = 89.01

PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE

MAKE YOUR CHOICE? 3

IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A

NUMBER OF PAYMENTS PER YEAR? 24
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.

PRESENT VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 52
ANNUAL INTEREST RATE ? 3.25
BALLOON PAYMENT ? 9999
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 52
CONSISTING OF 24 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 89.01
BALLOON PAYMENT =-3467.45

PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE

MAKE YOUR CHOICE? 4

IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.

PRESENT VALUE ? 1234.56
PAYMENT ? 9999
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 5
BALLOON PAYMENT ? 55.55
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= 5
PAYMENT = 70.5051
BALLOON PAYMENT = 55.55

PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE

MAKE YOUR CHOICE? 0

+ 0
- 0
BP100/ANNU1.dif View File


+ 142
- 0
BP100/ANNU1.run View File

@@ -0,0 +1,142 @@
ANNUITY COMPUTATION BY DR. PETER SHENKIN
AN ANNUITY IS ANY SET OF EQUAL PAYMENTS MADE AT
EQUAL INTERVALS OF TIME. WITH AN ORDINARY ANNUITY
PAYMENTS ARE MADE AT THE ENDS OF THE PERIODS DE-
FINED BY THESE TIME INTERVALS. FOR AN ANNUITY DUE
THE PAYMENTS ARE MADE AT THE BEGINNING OF THE PER-
IODS IN QUESTION. THE PRESENT VALUE OF AN ANNUITY
IS THE AMOUNT OF CASH ONE WOULD ACCEPT NOW INSTEAD
OF THE SEQUENCE OF FUTURE PAYMENTS. BECAUSE MONEY
HAS TIME VALUE (INTEREST IS CHARGED) THE PRESENT
VALUE DOES NOT EQUAL THE SUM OF THE PAYMENTS. tHE
FUTURE VALUE OF AN ANNUITY IS THE AMOUNT OF CASH
WHICH WOULD ACCUMULATE BY THE END OF THE ANNUITY
IF THE INDIVIDUAL PAYMENTS ARE INVESTED AT THE
PREVAILING INTEREST RATE.
PRESS ENTER TO CONTINUE?
MANY ANNUITIES ALSO INVOLVE A LAST BALLOON PAY-
MENT.IN THE ANNUITY PROBLEMS WE EXAMINE,THE VARIABLES
OF INTEREST ARE NUMBER OF PAYMENTS,INTEREST RATE PER
PERIOD,PAYMENT PER PERIOD,PRESENT OR FUTURE VALUE,AND
BALLOON PAYMENT (AT END OF TERM) IF DESIRED.GIVEN ANY
FOUR VALUES OF THE ABOVE VARIABLES THIS PROGRAM WILL
FIND THE FIFTH VARIABLE WHEN CONSIDERING THE PRESENT
VALUE SITUATION. IN THE FUTURE VALUE CASE NO BALLOON
PAYMENTS ARE CONSIDERED AS IN THIS CASE A BALLOON
PAYMENT OF A CERTAIN AMOUNT WOULD ADD THAT AMOUNT
TO FUTURE VALUE.NOTE THAT INTEREST RATES ARE WRITTEN
AS PER CENTS, NOT AS DECIMALS(E.G. 6%, NOT .06). IN
ADDITION NOTE THAT INTEREST RATE IS PER PERIOD,I.E.
PER MONTH,PER YEAR,ETC.
PRESS ENTER TO BEGIN?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 1
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 12
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
FUTURE VALUE ? 2345.67
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 12
ANNUAL INTEREST RATE ? 3.75
FUTURE VALUE = 2345.67
NUMBER OF PAYMENTS = 12
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.75
PAYMENT = 89.01
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 2
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
FUTURE VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 0.175
FUTURE VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= .175
PAYMENT = 89.01
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 3
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 24
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
PRESENT VALUE ? 1234.56
PAYMENT ? 89.01
NUMBER OF PAYMENTS ? 52
ANNUAL INTEREST RATE ? 3.25
BALLOON PAYMENT ? 9999
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 52
CONSISTING OF 24 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 89.01
BALLOON PAYMENT =-3467.45
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 4
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? P
ENTER EACH OF THE FOLLOWING.FOR THE UNKNOWN VALUE
ENTER 9999.
PRESENT VALUE ? 1234.56
PAYMENT ? 9999
NUMBER OF PAYMENTS ? 36
INTEREST RATE PER PERIOD(%)? 5
BALLOON PAYMENT ? 55.55
PRESENT VALUE = 1234.56
NUMBER OF PAYMENTS = 36
INT. RATE PER PERIOD= 5
PAYMENT = 70.5051
BALLOON PAYMENT = 55.55
PRESS ENTER FOR MORE?
SELECT TYPE OF PROBLEM DESIRED.
0.QUIT
1.ORDINARY ANNUITY-FUTURE VALUE(SINKING FUND)
2.ANNUITY DUE-FUTURE VALUE
3.ORDINARY ANNUITY-PRESENT VALUE
4.ANNUITY DUE-PRESENT VALUE
MAKE YOUR CHOICE? 0

+ 31
- 0
BP100/ANNUDEF.80 View File

@@ -0,0 +1,31 @@
PRESENT VALUE OF A DEFERRED ANNUITY
AN ANNUITY IS A SEQUENCE OF EQUAL PAYMENTS MADE AT EQUAL
INTERVALS OF TIME. A DEFERRED ANNUITY IS AN ANNUITY FOR
WHICH THE FIRST PAYMENT IS NOT MADE UNTIL SOME FIXED TIME
IN THE FUTURE. THIS PROGRAM WILL COMPUTE THE PRESENT VALUE
OF A DEFERRED ANNUITY GIVEN THE AMOUNT OF THE INDIVIDUAL
PAYMENTS, THE NUMBER OF PAYMENTS, THE INTEREST RATE, AND
THE TIME THE ANNUITY BEGINS. IF DESIRED, A LAST EXTRA
BALLOON PAYMENT COINCIDING WITH BUT IN ADDITION TO THE
LAST PAYMENT MAY BE CONSIDERED.
PRESS ENTER TO BEGIN?
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 12
NUMBER OF YEARS INTO FUTURE UNTIL 1ST PAYMENT? 5
ENTER EACH OF THE FOLLOWING.
ANNUAL INTEREST RATE(%) ? 3.25
TOTAL NUMBER OF PAYMENTS? 360
ENTER REGULAR PAYMENT? 1234.56
BALLOON PAYMENT ? 56789.01
PRESENT VALUE = 260117.
NUMBER OF PAYMENTS = 360
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 1234.56
BALLOON PAYMENT = 56789.
PRESS ENTER FOR MORE? 0

+ 49
- 0
BP100/ANNUDEF.BAS View File

@@ -0,0 +1,49 @@
1 REM ANNUDEF
5 CLEAR 1000
10 CLS:PRINT TAB(10); "PRESENT VALUE OF A DEFERRED ANNUITY":PRINT
20 PRINT"AN ANNUITY IS A SEQUENCE OF EQUAL PAYMENTS MADE AT EQUAL
25 PRINT"INTERVALS OF TIME. A DEFERRED ANNUITY IS AN ANNUITY FOR
30 PRINT"WHICH THE FIRST PAYMENT IS NOT MADE UNTIL SOME FIXED TIME
35 PRINT"IN THE FUTURE. THIS PROGRAM WILL COMPUTE THE PRESENT VALUE
40 PRINT"OF A DEFERRED ANNUITY GIVEN THE AMOUNT OF THE INDIVIDUAL
45 PRINT"PAYMENTS, THE NUMBER OF PAYMENTS, THE INTEREST RATE, AND
50 PRINT"THE TIME THE ANNUITY BEGINS. IF DESIRED, A LAST EXTRA
55 PRINT"BALLOON PAYMENT COINCIDING WITH BUT IN ADDITION TO THE
60 PRINT"LAST PAYMENT MAY BE CONSIDERED.
90 PRINT:INPUT"PRESS ENTER TO BEGIN";Z9$
100 CLS
1155 PRINT:INPUT"IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)";ZI$
1157 IF ZI$<>"P" AND ZI$<>"A" THEN PRINT"INPUT ERROR":GOTO 1155
1158 IF ZI$="A" THEN PRINT:INPUT"NUMBER OF PAYMENTS PER YEAR";ZN
1160 IF ZI$="A" THEN INPUT"NUMBER OF YEARS INTO FUTURE UNTIL 1ST PAYMENT";NF
1400 GOSUB 3000:GOSUB 3080
1405 I=I/100
1410 PV=PMT*(1/I)*(1-(1+I)[(-N))+BAL*(1+I)[(-N)
1420 PV=PV*(1+I)[(-NF)
1460 GOTO 5000
3000 REM INPUT SBR
3010 CLS:PRINT"ENTER EACH OF THE FOLLOWING.
3050 IF ZI$="A" THEN INPUT"ANNUAL INTEREST RATE(%) ";I
3056 IF ZI$="A" THEN I=I/ZN:NF=NF*ZN-1: GOTO 3070
3060 INPUT"INTEREST RATE PER PERIOD(%)";I
3065 INPUT"# OF PERIODS INTO FUTURE UNTIL FIRST PAYMENT";NF
3067 NF=NF-1
3070 INPUT"TOTAL NUMBER OF PAYMENTS";N
3075 RETURN
3080 INPUT"ENTER REGULAR PAYMENT";PMT
3085 INPUT"BALLOON PAYMENT ";BAL
3090 RETURN
5000 REM PRINT OUT
5010 CLS
5025 PRINT"PRESENT VALUE =";PV
5030 PRINT"NUMBER OF PAYMENTS =";N
5033 IF ZI$="A" THEN PRINT " CONSISTING OF ";ZN;" PAYMENTS ANNUALLY."
5035 IF ZI$="A" THEN PRINT"ANNUAL INTEREST RATE =";100*I*ZN:GOTO 5050
5040 PRINT"INT. RATE PER PERIOD=";100*I
5045 PRINT"PAYMENTS BEGIN";NF+1;"PERIODS INTO THE FUTURE."
5047 IF NI$="A" THEN PRINT"THIS IS";(NF+1)/NV;"YEARS IN THE FUTURE."
5050 PRINT"PAYMENT =";PMT
5060 IF BAL<>0 THEN PRINT"BALLOON PAYMENT =";BAL
5090 PRINT:INPUT"PRESS ENTER FOR MORE";Z9
5095 IF Z9 = 0 THEN END
5100 GOTO 100

+ 9
- 0
BP100/ANNUDEF.INP View File

@@ -0,0 +1,9 @@

A
12
5
3.25
360
1234.56
56789.01
0

+ 31
- 0
BP100/ANNUDEF.OUT View File

@@ -0,0 +1,31 @@
PRESENT VALUE OF A DEFERRED ANNUITY

AN ANNUITY IS A SEQUENCE OF EQUAL PAYMENTS MADE AT EQUAL
INTERVALS OF TIME. A DEFERRED ANNUITY IS AN ANNUITY FOR
WHICH THE FIRST PAYMENT IS NOT MADE UNTIL SOME FIXED TIME
IN THE FUTURE. THIS PROGRAM WILL COMPUTE THE PRESENT VALUE
OF A DEFERRED ANNUITY GIVEN THE AMOUNT OF THE INDIVIDUAL
PAYMENTS, THE NUMBER OF PAYMENTS, THE INTEREST RATE, AND
THE TIME THE ANNUITY BEGINS. IF DESIRED, A LAST EXTRA
BALLOON PAYMENT COINCIDING WITH BUT IN ADDITION TO THE
LAST PAYMENT MAY BE CONSIDERED.

PRESS ENTER TO BEGIN?

IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A

NUMBER OF PAYMENTS PER YEAR? 12
NUMBER OF YEARS INTO FUTURE UNTIL 1ST PAYMENT? 5
ENTER EACH OF THE FOLLOWING.
ANNUAL INTEREST RATE(%) ? 3.25
TOTAL NUMBER OF PAYMENTS? 360
ENTER REGULAR PAYMENT? 1234.56
BALLOON PAYMENT ? 56789.01
PRESENT VALUE = 260117.
NUMBER OF PAYMENTS = 360
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 1234.56
BALLOON PAYMENT = 56789.

PRESS ENTER FOR MORE? 0

+ 0
- 0
BP100/ANNUDEF.dif View File


+ 31
- 0
BP100/ANNUDEF.run View File

@@ -0,0 +1,31 @@
PRESENT VALUE OF A DEFERRED ANNUITY
AN ANNUITY IS A SEQUENCE OF EQUAL PAYMENTS MADE AT EQUAL
INTERVALS OF TIME. A DEFERRED ANNUITY IS AN ANNUITY FOR
WHICH THE FIRST PAYMENT IS NOT MADE UNTIL SOME FIXED TIME
IN THE FUTURE. THIS PROGRAM WILL COMPUTE THE PRESENT VALUE
OF A DEFERRED ANNUITY GIVEN THE AMOUNT OF THE INDIVIDUAL
PAYMENTS, THE NUMBER OF PAYMENTS, THE INTEREST RATE, AND
THE TIME THE ANNUITY BEGINS. IF DESIRED, A LAST EXTRA
BALLOON PAYMENT COINCIDING WITH BUT IN ADDITION TO THE
LAST PAYMENT MAY BE CONSIDERED.
PRESS ENTER TO BEGIN?
IS INTEREST RATE QUOTED PER PERIOD(P) OR ANNUALLY(A)? A
NUMBER OF PAYMENTS PER YEAR? 12
NUMBER OF YEARS INTO FUTURE UNTIL 1ST PAYMENT? 5
ENTER EACH OF THE FOLLOWING.
ANNUAL INTEREST RATE(%) ? 3.25
TOTAL NUMBER OF PAYMENTS? 360
ENTER REGULAR PAYMENT? 1234.56
BALLOON PAYMENT ? 56789.01
PRESENT VALUE = 260117.
NUMBER OF PAYMENTS = 360
CONSISTING OF 12 PAYMENTS ANNUALLY.
ANNUAL INTEREST RATE = 3.25
PAYMENT = 1234.56
BALLOON PAYMENT = 56789.
PRESS ENTER FOR MORE? 0

+ 36
- 0
BP100/ARBCOMP.80 View File

@@ -0,0 +1,36 @@
ARBITRAGE COMPUTATIONS
ARBITRAGE IS SIMPLY BUYING AN ARTICLE IN ONE MARKET AND
SELLING IT IN ANOTHER MARKET, HOPEFULLY AT A HIGHER PRICE.
IN THE STOCK MARKET THIS MAY INVOLVE BUYING ONE SECURITY
AND SELLING ANOTHER EQUIVALENT SECURITY IN THE SAME MARKET.
THIS TYPE OF ARBITRAGE OCCURS WHEN MERGERS ARE BEING CONSID-
ERED. OWNERS OF ONE SECURITY MAY TRADE THEM IN FOR ANOTHER
PACKAGE OF SECURITIES. IN THIS CASE THE OWNERS OF THE FIRST
SECURITY MAY WONDER WHAT THE VALUE OF THE SECOND PACKAGE IS.
THIS PROGRAM EVALUATES THE VALUE OF A PACKAGE OF DIFFERENT
SECURITIES. IN A MERGER A PACKAGE OF COMPANY A SECURITIES AND
CASH ARE GENERALLY TRADED FOR A PACKAGE OF COMPANY B SECURITIES
USUALLY SOME SHARES OF COMMON STOCK.
PRESS ENTER TO BEGIN?
FOR EACH SECURITY IN PACKAGE ENTER PRICE/UNIT AND NO. UNITS
IN PACKAGE.
ENTER VALUE OF 1 UNIT OF SECURITY 1 (-1 TO END)? 123.45
ENTER # OF UNITS OF SECURITY 1 IN PACKAGE? 67
ENTER VALUE OF 1 UNIT OF SECURITY 2 (-1 TO END)? 89.01
ENTER # OF UNITS OF SECURITY 2 IN PACKAGE? 234
ENTER VALUE OF 1 UNIT OF SECURITY 3 (-1 TO END)? -1
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
PRESS ENTER WHEN PRINTER READY?
VALUE OF UNIT # OF UNITS TOTAL VALUE
$123.45 67.0000 $8271.150
$89.01 234.0000 $20828.340
================================================================
GRAND TOTAL VALUE $29099.490
PRESS ENTER FOR MORE COMPUTATION? 0

+ 51
- 0
BP100/ARBCOMP.BAS View File

@@ -0,0 +1,51 @@
1 REM ARBCOMP
5 CLEAR 1000
10 CLS
20 PRINT TAB(10); "ARBITRAGE COMPUTATIONS":PRINT
25 S=0:REM TOTAL VALUE OF PACKAGE
30 PRINT "ARBITRAGE IS SIMPLY BUYING AN ARTICLE IN ONE MARKET AND
35 PRINT "SELLING IT IN ANOTHER MARKET, HOPEFULLY AT A HIGHER PRICE.
40 PRINT "IN THE STOCK MARKET THIS MAY INVOLVE BUYING ONE SECURITY
45 PRINT "AND SELLING ANOTHER EQUIVALENT SECURITY IN THE SAME MARKET.
50 PRINT "THIS TYPE OF ARBITRAGE OCCURS WHEN MERGERS ARE BEING CONSID-
55 PRINT "ERED. OWNERS OF ONE SECURITY MAY TRADE THEM IN FOR ANOTHER
60 PRINT "PACKAGE OF SECURITIES. IN THIS CASE THE OWNERS OF THE FIRST
65 PRINT "SECURITY MAY WONDER WHAT THE VALUE OF THE SECOND PACKAGE IS.
70 PRINT "THIS PROGRAM EVALUATES THE VALUE OF A PACKAGE OF DIFFERENT
75 PRINT "SECURITIES. IN A MERGER A PACKAGE OF COMPANY A SECURITIES AND
80 PRINT "CASH ARE GENERALLY TRADED FOR A PACKAGE OF COMPANY B SECURITIES
85 PRINT "USUALLY SOME SHARES OF COMMON STOCK.
90 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
100 DIM A(100),B(100),C(100)
110 REM A( )=VALUE OF 1 UNIT:B( )=# UNITS:C( )=EXTENDED VALUE
200 CLS
210 PRINT "FOR EACH SECURITY IN PACKAGE ENTER PRICE/UNIT AND NO. UNITS
220 PRINT "IN PACKAGE.
230 I=1
240 PRINT "ENTER VALUE OF 1 UNIT OF SECURITY";I;"(-1 TO END)";:INPUT A(I)
250 IF A(I)=-1 THEN GOTO 300
260 PRINT "ENTER # OF UNITS OF SECURITY";I;"IN PACKAGE";:INPUT B(I)
270 C(I)=A(I)*B(I):S=S+C(I)
280 I=I+1:PRINT :GOTO 240
300 REM FINISH UP & PRINT
310 I=I-1
320 F$(1)="VALUE OF UNIT # OF UNITS TOTAL VALUE"
330 F$(2)=" $$#####.## #####.#### $$######.###"
340 F$(3)=" GRAND TOTAL VALUE $$#######.###"
350 CLS
360 INPUT "IS LINE PRINTER OUTPUT DESIRED(Y/N)";Z2$
370 IF Z2$<>"Y" AND Z2$<>"N" THEN GOTO 360
375 PRINT :IF Z2$="Y" THEN INPUT "PRESS ENTER WHEN PRINTER READY";Z9$
380 CLS
400 PRINT F$(1):PRINT :IF Z2$="Y" THEN LPRINT F$(1):LPRINT " "
410 FOR J=1 TO I
420 PRINT USING F$(2);A(J),B(J),C(J)
430 IF Z2$="Y" THEN LPRINT USING F$(2);A(J),B(J),C(J)
440 NEXT J
450 PRINT STRING$(64,"="):IF Z2$="Y" THEN LPRINT STRING$(64,"=")
460 PRINT USING F$(3);S:IF Z2$="Y" THEN LPRINT USING F$(3);S
470 PRINT
480 INPUT "PRESS ENTER FOR MORE COMPUTATION";Z9$
485 IF Z9$ = "0" THEN END
490 GOTO 200


+ 9
- 0
BP100/ARBCOMP.INP View File

@@ -0,0 +1,9 @@

123.45
67
89.01
234
-1
Y

0

+ 36
- 0
BP100/ARBCOMP.OUT View File

@@ -0,0 +1,36 @@
ARBITRAGE COMPUTATIONS

ARBITRAGE IS SIMPLY BUYING AN ARTICLE IN ONE MARKET AND
SELLING IT IN ANOTHER MARKET, HOPEFULLY AT A HIGHER PRICE.
IN THE STOCK MARKET THIS MAY INVOLVE BUYING ONE SECURITY
AND SELLING ANOTHER EQUIVALENT SECURITY IN THE SAME MARKET.
THIS TYPE OF ARBITRAGE OCCURS WHEN MERGERS ARE BEING CONSID-
ERED. OWNERS OF ONE SECURITY MAY TRADE THEM IN FOR ANOTHER
PACKAGE OF SECURITIES. IN THIS CASE THE OWNERS OF THE FIRST
SECURITY MAY WONDER WHAT THE VALUE OF THE SECOND PACKAGE IS.
THIS PROGRAM EVALUATES THE VALUE OF A PACKAGE OF DIFFERENT
SECURITIES. IN A MERGER A PACKAGE OF COMPANY A SECURITIES AND
CASH ARE GENERALLY TRADED FOR A PACKAGE OF COMPANY B SECURITIES
USUALLY SOME SHARES OF COMMON STOCK.

PRESS ENTER TO BEGIN?
FOR EACH SECURITY IN PACKAGE ENTER PRICE/UNIT AND NO. UNITS
IN PACKAGE.
ENTER VALUE OF 1 UNIT OF SECURITY 1 (-1 TO END)? 123.45
ENTER # OF UNITS OF SECURITY 1 IN PACKAGE? 67

ENTER VALUE OF 1 UNIT OF SECURITY 2 (-1 TO END)? 89.01
ENTER # OF UNITS OF SECURITY 2 IN PACKAGE? 234

ENTER VALUE OF 1 UNIT OF SECURITY 3 (-1 TO END)? -1
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y

PRESS ENTER WHEN PRINTER READY?
VALUE OF UNIT # OF UNITS TOTAL VALUE

$123.45 67.0000 $8271.150
$89.01 234.0000 $20828.340
================================================================
GRAND TOTAL VALUE $29099.490

PRESS ENTER FOR MORE COMPUTATION? 0

+ 0
- 0
BP100/ARBCOMP.dif View File


+ 36
- 0
BP100/ARBCOMP.run View File

@@ -0,0 +1,36 @@
ARBITRAGE COMPUTATIONS
ARBITRAGE IS SIMPLY BUYING AN ARTICLE IN ONE MARKET AND
SELLING IT IN ANOTHER MARKET, HOPEFULLY AT A HIGHER PRICE.
IN THE STOCK MARKET THIS MAY INVOLVE BUYING ONE SECURITY
AND SELLING ANOTHER EQUIVALENT SECURITY IN THE SAME MARKET.
THIS TYPE OF ARBITRAGE OCCURS WHEN MERGERS ARE BEING CONSID-
ERED. OWNERS OF ONE SECURITY MAY TRADE THEM IN FOR ANOTHER
PACKAGE OF SECURITIES. IN THIS CASE THE OWNERS OF THE FIRST
SECURITY MAY WONDER WHAT THE VALUE OF THE SECOND PACKAGE IS.
THIS PROGRAM EVALUATES THE VALUE OF A PACKAGE OF DIFFERENT
SECURITIES. IN A MERGER A PACKAGE OF COMPANY A SECURITIES AND
CASH ARE GENERALLY TRADED FOR A PACKAGE OF COMPANY B SECURITIES
USUALLY SOME SHARES OF COMMON STOCK.
PRESS ENTER TO BEGIN?
FOR EACH SECURITY IN PACKAGE ENTER PRICE/UNIT AND NO. UNITS
IN PACKAGE.
ENTER VALUE OF 1 UNIT OF SECURITY 1 (-1 TO END)? 123.45
ENTER # OF UNITS OF SECURITY 1 IN PACKAGE? 67
ENTER VALUE OF 1 UNIT OF SECURITY 2 (-1 TO END)? 89.01
ENTER # OF UNITS OF SECURITY 2 IN PACKAGE? 234
ENTER VALUE OF 1 UNIT OF SECURITY 3 (-1 TO END)? -1
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
PRESS ENTER WHEN PRINTER READY?
VALUE OF UNIT # OF UNITS TOTAL VALUE
$123.45 67.0000 $8271.150
$89.01 234.0000 $20828.340
================================================================
GRAND TOTAL VALUE $29099.490
PRESS ENTER FOR MORE COMPUTATION? 0

+ 42
- 0
BP100/ASSIGN.80 View File

@@ -0,0 +1,42 @@
ASSIGNMENT COST
THE ASSIGNMENT PROBLEM EXAMINED IN THIS PROGRAM IS OF THE
FOLLOWING TYPE: THERE ARE A FIXED NUMBER OF JOBS TO BE DONE
(SAY N JOBS), AND THE SAME NUMBER(N) OF POSSIBLE ASSIGNEES,
I.E. THOSE WHO CAN DO THE JOB. THE ASSIGNEES HAVE DIFFERENT
EFFICIENCIES FOR THE DIFFERENT JOBS. IN FACT FOR EACH
JOB-ASSIGNEE COMBINATION WE CAN ASSIGN SOME COST. EACH
ASSIGNEE IS ASSIGNED TO 1 AND ONLY 1 JOB. THE PROGRAM WILL
FIND THE ASSIGNMENT WHICH MINIMIZES TOTAL COST.
THIS PROGRAM IS SET UP FOR A MAXIMUM OF 9 DIFFERENT JOBS
AND 9 DIFFERENT POSSIBLE ASSIGNMENTS.
PRESS ENTER TO CONTINUE?
HOW MANY JOBS MUST BE ASSIGNED(<= 9 ? 2
FOR JOB 1
COST FOR ASSIGNEE 1 ? 123.45
COST FOR ASSIGNEE 2 ? 678.90
FOR JOB 2
COST FOR ASSIGNEE 1 ? 987.65
COST FOR ASSIGNEE 2 ? 432.10
PRESS ENTER TO CONTINUE?
IS LINEPRINTER OUTPUT OF INITIAL COST ASSIGNMENT DESIRED(Y/N)? Y
PRESS ENTER WHEN PRINTER READY?
COMPUTING
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
OPTIMAL ASSIGNMENT
JOB 1 GETS ASSIGNEE 1 COST = 123.45
JOB 2 GETS ASSIGNEE 2 COST = 432.1
TOTAL COST = 555.55
PRESS ENTER TO START AGAIN? 0

+ 119
- 0
BP100/ASSIGN.BAS View File

@@ -0,0 +1,119 @@
1 REM ASSIGN
5 CLEAR 100
10 CLS:PRINT TAB(20);"ASSIGNMENT COST":PRINT
20 PRINT"THE ASSIGNMENT PROBLEM EXAMINED IN THIS PROGRAM IS OF THE
25 PRINT"FOLLOWING TYPE: THERE ARE A FIXED NUMBER OF JOBS TO BE DONE
30 PRINT"(SAY N JOBS), AND THE SAME NUMBER(N) OF POSSIBLE ASSIGNEES,
35 PRINT"I.E. THOSE WHO CAN DO THE JOB. THE ASSIGNEES HAVE DIFFERENT
40 PRINT"EFFICIENCIES FOR THE DIFFERENT JOBS. IN FACT FOR EACH
45 PRINT"JOB-ASSIGNEE COMBINATION WE CAN ASSIGN SOME COST. EACH
50 PRINT"ASSIGNEE IS ASSIGNED TO 1 AND ONLY 1 JOB. THE PROGRAM WILL
55 PRINT"FIND THE ASSIGNMENT WHICH MINIMIZES TOTAL COST.
60 PRINT:PRINT"THIS PROGRAM IS SET UP FOR A MAXIMUM OF 9 DIFFERENT JOBS
65 PRINT"AND 9 DIFFERENT POSSIBLE ASSIGNMENTS.
90 PRINT:INPUT"PRESS ENTER TO CONTINUE";Z9$
100 MAXX = 9
110 DIM C(MAXX+1,MAXX+1),MA(MAXX+1),JO(MAXX+1),SZ(MAXX+1),AU(MAXX+1),SA(MAXX+1)
120 CLS
130 PRINT"HOW MANY JOBS MUST BE ASSIGNED(<=";MAXX;:INPUT N
140 IF N<1 OR N>MAXX OR N<>INT(N) THEN GOSUB 10000:PRINT:GOTO 130
150 PRINT
160 FOR I=1 TO N
170 PRINT"FOR JOB";I
180 FOR J=1 TO N
190 PRINT" COST FOR ASSIGNEE";J;:INPUT C(I,J)
200 NEXT J
210 PRINT
220 NEXT I
230 PRINT:GOSUB 10100
235 CLS
240 INPUT"IS LINEPRINTER OUTPUT OF INITIAL COST ASSIGNMENT DESIRED(Y/N)";Z2$
250 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:PRINT:GOTO 240
260 IF Z2$="N" THEN GOTO 300
270 PRINT:INPUT"PRESS ENTER WHEN PRINTER READY";Z9$
273 FOR I=1 TO N
275 LPRINT"FOR JOB";I
278 FOR J=1 TO N
280 LPRINT" COST FOR ASSIGNEE";J;"=";C(I,J)
285 NEXT J:NEXT I
300 CLS:PRINT:PRINT:PRINT:PRINT"COMPUTING"
305 FOR I=1 TO N:FOR J=1 TO N:C(I,J)=-C(I,J):NEXT:NEXT
320 ZL=0:FOR I=1 TO N:AU(I)=0:NEXT
326 FOR I=1 TO N:MA(I)=0:W=-1E9
332 FOR J=1 TO N
334 IF AU(J)=1 THEN GOTO 342
336 IF C(I,J)<=W THEN GOTO 342
338 W=C(I,J):J1=J
342 NEXT J
344 AU(J1)=1
346 ZL=ZL+W
348 SA(I)=J1
350 NEXT I
370 REM START SEARCH
375 I=1
380 J=1
390 FOR M=1 TO I
400 IF J=MA(M) THEN J=J+1:GOTO 390
410 NEXT M
420 MA(I)=J
430 GOSUB 1000
440 SZ(I)=ZU:IF ZU<=ZL THEN GOTO 600
460 I=I+1:IF I<=N THEN GOTO 380
480 FOR I=1 TO N:SA(I)=MA(I):NEXT I
510 I=N:ZL=ZU:REM NEW BOUND
540 IF SZ(I-1)<>ZL THEN GOTO 660
550 MA(I)=0:I=I-1:IF I=1 THEN GOTO 660
580 GOTO 540
600 J=MA(I)
610 J=J+1
620 IF J<=N THEN GOTO 680
630 MA(I)=0:I=I-1
660 IF I=0 THEN GOTO 740
670 GOTO 600
680 IM=I-1
690 IF IM=0 THEN IM=1
700 FOR L=1 TO IM:IF J=MA(L) THEN GOTO 610
720 NEXT L
730 GOTO 420
740 CLS
750 INPUT"IS LINE PRINTER OUTPUT DESIRED(Y/N)";Z2$
760 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 750
770 CLS:PRINT"OPTIMAL ASSIGNMENT"
780 FOR I=1 TO N
790 PRINT TAB(10);"JOB ";SA(I);"GETS ASSIGNEE";I;" COST = ";-C(SA(I),I)
800 NEXT
802 ZL=-ZL
805 PRINT:PRINT TAB(30);"TOTAL COST = ";ZL
810 IF Z2$="N" THEN GOTO 900
815 LPRINT TAB(20);"OPTIMAL ASSIGNMENT":LPRINT" "
820 FOR I=1 TO N
830 LPRINT "JOB ";SA(I);"GETS ASSIGNEE";I;" COST = ";-C(SA(I),I)
832 NEXT I
835 LPRINT TAB(20);"TOTAL COST = ";ZL
900 PRINT:INPUT"PRESS ENTER TO START AGAIN";Z9$
905 IF Z9$ = "0" THEN END
910 CLEAR 1000:GOTO 100
1000 FOR CI=1 TO N:AU(CI)=MA(CI):NEXT CI
1030 FOR CI=1 TO N
1040 IF AU(CI)=0 THEN GOTO 1070
1050 NEXT CI
1060 CI=N+1:CM=CI-1:GOTO 1210
1070 CM=CI-1
1080 FOR MN=CI TO N
1090 CW=-1E9
1100 FOR JB=1 TO N
1110 IF CI=1 THEN GOTO 1150
1120 FOR L=1 TO CM
1130 IF JB=AU(L) THEN GOTO 1170
1140 NEXT L
1150 IF C(MN,JB)<=CW THEN GOTO 1170
1160 CW=C(MN,JB)
1170 NEXT JB
1180 AU(MN)=CW
1190 NEXT MN
1200 IF CI=1 THEN GOTO 1240
1210 FOR CJ=1 TO CM:AU(CJ)=C(CJ,MA(CJ)):NEXT CJ
1240 ZU=0:FOR CJ=1 TO N:ZU=ZU+AU(CJ):NEXT CJ
1280 RETURN
10000 PRINT"INPUT ERROR!TRY AGAIN!":FOR JJ=1 TO 300:NEXT:RETURN
10100 INPUT"PRESS ENTER TO CONTINUE";Z9$:RETURN

+ 11
- 0
BP100/ASSIGN.INP View File

@@ -0,0 +1,11 @@

2
123.45
678.90
987.65
432.10

Y

Y
0

+ 42
- 0
BP100/ASSIGN.OUT View File

@@ -0,0 +1,42 @@
ASSIGNMENT COST

THE ASSIGNMENT PROBLEM EXAMINED IN THIS PROGRAM IS OF THE
FOLLOWING TYPE: THERE ARE A FIXED NUMBER OF JOBS TO BE DONE
(SAY N JOBS), AND THE SAME NUMBER(N) OF POSSIBLE ASSIGNEES,
I.E. THOSE WHO CAN DO THE JOB. THE ASSIGNEES HAVE DIFFERENT
EFFICIENCIES FOR THE DIFFERENT JOBS. IN FACT FOR EACH
JOB-ASSIGNEE COMBINATION WE CAN ASSIGN SOME COST. EACH
ASSIGNEE IS ASSIGNED TO 1 AND ONLY 1 JOB. THE PROGRAM WILL
FIND THE ASSIGNMENT WHICH MINIMIZES TOTAL COST.

THIS PROGRAM IS SET UP FOR A MAXIMUM OF 9 DIFFERENT JOBS
AND 9 DIFFERENT POSSIBLE ASSIGNMENTS.

PRESS ENTER TO CONTINUE?
HOW MANY JOBS MUST BE ASSIGNED(<= 9 ? 2

FOR JOB 1
COST FOR ASSIGNEE 1 ? 123.45
COST FOR ASSIGNEE 2 ? 678.90

FOR JOB 2
COST FOR ASSIGNEE 1 ? 987.65
COST FOR ASSIGNEE 2 ? 432.10


PRESS ENTER TO CONTINUE?
IS LINEPRINTER OUTPUT OF INITIAL COST ASSIGNMENT DESIRED(Y/N)? Y

PRESS ENTER WHEN PRINTER READY?



COMPUTING
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
OPTIMAL ASSIGNMENT
JOB 1 GETS ASSIGNEE 1 COST = 123.45
JOB 2 GETS ASSIGNEE 2 COST = 432.1

TOTAL COST = 555.55

PRESS ENTER TO START AGAIN? 0

+ 0
- 0
BP100/ASSIGN.dif View File


+ 42
- 0
BP100/ASSIGN.run View File

@@ -0,0 +1,42 @@
ASSIGNMENT COST
THE ASSIGNMENT PROBLEM EXAMINED IN THIS PROGRAM IS OF THE
FOLLOWING TYPE: THERE ARE A FIXED NUMBER OF JOBS TO BE DONE
(SAY N JOBS), AND THE SAME NUMBER(N) OF POSSIBLE ASSIGNEES,
I.E. THOSE WHO CAN DO THE JOB. THE ASSIGNEES HAVE DIFFERENT
EFFICIENCIES FOR THE DIFFERENT JOBS. IN FACT FOR EACH
JOB-ASSIGNEE COMBINATION WE CAN ASSIGN SOME COST. EACH
ASSIGNEE IS ASSIGNED TO 1 AND ONLY 1 JOB. THE PROGRAM WILL
FIND THE ASSIGNMENT WHICH MINIMIZES TOTAL COST.
THIS PROGRAM IS SET UP FOR A MAXIMUM OF 9 DIFFERENT JOBS
AND 9 DIFFERENT POSSIBLE ASSIGNMENTS.
PRESS ENTER TO CONTINUE?
HOW MANY JOBS MUST BE ASSIGNED(<= 9 ? 2
FOR JOB 1
COST FOR ASSIGNEE 1 ? 123.45
COST FOR ASSIGNEE 2 ? 678.90
FOR JOB 2
COST FOR ASSIGNEE 1 ? 987.65
COST FOR ASSIGNEE 2 ? 432.10
PRESS ENTER TO CONTINUE?
IS LINEPRINTER OUTPUT OF INITIAL COST ASSIGNMENT DESIRED(Y/N)? Y
PRESS ENTER WHEN PRINTER READY?
COMPUTING
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
OPTIMAL ASSIGNMENT
JOB 1 GETS ASSIGNEE 1 COST = 123.45
JOB 2 GETS ASSIGNEE 2 COST = 432.1
TOTAL COST = 555.55
PRESS ENTER TO START AGAIN? 0

+ 156
- 0
BP100/AUTOEXP.80 View File

@@ -0,0 +1,156 @@
AUTO EXPENSE ANALYSIS
THIS SIMPLE PROGRAM WILL PERMIT THE INDIVIDUAL TO KEEP A
RECORD OF ALL EXPENSES PERTAINING TO THE USE OF AN AUTOMOBILE.
FOR EACH EXPENSE THIS PROGRAM STORES THE FOLLOWING:
AN EXPENSE TYPE CHOSEN FROM GAS,OIL,MAIN,TOLL,INS,PAYM OR MISC
MAIN MEANS MAINTENANCE,INS IS INSURANCE,PAYM IS CAR PAYMENT.
IN ADDITION TO TYPE EXPENSE THERE IS DESCRIPTION,DATE,PLACE OF
SERVICE,QUANTITY PURCHASED,BILL AMOUNT AND ODOMETER READING.
THIS DATA IS STORED IN A FILE IN MEMORY. THIS FILE MAY BE
SAVED ON DISKETTE OR CASSETTE AND RECALLED,IT MAY BE EDITED
LISTED ON CRT OR PRINTER,ETC. A MILES PER GALLON CALCULATION
MAY ALSO BE PERFORMED.
PRESS ENTER TO BEGIN?
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
INITIAL INPUT ENTRY
MAKE THIS ENTRY WITH A FULL GAS TANK
ENTER DATE(MM/DD/YY)? 01/02/03
ENTER ODOMETER READING? 123000
INITIAL ENTRY DONE
PRESS ENTER TO CONTINUE?
EXPENSE TYPES: GAS OIL MAIN TOLL INS PAYM MISC
TYPE EXPENSE ? GAS
EXP. DESCRIPTION ? fillup
DATE OF EXPENSE ? 01/03/03
PLACE OF SERVICE ? 66
0.00QUANT. PURCH ? 12.3
0.00BILL AMOUNT ? 39.87
0.00ODOMETER READ. ? 123456
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT DISK FILE IS NEW FILE ? AUTOEXP.DAT
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF FILE TO READ IN? AUTOEXP.DAT
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
PUT PAPER INTO PRINTER
PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00
PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0
PRESS ENTER TO CONTINUE?
TOTAL GASOLINE USED : 12.30
TOTAL MILEAGE GONE : 456.00
TOTAL COST OF USE : $39.87
MILES/GALLON : 37.07
TOTAL COST/MILE : $0.09
PRESS ENTER TO CONTINUE?
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
ENTER TYPE DESIRED? GAS
******* COMPUTING *******
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00
GAS fillup 01/03/03 66 12.3 39.87 123456.0
PRESS ENTER TO CONTINUE?
TOTAL COST FOR THIS EXPENSE TYPE : $39.87
PRESS ENTER TO CONTINUE?
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 0

+ 239
- 0
BP100/AUTOEXP.BAS View File

@@ -0,0 +1,239 @@
1 CLS:PRINT TAB(5);"AUTO EXPENSE ANALYSIS":PRINT
2 PRINT "THIS SIMPLE PROGRAM WILL PERMIT THE INDIVIDUAL TO KEEP A
3 PRINT "RECORD OF ALL EXPENSES PERTAINING TO THE USE OF AN AUTOMOBILE.
4 PRINT "FOR EACH EXPENSE THIS PROGRAM STORES THE FOLLOWING:
5 PRINT "AN EXPENSE TYPE CHOSEN FROM GAS,OIL,MAIN,TOLL,INS,PAYM OR MISC
6 PRINT "MAIN MEANS MAINTENANCE,INS IS INSURANCE,PAYM IS CAR PAYMENT.
7 PRINT "IN ADDITION TO TYPE EXPENSE THERE IS DESCRIPTION,DATE,PLACE OF
8 PRINT "SERVICE,QUANTITY PURCHASED,BILL AMOUNT AND ODOMETER READING.
9 PRINT "THIS DATA IS STORED IN A FILE IN MEMORY. THIS FILE MAY BE
10 PRINT "SAVED ON DISKETTE OR CASSETTE AND RECALLED,IT MAY BE EDITED
11 PRINT "LISTED ON CRT OR PRINTER,ETC. A MILES PER GALLON CALCULATION
12 PRINT "MAY ALSO BE PERFORMED.
15 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
50 CLEAR 3000
60 DIM AA$(70,4),BB(70,3)
65 DIM AT$(70,4),BT(70,3)
70 GOSUB 9000
100 ' CLS:INPUT "ARE DISK DRIVES ATTACHED(Y/N)";ZD$
110 ' IF ZD$<>"Y" AND ZD$<>"N" THEN GOSUB 10000:GOTO 100
120 ZD$ = "Y" ' bwBASIC does not support cassette input
500 CLS:PRINT " MAIN MENU":PRINT
505 PRINT " 0.QUIT
510 PRINT " 1.ADD TO FILE OR BEGIN NEW FILE
520 PRINT " 2.READ FILE IN FROM TAPE
530 PRINT " 3.WRITE FILE OUT ONTO TAPE
540 PRINT " 4.READ FILE IN FROM DISK
550 PRINT " 5.WRITE FILE OUT ONTO DISK
560 PRINT " 6.EDIT FILE
570 PRINT " 7.LIST CONTENTS, COMPLETE OR BY TYPE
580 PRINT " 8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
590 Z9=0
600 INPUT "ENTER YOUR CHOICE";Z9
605 IF Z9 = 0 THEN END
610 ON Z9 GOSUB 1000,2000,2100,2200,2300,3000,5000,7000
620 GOTO 500
1000 REM ADD TO OR START FILE ALREADY IN MEMORY
1010 CLS: IF NI=0 THEN PRINT "NEW FILE":GOSUB 10100
1013 IF NI=0 THEN GOSUB 6500:PRINT "INITIAL ENTRY DONE":GOSUB 10100:CLS
1015 J=NI+1
1020 GOSUB 6000:REM INPUT 1 RECORD
1030 CLS:PRINT F$(2):GOSUB 6100:REM PRINT OUT 1 RECORD
1040 GOSUB 10200:IF Z9$="N" THEN GOTO 1020
1050 IF Z9$="A" THEN RETURN
1060 NI=NI+1:REM NEW RECORD ON FILE
1070 GOSUB 10400:REM MORE?
1080 IF Z9$="Y" THEN GOTO 1000 : ELSE RETURN
2000 REM READ IN FILE FROM TAPE
2010 CLS:PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2015 ' IF ZD$="Y" THEN CMD"T"
2020 INPUT #-1,NI
2030 FOR J=0 TO NI:INPUT #-1,AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3):NEXT
2040 RETURN
2100 REM WRITE OUT FILE ONTO TAPE
2105 CLS
2110 PRINT "PUT DATA TAPE IN TAPE DRIVE":GOSUB 10100
2115 ' IF ZD$="Y" THEN CMD"T"
2130 WRITE #-1,NI
2140 FOR J=0 TO NI:WRITE #-1,AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3):NEXT
2150 RETURN
2200 REM READ IN FILE FROM DISK
2210 CLS:PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2220 ON ERROR GOTO 2290
2225 PRINT :INPUT "ENTER NAME OF FILE TO READ IN";FI$
2230 OPEN "I",1,FI$
2240 INPUT # 1,NI
2250 FOR J=0 TO NI:INPUT # 1,AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3):FOR JJ=1 TO 4:Z8$=AA$(J,JJ):GOSUB 11000:AA$(J,JJ)=Z8$:NEXT JJ:NEXT
2260 CLOSE # 1
2270 RETURN
2290 PRINT "FILE DOES NOT EXIST":GOSUB 10100:RETURN
2300 REM WRITE FILE OUT TO DISK
2305 CLS
2310 PRINT :PRINT "PUT DATA DISK IN DISK DRIVE":GOSUB 10100
2315 PRINT :PRINT "PRESENT DISK FILE IS ";FI$;" ";:INPUT "NEW FILE ";FI$
2320 OPEN "O",1,FI$
2330 WRITE # 1,NI
2340 FOR J=0 TO NI:WRITE # 1,AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3):NEXT
2370 CLOSE # 1
2380 RETURN
3000 REM EDIT FILE
3010 CLS:PRINT " ";F$(2)
3020 FOR J=0 TO NI
3030 PRINT USING "## ";J;
3040 GOSUB 6100
3050 IF J/12=INT(J/12) THEN GOSUB 4000
3060 NEXT J
3062 J=J-1
3065 IF J/12=INT(J/12) THEN GOTO 3080
3070 GOSUB 4000
3080 RETURN
4000 REM EDIT SUBROUTINE
4010 K=J
4020 PRINT
4025 J=0
4028 PRINT "CHANGE TYPE CODE TO ZZZZ FOR DELETING"
4030 INPUT "ENTER # OF ITEM YOU WISH TO EDIT,0 IF NONE";J
4035 IF J=0 THEN J=K:RETURN
4040 CLS:PRINT " ";F$(2):PRINT
4050 PRINT " ";:GOSUB 6100
4060 PRINT :GOSUB 6000
4070 CLS:PRINT " ";F$(2)
4080 FOR J=INT(K/12)*12+1 TO K:PRINT USING "## ";J;:GOSUB 6100:NEXT
4090 GOTO 4020
5000 REM LIST FILE WITH ANALYSIS
5005 INPUT "IS A LINE PRINTER TO BE USED(Y/N)";Z2$:IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 5005
5010 CLS:PRINT " LIST MENU":PRINT
5020 PRINT "1. COMPLETE LIST AS ON FILE
5030 PRINT "2. LIST BY TYPE
5050 PRINT "3. END LIST PROGRAM
5060 PRINT :INPUT "ENTER APPROPRIATE CHOICE";Z9
5065 IF Z9=3 THEN RETURN
5070 ON Z9 GOSUB 5200,5300
5080 GOTO 5010
5100 RETURN
5200 REM COMPLETE LIST
5205 CLS:IF Z2$="Y" THEN PRINT "PUT PAPER INTO PRINTER":GOSUB 10100
5210 PRINT F$(2):IF Z2$="Y" THEN LPRINT TAB(20);"COMPLETE LIST":LPRINT F$(5)
5215 V(1)=0:V(2)=0:V(3)=0:V(4)=0
5220 FOR J = 0 TO NI
5230 GOSUB 6100:GOSUB 6300:REM 1 RECORD PRINTED
5233 IF AA$(J,1)="GAS" THEN V(1)=V(1)+BB(J,1):GM=J:OD=BB(J,3) ' REM TOTAL GASOLINE
5236 V(2)=V(2)+BB(J,2):REM TOTAL COST
5237 V(3)=OD-BB(0,3):REM TOTAL MILEAGE
5238 V(4)=BB(GM,3)-BB(0,3):REM TOTAL MILEAGE FOR GASOLINE
5240 IF J/12 = INT(J/12) THEN PRINT :GOSUB 10100:CLS:PRINT F$(2)
5250 NEXT J
5260 PRINT :GOSUB 10100
5262 PRINT USING "TOTAL GASOLINE USED : #####.##";V(1)
5264 PRINT USING "TOTAL MILEAGE GONE : ######.##";V(3)
5265 PRINT USING "TOTAL COST OF USE : $$####.##";V(2)
5266 PRINT USING "MILES/GALLON : ###.##";V(4)/V(1)
5267 PRINT USING "TOTAL COST/MILE : $$#####.##";V(2)/V(3)
5268 IF Z2$<>"Y" THEN GOTO 5280
5271 LPRINT " ":LPRINT " "
5272 LPRINT USING "TOTAL GASOLINE USED : #####.##";V(1)
5274 LPRINT USING "TOTAL MILEAGE GONE : ######.##";V(3)
5275 LPRINT USING "TOTAL COST OF USE : $$####.##";V(2)
5276 LPRINT USING "MILES/GALLON : ###.##";V(4)/V(1)
5277 LPRINT USING "TOTAL COST/MILE : $$#####.##";V(2)/V(3)
5280 PRINT :GOSUB 10100:RETURN
5300 REM LIST TYPE
5305 CLS:INPUT "ENTER TYPE DESIRED";RM$
5310 V(1)=0:V(2)=0:V(3)=0:V(4)=0
5315 CLS:PRINT @ 398,"******* COMPUTING *******"
5320 FOR J=0 TO NI
5325 IF RM$<>AA$(J,1) THEN GOTO 5390
5330 V(1)=V(1)+BB(J,2):REM TOTAL COST FOR THIS EXPESE TYPE
5390 NEXT J
5400 CLS:PRINT F$(2):IF Z2$="Y" THEN LPRINT TAB(20); "LIST OF TYPE ";RM$:LPRINT F$(5)
5405 JJ=0
5410 FOR J=0 TO NI
5415 IF RM$<>AA$(J,1) THEN GOTO 5450
5417 JJ=JJ+1
5420 GOSUB 6100
5430 GOSUB 6300
5440 IF JJ/12=INT(JJ/12) THEN GOSUB 10100:CLS:PRINT F$(2):PRINT F$(6)
5450 NEXT J
5460 PRINT :GOSUB 10100
5470 PRINT
5480 PRINT USING "TOTAL COST FOR THIS EXPENSE TYPE : $$#####.##";V(1)
5500 IF Z2$<>"Y" THEN GOTO 5550
5505 LPRINT " ":LPRINT " "
5510 LPRINT USING "TOTAL COST FOR THIS EXPENSE TYPE : $$#####.##";V(1)
5530 LPRINT :LPRINT
5550 PRINT :GOSUB 10100:RETURN
6000 REM SBR FOR INPUTTING DATA ON 1 PURCHASE
6005 F$(1)="% %"
6008 PRINT "EXPENSE TYPES: GAS OIL MAIN TOLL INS PAYM MISC":PRINT
6010 PRINT USING F$(1);AA$(J,1),:INPUT "TYPE EXPENSE ";AA$(J,1)
6012 A$=AA$(J,1):IF A$<>"GAS" AND A$<>"OIL" AND A$<>"MAIN" AND A$<>"TOLL" AND A$<>"INS" AND A$<>"PAYM" AND A$<>"MISC" AND A$<>"ZZZZ" THEN GOSUB 10000:GOTO 6008
6015 PRINT USING F$(1);AA$(J,2),:INPUT "EXP. DESCRIPTION ";AA$(J,2)
6020 PRINT USING F$(1);AA$(J,3),:INPUT "DATE OF EXPENSE ";AA$(J,3)
6023 PRINT USING F$(1);AA$(J,4),:INPUT "PLACE OF SERVICE ";AA$(J,4)
6035 F$(1)=" #########.## "
6040 PRINT USING F$(1);BB(J,1),:INPUT "QUANT. PURCH ";BB(J,1)
6050 PRINT USING F$(1);BB(J,2),:INPUT "BILL AMOUNT ";BB(J,2)
6055 PRINT USING F$(1);BB(J,3),:INPUT "ODOMETER READ. ";BB(J,3)
6099 RETURN
6100 REM PRINT 1 LINE OF PORTFOLIO
6110 PRINT USING F$(4);AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3)
6120 RETURN
6300 REM PRINT 1 LINE OF PORTFOLIO ON PRINTER
6310 IF Z2$<>"Y" THEN RETURN
6320 LPRINT USING F$(7);AA$(J,1),AA$(J,2),AA$(J,3),AA$(J,4),BB(J,1),BB(J,2),BB(J,3)
6330 RETURN
6500 REM INITIAL INPUT
6510 CLS
6520 PRINT "INITIAL INPUT ENTRY"
6522 PRINT "MAKE THIS ENTRY WITH A FULL GAS TANK":PRINT
6530 AA$(0,1)="GAS":AA$(0,2)="INITIAL"
6540 INPUT "ENTER DATE(MM/DD/YY)";AA$(0,3)
6550 INPUT "ENTER ODOMETER READING";BB(0,3)
6560 RETURN
7000 REM DELETE SBR COMPUTATION
7005 K=1:REM K=NO. OF RECORDS NOT DELETED
7010 FOR J=1 TO NI
7020 IF AA$(J,1)="ZZZZ" THEN GOTO 7090
7030 REM DO NOT DELETE RECORD
7040 FOR J6=1 TO 4:AT$(K,J6)=AA$(J,J6):NEXT
7050 FOR J6=1 TO 3:BT(K,J6)=BB(J,J6):NEXT
7060 K=K+1:GOTO 7090
7090 NEXT J
7100 K=K-1:NI=K
7110 FOR J=1 TO NI
7120 FOR J6=1 TO 4:AA$(J,J6)=AT$(J,J6):NEXT
7130 FOR J6=1 TO 3:BB(J,J6)=BT(J,J6):NEXT
7140 NEXT J
7150 RETURN
9000 REM FORMATTING VARIABLES
9020 F$(2)="TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER"
9030 F$(4)="% % % % % % % % ####.# ####.## ######.#"
9040 F$(5)="TYPE DESCRIPTION DATE PLACE QUANTITY $ AMT. ODOMETER"
9060 F$(7)="% % % % % % % % ####.# $$###.## ######.#"
9099 RETURN
10000 REM INPUT ERROR SBR
10010 PRINT "INPUT ERROR! TRY AGAIN!":FOR Z9=1 TO 300:NEXT Z9
10020 RETURN
10100 INPUT "PRESS ENTER TO CONTINUE";Z9:RETURN
10200 REM Y,N,A SBR
10205 Z9$=" "
10210 INPUT "ENTER Y IF OK,N IF ERROR,A TO ABORT";Z9$
10220 IF Z9$<>"Y" AND Z9$<>"N" AND Z9$<>"A" THEN GOSUB 10000:GOTO 10205
10230 RETURN
10300 REM Y,N SBR
10305 Z9$=" "
10310 INPUT "ENTER Y IF OK, N IF ERROR";Z9$
10320 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10305
10330 RETURN
10400 REM MORE ENTRY? SBR
10405 Z9$=" "
10410 INPUT "DO YOU DESIRE MORE ENTRIES(Y/N)";Z9$
10420 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 10405
10430 RETURN
10500 REM ONLY Y/N SBR
10510 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000
10520 RETURN
11000 REM ELIMINATES TRAILING BLANKS OF VARIABLE Z8$
11010 IF RIGHT$(Z8$,1)=" " THEN Z8$=LEFT$(Z8$,LEN(Z8$)-1):GOTO 11010
11020 RETURN


+ 3
- 0
BP100/AUTOEXP.DAT View File

@@ -0,0 +1,3 @@
1
"GAS","INITIAL","01/02/03","", 0, 0, 123000
"GAS","fillup","01/03/03","66", 12.3, 39.87, 123456

+ 34
- 0
BP100/AUTOEXP.INP View File

@@ -0,0 +1,34 @@

1

01/02/03
123000

GAS
fillup
01/03/03
66
12.3
39.87
123456
Y
N
5

AUTOEXP.DAT
4

AUTOEXP.DAT
7
Y
1




2
GAS


3
0

+ 156
- 0
BP100/AUTOEXP.OUT View File

@@ -0,0 +1,156 @@
AUTO EXPENSE ANALYSIS

THIS SIMPLE PROGRAM WILL PERMIT THE INDIVIDUAL TO KEEP A
RECORD OF ALL EXPENSES PERTAINING TO THE USE OF AN AUTOMOBILE.
FOR EACH EXPENSE THIS PROGRAM STORES THE FOLLOWING:
AN EXPENSE TYPE CHOSEN FROM GAS,OIL,MAIN,TOLL,INS,PAYM OR MISC
MAIN MEANS MAINTENANCE,INS IS INSURANCE,PAYM IS CAR PAYMENT.
IN ADDITION TO TYPE EXPENSE THERE IS DESCRIPTION,DATE,PLACE OF
SERVICE,QUANTITY PURCHASED,BILL AMOUNT AND ODOMETER READING.
THIS DATA IS STORED IN A FILE IN MEMORY. THIS FILE MAY BE
SAVED ON DISKETTE OR CASSETTE AND RECALLED,IT MAY BE EDITED
LISTED ON CRT OR PRINTER,ETC. A MILES PER GALLON CALCULATION
MAY ALSO BE PERFORMED.

PRESS ENTER TO BEGIN?
MAIN MENU

0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
INITIAL INPUT ENTRY
MAKE THIS ENTRY WITH A FULL GAS TANK

ENTER DATE(MM/DD/YY)? 01/02/03
ENTER ODOMETER READING? 123000
INITIAL ENTRY DONE
PRESS ENTER TO CONTINUE?
EXPENSE TYPES: GAS OIL MAIN TOLL INS PAYM MISC

TYPE EXPENSE ? GAS
EXP. DESCRIPTION ? fillup
DATE OF EXPENSE ? 01/03/03
PLACE OF SERVICE ? 66
0.00QUANT. PURCH ? 12.3
0.00BILL AMOUNT ? 39.87
0.00ODOMETER READ. ? 123456
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU

0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 5

PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?

PRESENT DISK FILE IS NEW FILE ? AUTOEXP.DAT
MAIN MENU

0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?

ENTER NAME OF FILE TO READ IN? AUTOEXP.DAT
MAIN MENU

0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
LIST MENU

1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 1
PUT PAPER INTO PRINTER
PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00

PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0

PRESS ENTER TO CONTINUE?
TOTAL GASOLINE USED : 12.30
TOTAL MILEAGE GONE : 456.00
TOTAL COST OF USE : $39.87
MILES/GALLON : 37.07
TOTAL COST/MILE : $0.09

PRESS ENTER TO CONTINUE?
LIST MENU

1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 2
ENTER TYPE DESIRED? GAS
******* COMPUTING *******
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00
GAS fillup 01/03/03 66 12.3 39.87 123456.0

PRESS ENTER TO CONTINUE?

TOTAL COST FOR THIS EXPENSE TYPE : $39.87

PRESS ENTER TO CONTINUE?
LIST MENU

1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM

ENTER APPROPRIATE CHOICE? 3
MAIN MENU

0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 0

+ 0
- 0
BP100/AUTOEXP.dif View File


+ 156
- 0
BP100/AUTOEXP.run View File

@@ -0,0 +1,156 @@
AUTO EXPENSE ANALYSIS
THIS SIMPLE PROGRAM WILL PERMIT THE INDIVIDUAL TO KEEP A
RECORD OF ALL EXPENSES PERTAINING TO THE USE OF AN AUTOMOBILE.
FOR EACH EXPENSE THIS PROGRAM STORES THE FOLLOWING:
AN EXPENSE TYPE CHOSEN FROM GAS,OIL,MAIN,TOLL,INS,PAYM OR MISC
MAIN MEANS MAINTENANCE,INS IS INSURANCE,PAYM IS CAR PAYMENT.
IN ADDITION TO TYPE EXPENSE THERE IS DESCRIPTION,DATE,PLACE OF
SERVICE,QUANTITY PURCHASED,BILL AMOUNT AND ODOMETER READING.
THIS DATA IS STORED IN A FILE IN MEMORY. THIS FILE MAY BE
SAVED ON DISKETTE OR CASSETTE AND RECALLED,IT MAY BE EDITED
LISTED ON CRT OR PRINTER,ETC. A MILES PER GALLON CALCULATION
MAY ALSO BE PERFORMED.
PRESS ENTER TO BEGIN?
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 1
NEW FILE
PRESS ENTER TO CONTINUE?
INITIAL INPUT ENTRY
MAKE THIS ENTRY WITH A FULL GAS TANK
ENTER DATE(MM/DD/YY)? 01/02/03
ENTER ODOMETER READING? 123000
INITIAL ENTRY DONE
PRESS ENTER TO CONTINUE?
EXPENSE TYPES: GAS OIL MAIN TOLL INS PAYM MISC
TYPE EXPENSE ? GAS
EXP. DESCRIPTION ? fillup
DATE OF EXPENSE ? 01/03/03
PLACE OF SERVICE ? 66
0.00QUANT. PURCH ? 12.3
0.00BILL AMOUNT ? 39.87
0.00ODOMETER READ. ? 123456
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0
ENTER Y IF OK,N IF ERROR,A TO ABORT? Y
DO YOU DESIRE MORE ENTRIES(Y/N)? N
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 5
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
PRESENT DISK FILE IS NEW FILE ? AUTOEXP.DAT
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 4
PUT DATA DISK IN DISK DRIVE
PRESS ENTER TO CONTINUE?
ENTER NAME OF FILE TO READ IN? AUTOEXP.DAT
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 7
IS A LINE PRINTER TO BE USED(Y/N)? Y
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 1
PUT PAPER INTO PRINTER
PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00
PRESS ENTER TO CONTINUE?
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS fillup 01/03/03 66 12.3 39.87 123456.0
PRESS ENTER TO CONTINUE?
TOTAL GASOLINE USED : 12.30
TOTAL MILEAGE GONE : 456.00
TOTAL COST OF USE : $39.87
MILES/GALLON : 37.07
TOTAL COST/MILE : $0.09
PRESS ENTER TO CONTINUE?
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 2
ENTER TYPE DESIRED? GAS
******* COMPUTING *******
TYPE DESCRIPT DATE PLACE QUANT. $ AMT. ODOMETER
GAS INITIAL 01/02/03 0.00000 0.0 123000.00
GAS fillup 01/03/03 66 12.3 39.87 123456.0
PRESS ENTER TO CONTINUE?
TOTAL COST FOR THIS EXPENSE TYPE : $39.87
PRESS ENTER TO CONTINUE?
LIST MENU
1. COMPLETE LIST AS ON FILE
2. LIST BY TYPE
3. END LIST PROGRAM
ENTER APPROPRIATE CHOICE? 3
MAIN MENU
0.QUIT
1.ADD TO FILE OR BEGIN NEW FILE
2.READ FILE IN FROM TAPE
3.WRITE FILE OUT ONTO TAPE
4.READ FILE IN FROM DISK
5.WRITE FILE OUT ONTO DISK
6.EDIT FILE
7.LIST CONTENTS, COMPLETE OR BY TYPE
8.ROUTINE ACTUALLY DELETING RECORD FROM FILE
ENTER YOUR CHOICE? 0

+ 34
- 0
BP100/BAYES.80 View File

@@ -0,0 +1,34 @@
BAYES PROBABILITIES
THIS THEOREM USES BAYES THEOREM TO REVISE ESTIMATES OF
THE PROBABILITIES OF THE OCCURRENCE OF THE VARIOUS STATES OF
NATURE. INPUT TO THIS PROGRAM ARE THE PROBABILITIES OF A
A FINITE AND USER SELECTABLE NUMBER OF STATES OF NATURE,
THESE PROBABILITIES MUST SUM UP TO 1. IN ADDITION,
THERE MUST BE INPUT FOR EACH STATE OF NATURE THE PROBABILITY
OF A CERTAIN EVENT,SAY B, OCCURRING GIVEN THAT STATE OF
IS THE TRUE STATE OF NATURE. THEN THE PROGRAM WILL COMPUTE
THE CONDITIONAL PROBAILITIES OF EACH OF THE STATES OF NATURE
BEING TRUE GIVEN THAT EVENT B OCCURS. THESE ARE CALLED
POSTERIOR PROBABILITIES AND MAY BE USED IN DECISION MAKING
PRESS ENTER TO BEGIN?
ENTER PROBABILITIES OF POSSIBLE STATES OF NATURE 1 BY 1.
THESE PROBABILITIES SHOULD ADD TO 1.
ENTER PROB. ST. OF NATURE 1 (-1 TO END)? 12
ENTER PROB. ST. OF NATURE 2 (-1 TO END)? 34
ENTER PROB. ST. OF NATURE 3 (-1 TO END)? 56
ENTER PROB. ST. OF NATURE 4 (-1 TO END)? -1
PROBABILITIES SUM TO 102 THIS SHOULD BE STANDARDIZED
TO SUM TO 1. ENTER 1 TO STANDARDIZE, 0 TO END? 1
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 1 ? .145
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 2 ? .267
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 3 ? .389
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
S OF N ORIG. PROB B POSTERIOR PROB
PROB. GIVEN S OF N S OF N GIVEN B
1 0.118 0.145 0.053
2 0.333 0.267 0.278
3 0.549 0.389 0.668
PRESS ENTER FOR ANOTHER COMPUTATION? 0

+ 55
- 0
BP100/BAYES.BAS View File

@@ -0,0 +1,55 @@
1 REM BAYES
10 CLS:PRINT TAB(10); "BAYES PROBABILITIES":PRINT
20 PRINT"THIS THEOREM USES BAYES THEOREM TO REVISE ESTIMATES OF
25 PRINT "THE PROBABILITIES OF THE OCCURRENCE OF THE VARIOUS STATES OF
30 PRINT "NATURE. INPUT TO THIS PROGRAM ARE THE PROBABILITIES OF A
35 PRINT "A FINITE AND USER SELECTABLE NUMBER OF STATES OF NATURE,
40 PRINT "THESE PROBABILITIES MUST SUM UP TO 1. IN ADDITION,
45 PRINT "THERE MUST BE INPUT FOR EACH STATE OF NATURE THE PROBABILITY
50 PRINT "OF A CERTAIN EVENT,SAY B, OCCURRING GIVEN THAT STATE OF
55 PRINT "IS THE TRUE STATE OF NATURE. THEN THE PROGRAM WILL COMPUTE
60 PRINT "THE CONDITIONAL PROBAILITIES OF EACH OF THE STATES OF NATURE
70 PRINT "BEING TRUE GIVEN THAT EVENT B OCCURS. THESE ARE CALLED
75 PRINT "POSTERIOR PROBABILITIES AND MAY BE USED IN DECISION MAKING
90 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
95 CLEAR 1000
100 DIM AB(100),BA(100),A(100)
110 CLS
120 N=0
130 PRINT "ENTER PROBABILITIES OF POSSIBLE STATES OF NATURE 1 BY 1.
135 PRINT "THESE PROBABILITIES SHOULD ADD TO 1.":PRINT
140 PRINT "ENTER PROB. ST. OF NATURE";N+1;"(-1 TO END)";:INPUT A(N+1)
150 IF A(N+1)=-1 THEN GOTO 500 ' REM ALL OVER
160 N=N+1:P=P+A(N)
170 GOTO 140
500 REM END OF COMPUTATION
510 IF P=1 THEN GOTO 550
520 CLS:PRINT "PROBABILITIES SUM TO";P;"THIS SHOULD BE STANDARDIZED
530 PRINT "TO SUM TO 1. ENTER 1 TO STANDARDIZE, 0 TO END";:INPUT Z9
540 IF Z9<>1 AND Z9<>0 THEN GOSUB 10000:GOTO 530
550 IF Z9=0 THEN END
560 FOR I=1 TO N:A(I)=A(I)/P:NEXT :P=1
570 CLS
580 FOR I=1 TO N
590 PRINT "ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE";I;:INPUT BA(I)
600 NEXT I
610 PB=0
620 FOR I=1 TO N:PB=PB+A(I)*BA(I):NEXT:REM PB=PROBABILITY OF B
625 IF PB>1 THEN PRINT "PROBABILITY OF B IS GREATER THAN 1. PROGRAM WILL ABORT":END
630 FOR I=1 TO N:AB(I)=BA(I)*A(I)/PB:NEXT I
700 F$(1)="S OF N ORIG. PROB B POSTERIOR PROB"
710 F$(2)=" PROB. GIVEN S OF N S OF N GIVEN B"
720 F$(3)=" ### #.### #.### #.###"
750 INPUT "IS LINE PRINTER OUTPUT DESIRED(Y/N)";Z2$
760 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 750
800 CLS:PRINT F$(1):PRINT F$(2):IF Z2$="Y" THEN LPRINT F$(1):LPRINT F$(2):LPRINT " "
810 FOR I=1 TO N
820 PRINT USING F$(3);I,A(I),BA(I),AB(I)
830 IF Z2$="Y" THEN LPRINT USING F$(3);I,A(I),BA(I),AB(I)
840 NEXT
890 INPUT "PRESS ENTER FOR ANOTHER COMPUTATION";Z9$
892 IF Z9$ = "0" THEN END
895 GOTO 95
10000 PRINT "INPUT ERROR!TRY AGAIN!":FOR Q=1 TO 300:NEXT :RETURN
10100 INPUT "PRESS ENTER TO CONTINUE";Z9$:RETURN


+ 11
- 0
BP100/BAYES.INP View File

@@ -0,0 +1,11 @@

12
34
56
-1
1
.145
.267
.389
Y
0

+ 34
- 0
BP100/BAYES.OUT View File

@@ -0,0 +1,34 @@
BAYES PROBABILITIES

THIS THEOREM USES BAYES THEOREM TO REVISE ESTIMATES OF
THE PROBABILITIES OF THE OCCURRENCE OF THE VARIOUS STATES OF
NATURE. INPUT TO THIS PROGRAM ARE THE PROBABILITIES OF A
A FINITE AND USER SELECTABLE NUMBER OF STATES OF NATURE,
THESE PROBABILITIES MUST SUM UP TO 1. IN ADDITION,
THERE MUST BE INPUT FOR EACH STATE OF NATURE THE PROBABILITY
OF A CERTAIN EVENT,SAY B, OCCURRING GIVEN THAT STATE OF
IS THE TRUE STATE OF NATURE. THEN THE PROGRAM WILL COMPUTE
THE CONDITIONAL PROBAILITIES OF EACH OF THE STATES OF NATURE
BEING TRUE GIVEN THAT EVENT B OCCURS. THESE ARE CALLED
POSTERIOR PROBABILITIES AND MAY BE USED IN DECISION MAKING

PRESS ENTER TO BEGIN?
ENTER PROBABILITIES OF POSSIBLE STATES OF NATURE 1 BY 1.
THESE PROBABILITIES SHOULD ADD TO 1.

ENTER PROB. ST. OF NATURE 1 (-1 TO END)? 12
ENTER PROB. ST. OF NATURE 2 (-1 TO END)? 34
ENTER PROB. ST. OF NATURE 3 (-1 TO END)? 56
ENTER PROB. ST. OF NATURE 4 (-1 TO END)? -1
PROBABILITIES SUM TO 102 THIS SHOULD BE STANDARDIZED
TO SUM TO 1. ENTER 1 TO STANDARDIZE, 0 TO END? 1
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 1 ? .145
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 2 ? .267
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 3 ? .389
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
S OF N ORIG. PROB B POSTERIOR PROB
PROB. GIVEN S OF N S OF N GIVEN B
1 0.118 0.145 0.053
2 0.333 0.267 0.278
3 0.549 0.389 0.668
PRESS ENTER FOR ANOTHER COMPUTATION? 0

+ 0
- 0
BP100/BAYES.dif View File


+ 34
- 0
BP100/BAYES.run View File

@@ -0,0 +1,34 @@
BAYES PROBABILITIES
THIS THEOREM USES BAYES THEOREM TO REVISE ESTIMATES OF
THE PROBABILITIES OF THE OCCURRENCE OF THE VARIOUS STATES OF
NATURE. INPUT TO THIS PROGRAM ARE THE PROBABILITIES OF A
A FINITE AND USER SELECTABLE NUMBER OF STATES OF NATURE,
THESE PROBABILITIES MUST SUM UP TO 1. IN ADDITION,
THERE MUST BE INPUT FOR EACH STATE OF NATURE THE PROBABILITY
OF A CERTAIN EVENT,SAY B, OCCURRING GIVEN THAT STATE OF
IS THE TRUE STATE OF NATURE. THEN THE PROGRAM WILL COMPUTE
THE CONDITIONAL PROBAILITIES OF EACH OF THE STATES OF NATURE
BEING TRUE GIVEN THAT EVENT B OCCURS. THESE ARE CALLED
POSTERIOR PROBABILITIES AND MAY BE USED IN DECISION MAKING
PRESS ENTER TO BEGIN?
ENTER PROBABILITIES OF POSSIBLE STATES OF NATURE 1 BY 1.
THESE PROBABILITIES SHOULD ADD TO 1.
ENTER PROB. ST. OF NATURE 1 (-1 TO END)? 12
ENTER PROB. ST. OF NATURE 2 (-1 TO END)? 34
ENTER PROB. ST. OF NATURE 3 (-1 TO END)? 56
ENTER PROB. ST. OF NATURE 4 (-1 TO END)? -1
PROBABILITIES SUM TO 102 THIS SHOULD BE STANDARDIZED
TO SUM TO 1. ENTER 1 TO STANDARDIZE, 0 TO END? 1
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 1 ? .145
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 2 ? .267
ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE 3 ? .389
IS LINE PRINTER OUTPUT DESIRED(Y/N)? Y
S OF N ORIG. PROB B POSTERIOR PROB
PROB. GIVEN S OF N S OF N GIVEN B
1 0.118 0.145 0.053
2 0.333 0.267 0.278
3 0.549 0.389 0.668
PRESS ENTER FOR ANOTHER COMPUTATION? 0

+ 38
- 0
BP100/BETAALPH.80 View File

@@ -0,0 +1,38 @@
BETA AND ALPHA
GIVEN DATA WITH REGARDS TO PRICES AND DIVIDENDS OVER A
PERIOD OF TIME FOR A GIVEN STOCK AND AN INVESTOR SELECTED
MARKET INDEX THIS PROGRAM WILL COMPUTE THE ALPHA AND BETA
VALUES FOR A STOCK ALONG WITH ITS EXPECTED RETURN, VARIANCE
OF RETURN, AND STANDARD DEVIATION OF RETURN.
PRESS ENTER TO BEGIN?
HOW MANY PERIODS OF DATA ARE AVAILABLE ? 3
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 1 ? 123,55
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 2 ? 149,66
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 3 ? 197,77
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 1 ? 23.45,5.60
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 2 ? 33.98,6.30
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 3 ? 44.36,7.23
THE NUMBER OF OBSERVATIONS = 3
THE ESTIMATED EQUATION IS Y = -2.193 X +2.358
THE CORRELATION COEFFICIENT = -1.0000
THE COEFF. OF DETERMINATION = 1.0000
*** WARNING: Divide by 0 ***
THE STANDARD ERROR OF ESTIMATE =
13407807929942595611008317640802934282464207265959107021466054756094376573581619
054852612241927956455650759996398703782412109633178814162067569513603268608.000
ALPHA = 2.35782
BETA = -2.19277
EXPECTED RETURN = .617972
*** WARNING: Divide by 0 ***
VARIANCE OF RETURN= 1.79769E+308
STAN DEV OF RETURN= 1.34078E+154
FOR INDEX EXPECTED RETURN = .793447 VAR OF RETURN = 4.13674E-3
SD OF RETURN = 6.43175E-2
PRESS ENTER TO SUBMIT DATA FOR SAME TIME PERIOD BUT
DIFFERENT STOCK,I.E. MARKET DATA STAYS THE SAME? 0

+ 64
- 0
BP100/BETAALPH.BAS View File

@@ -0,0 +1,64 @@
10 CLS
20 PRINT " BETA AND ALPHA"
30 PRINT
40 PRINT"GIVEN DATA WITH REGARDS TO PRICES AND DIVIDENDS OVER A
50 PRINT"PERIOD OF TIME FOR A GIVEN STOCK AND AN INVESTOR SELECTED
60 PRINT"MARKET INDEX THIS PROGRAM WILL COMPUTE THE ALPHA AND BETA
70 PRINT"VALUES FOR A STOCK ALONG WITH ITS EXPECTED RETURN, VARIANCE
80 PRINT"OF RETURN, AND STANDARD DEVIATION OF RETURN."
90 PRINT:INPUT"PRESS ENTER TO BEGIN";Z9
1000 CLS
1010 INPUT"HOW MANY PERIODS OF DATA ARE AVAILABLE ";N
1013 Z=N+2:DIM PP(Z),DI(Z),YI(Z),P(Z),D(Z),Y(Z)
1015 PRINT
1020 FOR I=1 TO N
1030 PRINT"INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD";I;:INPUT PP(I),DI(I)
1040 NEXT I
1045 PRINT
1050 FOR I=1 TO N
1060 PRINT"INPUT STOCK PRICE,DIVIDEND FOR PERIOD ";I;:INPUT P(I),D(I)
1070 NEXT I
1080 FOR I=1 TO N-1
1090 YI(I)=(PP(I+1)-PP(I)+DI(I+1))/PP(I)
1095 Y(I)=(P(I+1)-P(I)+D(I+1))/P(I)
1099 NEXT I
1100 REM COMPUTATION SUBROUTINE
1110 X1=0:X2=0:Y1=0:Y2=0:XY=0
1115 N2=N:N=N-1
1120 FOR I=1 TO N
1130 X1=X1+YI(I):X2=X2+YI(I)[2
1140 Y1=Y1+Y(I):Y2=Y2+Y(I)[2
1150 XY=XY+YI(I)*Y(I)
1160 NEXT I
1170 SX=X2-X1[2/N: SY=Y2-Y1[2/N
1180 SPROD=XY-X1*Y1/N
1190 A=SPROD/SX:REM SLOPE OF REGRESSION LINE
1200 B=Y1/N-A*X1/N:REM Y INTERCEPT OF REGRESSION LINE
1210 SE=SY-A*SPROD:REM ERROR SUM OF SQUARES
1220 R=SPROD/SQR(SX*SY)
1300 CLS
1302 PRINT"THE NUMBER OF OBSERVATIONS = ";N2
1305 F$(2)="THE ESTIMATED EQUATION IS Y = #####.### X + #####.###"
1310 PRINT USING F$(2);A,B
1315 F$(3)="THE CORRELATION COEFFICIENT = #.####"
1317 F$(4)="THE COEFF. OF DETERMINATION = #.####"
1320 PRINT:PRINT USING F$(3);R
1325 PRINT USING F$(4);R[2
1330 F$(5)="THE STANDARD ERROR OF ESTIMATE = ####.###"
1335 PRINT USING F$(5);SQR(SE/(N-2))
1345 PRINT"ALPHA = ";B
1350 PRINT"BETA = ";A
1360 PRINT"EXPECTED RETURN = ";B+A*X1/N
1365 VARI=SX/(N-1)
1370 SDI=SQR(VARI)
1380 S2=(Y2-B*Y1-A*XY)/(N-2)
1390 V=A[2*VARI + S2
1400 PRINT"VARIANCE OF RETURN= ";V
1410 PRINT"STAN DEV OF RETURN= ";SQR(V)
1430 PRINT"FOR INDEX EXPECTED RETURN =";X1/N;" VAR OF RETURN =";SX/(N-1)
1440 PRINT" SD OF RETURN = ";SQR(SX/(N-1))
1500 PRINT
1510 PRINT"PRESS ENTER TO SUBMIT DATA FOR SAME TIME PERIOD BUT
1520 INPUT"DIFFERENT STOCK,I.E. MARKET DATA STAYS THE SAME";Z9
1525 IF Z9 = 0 THEN END
1530 CLS:N=N2:GOTO 1050

+ 9
- 0
BP100/BETAALPH.INP View File

@@ -0,0 +1,9 @@

3
123,55
149,66
197,77
23.45,5.60
33.98,6.30
44.36,7.23
0

+ 38
- 0
BP100/BETAALPH.OUT View File

@@ -0,0 +1,38 @@
BETA AND ALPHA

GIVEN DATA WITH REGARDS TO PRICES AND DIVIDENDS OVER A
PERIOD OF TIME FOR A GIVEN STOCK AND AN INVESTOR SELECTED
MARKET INDEX THIS PROGRAM WILL COMPUTE THE ALPHA AND BETA
VALUES FOR A STOCK ALONG WITH ITS EXPECTED RETURN, VARIANCE
OF RETURN, AND STANDARD DEVIATION OF RETURN.

PRESS ENTER TO BEGIN?
HOW MANY PERIODS OF DATA ARE AVAILABLE ? 3

INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 1 ? 123,55
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 2 ? 149,66
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 3 ? 197,77

INPUT STOCK PRICE,DIVIDEND FOR PERIOD 1 ? 23.45,5.60
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 2 ? 33.98,6.30
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 3 ? 44.36,7.23
THE NUMBER OF OBSERVATIONS = 3
THE ESTIMATED EQUATION IS Y = -2.193 X +2.358

THE CORRELATION COEFFICIENT = -1.0000
THE COEFF. OF DETERMINATION = 1.0000
*** WARNING: Divide by 0 ***
THE STANDARD ERROR OF ESTIMATE =
13407807929942595611008317640802934282464207265959107021466054756094376573581619
054852612241927956455650759996398703782412109633178814162067569513603268608.000
ALPHA = 2.35782
BETA = -2.19277
EXPECTED RETURN = .617972
*** WARNING: Divide by 0 ***
VARIANCE OF RETURN= 1.79769E+308
STAN DEV OF RETURN= 1.34078E+154
FOR INDEX EXPECTED RETURN = .793447 VAR OF RETURN = 4.13674E-3
SD OF RETURN = 6.43175E-2

PRESS ENTER TO SUBMIT DATA FOR SAME TIME PERIOD BUT
DIFFERENT STOCK,I.E. MARKET DATA STAYS THE SAME? 0

+ 0
- 0
BP100/BETAALPH.dif View File


+ 38
- 0
BP100/BETAALPH.run View File

@@ -0,0 +1,38 @@
BETA AND ALPHA
GIVEN DATA WITH REGARDS TO PRICES AND DIVIDENDS OVER A
PERIOD OF TIME FOR A GIVEN STOCK AND AN INVESTOR SELECTED
MARKET INDEX THIS PROGRAM WILL COMPUTE THE ALPHA AND BETA
VALUES FOR A STOCK ALONG WITH ITS EXPECTED RETURN, VARIANCE
OF RETURN, AND STANDARD DEVIATION OF RETURN.
PRESS ENTER TO BEGIN?
HOW MANY PERIODS OF DATA ARE AVAILABLE ? 3
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 1 ? 123,55
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 2 ? 149,66
INPUT MARKET INDEX PRICE,DIVIDEND FOR PERIOD 3 ? 197,77
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 1 ? 23.45,5.60
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 2 ? 33.98,6.30
INPUT STOCK PRICE,DIVIDEND FOR PERIOD 3 ? 44.36,7.23
THE NUMBER OF OBSERVATIONS = 3
THE ESTIMATED EQUATION IS Y = -2.193 X +2.358
THE CORRELATION COEFFICIENT = -1.0000
THE COEFF. OF DETERMINATION = 1.0000
*** WARNING: Divide by 0 ***
THE STANDARD ERROR OF ESTIMATE =
13407807929942595611008317640802934282464207265959107021466054756094376573581619
054852612241927956455650759996398703782412109633178814162067569513603268608.000
ALPHA = 2.35782
BETA = -2.19277
EXPECTED RETURN = .617972
*** WARNING: Divide by 0 ***
VARIANCE OF RETURN= 1.79769E+308
STAN DEV OF RETURN= 1.34078E+154
FOR INDEX EXPECTED RETURN = .793447 VAR OF RETURN = 4.13674E-3
SD OF RETURN = 6.43175E-2
PRESS ENTER TO SUBMIT DATA FOR SAME TIME PERIOD BUT
DIFFERENT STOCK,I.E. MARKET DATA STAYS THE SAME? 0

+ 17
- 0
BP100/BLACKSH.80 View File

@@ -0,0 +1,17 @@
THIS PROGRAM WILL GIVE THE VALUE OF A CALL OPTION VIA THE
BLACK SCHOLES OPTION VALUATION FORMULA. NECESSARY INPUT
CONSISTS OF PRESENT STOCK PRICE, EXERCISE PRICE OF THE
OPTION,INTEREST RATE,# OF DAYS TO EXPIRATION OF THE OPTION
AND STOCK VOLATILITY. OUTPUT IS THE VALUE OF THE OPTION
AND THE HEDGE RATIO.
PRESS ENTER TO CONTINUE?
STOCK PRICE,EXERCISE PR.,INT.RATE(%),DAYS TO EXP,VOLATILITY(%)
? 12.34,45.67,5,39,7
ARE OPTIONS PUTS(P) OR CALLS(C)? P
ST.PR. EX.PR. INT.RT. D.T.EXP. VOL. VALUE HEDGE
12.34 45.67 0.05 39 0.07 33.09 1.00
PRESS ENTER FOR MORE? -1

+ 45
- 0
BP100/BLACKSH.BAS View File

@@ -0,0 +1,45 @@
5 CLS
8 GOSUB 30000
10 PRINT"THIS PROGRAM WILL GIVE THE VALUE OF A CALL OPTION VIA THE
20 PRINT"BLACK SCHOLES OPTION VALUATION FORMULA. NECESSARY INPUT
30 PRINT"CONSISTS OF PRESENT STOCK PRICE, EXERCISE PRICE OF THE
40 PRINT"OPTION,INTEREST RATE,# OF DAYS TO EXPIRATION OF THE OPTION
50 PRINT"AND STOCK VOLATILITY. OUTPUT IS THE VALUE OF THE OPTION
60 PRINT"AND THE HEDGE RATIO."
70 PRINT:INPUT"PRESS ENTER TO CONTINUE";Z9
1000 PRINT"STOCK PRICE,EXERCISE PR.,INT.RATE(%),DAYS TO EXP,VOLATILITY(%)"
1010 INPUT ST,EX,IN,TM,VL
1015 TI=TM/365:IN=IN/100:VL=VL/100
1020 PRINT:INPUT"ARE OPTIONS PUTS(P) OR CALLS(C)";Z9$
1030 IF Z9$<>"P" AND Z9$<>"C" THEN PRINT"INPUT ERROR":GOTO 1020
1100 D1=(LOG(ST/EX)+(IN + 1/2*VL[2)*TI)/(VL*SQR(TI))
1110 D2=(LOG(ST/EX)+(IN - 1/2*VL[2)*TI)/(VL*SQR(TI))
1120 IF Z9$="P" THEN GOTO 1200
1150 X1=D1:GOSUB 9000:N1=N
1160 X1=D2:GOSUB 9000:N2=N
1170 W= ST*N1 - EX*EXP(-IN*TI)*N2
1180 GOTO 1500
1200 REM VALUE OF PUT
1210 X1=-D1:GOSUB 9000:N1=N
1220 X1=-D2:GOSUB 9000:N2=N
1230 W=-ST*N1+EX*EXP(-IN*TI)*N2
1240 GOTO 1500
1500 CLS:PRINT F$(1)
1510 PRINT:PRINT USING F$(2);ST,EX,IN,TM,VL,W,N1
1520 PRINT:INPUT"PRESS ENTER FOR MORE";Z9
1530 IF Z9 = -1 THEN END
1540 CLS:GOTO 1000
1600 GOTO 1000
9000 ' PI=3.141592654
9005 X = ABS(X1)
9015 Z = 1/SQR(2*PI)*EXP(-X[2/2)
9020 B1=.319381530 :B2=-.356563782:B3=1.781477937
9025 B4= -1.821255978:B5=1.330274429:P=.2316419
9030 T=1/(1+P*X)
9040 Q=Z*(B1*T+B2*T[2+B3*T[3+B4*T[4+B5*T[5)
9050 IF X1>0 THEN N=1-Q ELSE N=Q
9060 RETURN
30000 REM FORMAT VARIABLES
30010 F$(1)="ST.PR. EX.PR. INT.RT. D.T.EXP. VOL. VALUE HEDGE"
30020 F$(2)="###.## ###.## ###.## ### ##.## ###.## ##.##"
30030 RETURN

+ 4
- 0
BP100/BLACKSH.INP View File

@@ -0,0 +1,4 @@

12.34,45.67,5,39,7
P
-1

+ 17
- 0
BP100/BLACKSH.OUT View File

@@ -0,0 +1,17 @@
THIS PROGRAM WILL GIVE THE VALUE OF A CALL OPTION VIA THE
BLACK SCHOLES OPTION VALUATION FORMULA. NECESSARY INPUT
CONSISTS OF PRESENT STOCK PRICE, EXERCISE PRICE OF THE
OPTION,INTEREST RATE,# OF DAYS TO EXPIRATION OF THE OPTION
AND STOCK VOLATILITY. OUTPUT IS THE VALUE OF THE OPTION
AND THE HEDGE RATIO.

PRESS ENTER TO CONTINUE?
STOCK PRICE,EXERCISE PR.,INT.RATE(%),DAYS TO EXP,VOLATILITY(%)
? 12.34,45.67,5,39,7

ARE OPTIONS PUTS(P) OR CALLS(C)? P
ST.PR. EX.PR. INT.RT. D.T.EXP. VOL. VALUE HEDGE

12.34 45.67 0.05 39 0.07 33.09 1.00

PRESS ENTER FOR MORE? -1

+ 0
- 0
BP100/BLACKSH.dif View File


+ 17
- 0
BP100/BLACKSH.run View File

@@ -0,0 +1,17 @@
THIS PROGRAM WILL GIVE THE VALUE OF A CALL OPTION VIA THE
BLACK SCHOLES OPTION VALUATION FORMULA. NECESSARY INPUT
CONSISTS OF PRESENT STOCK PRICE, EXERCISE PRICE OF THE
OPTION,INTEREST RATE,# OF DAYS TO EXPIRATION OF THE OPTION
AND STOCK VOLATILITY. OUTPUT IS THE VALUE OF THE OPTION
AND THE HEDGE RATIO.
PRESS ENTER TO CONTINUE?
STOCK PRICE,EXERCISE PR.,INT.RATE(%),DAYS TO EXP,VOLATILITY(%)
? 12.34,45.67,5,39,7
ARE OPTIONS PUTS(P) OR CALLS(C)? P
ST.PR. EX.PR. INT.RT. D.T.EXP. VOL. VALUE HEDGE
12.34 45.67 0.05 39 0.07 33.09 1.00
PRESS ENTER FOR MORE? -1

+ 48
- 0
BP100/BONDVAL.80 View File

@@ -0,0 +1,48 @@
BONDS
WHEN CONSIDERING THE VALUE OF BONDS ITEMS WHICH SHOULD
BE CONSIDERED INCLUDE YIELD TO MATURITY,TIME TO MATURITY
MATURITY VALUE, CURRENT VALUE, AND COUPON INTEREST RATE.
GIVEN ANY FOUR OF THE ABOVE THIS PROGRAM WILL COMPUTE THE
FIFTH. IN ADDITION,IF DESIRED INCOME TAXES,CAPITAL GAINS
TAXES AND COMMISSIONS MAY BE CONSIDERED.
PRESS ENTER TO BEGIN?
INPUT THE FOLLOWING AMOUNTS.PRESS ENTER WHEN AN
ITEM WILL BE COMPUTED. INPUT 0 IF AN ITEM IS
NOT TO BE CONSIDERED.POSSIBLE FIELDS FOR
NONCONSIDERATION ARE COMMISSION, CAPITAL GAINS
AND INCOME TAX RATES.
PURCHASE PRICE PER BOND ? 975
COMMISSION PER BOND ? 5.25
MATURITY VALUE ? 1000
NUMBER OF INTEREST PAYMENTS PER YEAR ? 4
NUMBER OF PAYMENT PERIODS TO MATURITY ?
ANNUAL COUPON INTEREST RATE(%) ? 7.75
ANNUAL YIELD TO MATURITY ?
CAPITAL GAINS TAX RATE ? 28
INCOME TAX RATE ? 35
ENTER THE NUMBER OF THE VARIABLE TO BE COMPUTED
1.CURRENT PRICE PLUS COMMISSION
2.MATURITY VALUE OF THE BOND
3.COUPON INTEREST RATE
4.YIELD TO MATURITY OF THE BOND
5.LENGTH OF TIME TO MATURITY
MAKE CHOICE? 2
*** WARNING: Divide by 0 ***
1.CURRENT PRICE PLUS COMMISSION : 980.25
2.MATURITY VALUE OF THE BOND : 3.92603E-306
3.ANNUAL COUPON INTEREST RATE : 7.75
4.ANNUAL YIELD TO MATURITY OF BOND : 0
5.LENGTH OF TIME TO MATURITY(PERIODS) : 0
6.INCOME TAX RATE : 35
7.CAPITAL GAINS TAX RATE : 28.
8.NUMBER OF INTEREST PAYMENTS PER YEAR : 4
PRESS ENTER FOR MORE COMPUTATION ? -1

+ 95
- 0
BP100/BONDVAL.BAS View File

@@ -0,0 +1,95 @@
10 CLS
20 PRINT" BONDS":PRINT
30 PRINT"WHEN CONSIDERING THE VALUE OF BONDS ITEMS WHICH SHOULD
40 PRINT"BE CONSIDERED INCLUDE YIELD TO MATURITY,TIME TO MATURITY
50 PRINT"MATURITY VALUE, CURRENT VALUE, AND COUPON INTEREST RATE.
60 PRINT"GIVEN ANY FOUR OF THE ABOVE THIS PROGRAM WILL COMPUTE THE
70 PRINT"FIFTH. IN ADDITION,IF DESIRED INCOME TAXES,CAPITAL GAINS
80 PRINT"TAXES AND COMMISSIONS MAY BE CONSIDERED.":PRINT
90 INPUT"PRESS ENTER TO BEGIN";Z9
1000 REM DATA INPUT
1010 CLS:GOSUB 6000
1020 CLS
1030 PRINT"ENTER THE NUMBER OF THE VARIABLE TO BE COMPUTED "
1035 PRINT
1040 PRINT"1.CURRENT PRICE PLUS COMMISSION
1050 PRINT"2.MATURITY VALUE OF THE BOND
1060 PRINT"3.COUPON INTEREST RATE
1070 PRINT"4.YIELD TO MATURITY OF THE BOND
1080 PRINT"5.LENGTH OF TIME TO MATURITY
1100 PRINT:INPUT"MAKE CHOICE";CC
1110 ON CC GOSUB 1200,1300,1400,1500,1600
1120 IF CC<1 OR CC>5 OR CC<>INT(CC) THEN GOSUB 10000:GOTO 1000
1130 CLS:GOSUB 6500:REM PRINTOUT
1199 GOTO 1000
1200 REM CURRENT PRICE PLUS COMMISSION
1210 T1=((1+I)[J-(1+I)[(-N))/I:T2=C*MAT*(1-TAX)*T1
1220 T3=MAT*(1-CGT)/(1+I)[N-J*C*MAT*(1-TAX)
1230 B1=(T2+T3)/(1-CGT/(1+I)[N)
1240 RETURN
1300 REM MATURITY VALUE OF BOND
1310 T1=C*(1-TAX)*((1+I)[J-(1+I)[(-N))/I
1320 T2=(1-CGT)/(1+I)[N:T3=J*C*(1-TAX)
1330 T4=(BUY+CBUY)*(1-CGT/(1+I)[N)
1340 MAT=T4/(T1+T2-T3)
1350 B1=BUY+CBUY
1360 RETURN
1400 REM COUPON INTEREST RATE
1410 T1=((1+I)[J-(1+I)[(-N))/I:T2=T1*MAT*(1-TAX)
1420 T3=(MAT-(MAT-(BUY+CBUY))*CGT)/(1+I)[N:T4=J*MAT*(1-TAX)
1430 C=(BUY+CBUY-T3)/(T2-T4)
1440 RETURN
1500 REM YIELD TO MATURITY
1505 I=.1
1510 T1=BUY+CBUY+J*C*MAT*(1-TAX)
1520 T2=C*MAT*(1-TAX):T3=((1+I)[J-(1+I)[(-N))/I
1525 T4=MAT-(MAT-(BUY+CBUY))*CGT:T5=(1+I)[(-N)
1530 F=T1-T2*T3-T4*T5
1535 IF ABS(F)<.2 THEN RETURN
1538 T6=I*((J*(1+I)[(J-1)+N*(1+I)[(-N-1)))-(1+I)[J+(1+I)[(-N)
1540 T7=T6/I[2:T8=-N*(1+I)[(-N-1)
1545 D=-T2*T7-T4*T8
1550 I=I-F/D:GOTO 1510
1600 REM LENGTH OF TIME TO MATURITY
1610 T1=BUY+CBUY+J*C*MAT*(1-TAX):T2=C*MAT*(1-TAX)*(1+I)[J/I
1620 T3=T1-T2:REM T3=NUMERATOR
1630 T4=(MAT-(MAT-(BUY+CBUY))*CGT)
1635 T8=T2/(1+I)[J
1640 T5=T3/(T4-T8):T6=LOG(T5)/LOG(1+I):T7=-T6
1650 N=T7
1660 RETURN
6000 REM DATA INPUT SUBROUTINE
6002 CLS:PRINT"INPUT THE FOLLOWING AMOUNTS.PRESS ENTER WHEN AN
6004 PRINT"ITEM WILL BE COMPUTED. INPUT 0 IF AN ITEM IS
6006 PRINT"NOT TO BE CONSIDERED.POSSIBLE FIELDS FOR
6008 PRINT"NONCONSIDERATION ARE COMMISSION, CAPITAL GAINS
6009 PRINT"AND INCOME TAX RATES.":PRINT
6010 INPUT"PURCHASE PRICE PER BOND ";BUY
6020 INPUT"COMMISSION PER BOND ";CBUY
6030 INPUT"MATURITY VALUE ";MAT
6035 INPUT"NUMBER OF INTEREST PAYMENTS PER YEAR ";N1
6040 INPUT"NUMBER OF PAYMENT PERIODS TO MATURITY ";N
6050 INPUT"ANNUAL COUPON INTEREST RATE(%) ";C
6060 INPUT"ANNUAL YIELD TO MATURITY ";I
6070 INPUT"CAPITAL GAINS TAX RATE ";CGT
6080 INPUT"INCOME TAX RATE ";TAX
6090 J=1-(N-INT(N)):C=C/100:I=I/100:CGT=CGT/100:TAX=TAX/100
6092 C=C/N1
6099 RETURN
6500 REM PRINTOUT
6505 C=100*C:I=100*I:CGT=100*CGT:TAX=100*TAX
6506 C=C*N1
6510 CLS:PRINT:PRINT:PRINT
6520 PRINT"1.CURRENT PRICE PLUS COMMISSION :";B1
6530 PRINT"2.MATURITY VALUE OF THE BOND :";MAT
6540 PRINT"3.ANNUAL COUPON INTEREST RATE :";C
6550 PRINT"4.ANNUAL YIELD TO MATURITY OF BOND :";I*N1
6560 PRINT"5.LENGTH OF TIME TO MATURITY(PERIODS) :";N
6570 PRINT"6.INCOME TAX RATE :";TAX
6580 PRINT"7.CAPITAL GAINS TAX RATE :";CGT
6585 PRINT"8.NUMBER OF INTEREST PAYMENTS PER YEAR :";N1
6590 PRINT:INPUT"PRESS ENTER FOR MORE COMPUTATION ";Z9
6595 IF Z9 = -1 THEN END
6599 RETURN
10000 PRINT"INPUT ERROR! TRY AGAIN!":FOR JJ=1 TO 300:NEXT:RETURN
10100 INPUT"PRESS ENTER TO CONTINUE";Z9:RETURN

+ 13
- 0
BP100/BONDVAL.INP View File

@@ -0,0 +1,13 @@

975
5.25
1000
4

7.75

28
35
2
-1


+ 48
- 0
BP100/BONDVAL.OUT View File

@@ -0,0 +1,48 @@
BONDS

WHEN CONSIDERING THE VALUE OF BONDS ITEMS WHICH SHOULD
BE CONSIDERED INCLUDE YIELD TO MATURITY,TIME TO MATURITY
MATURITY VALUE, CURRENT VALUE, AND COUPON INTEREST RATE.
GIVEN ANY FOUR OF THE ABOVE THIS PROGRAM WILL COMPUTE THE
FIFTH. IN ADDITION,IF DESIRED INCOME TAXES,CAPITAL GAINS
TAXES AND COMMISSIONS MAY BE CONSIDERED.

PRESS ENTER TO BEGIN?
INPUT THE FOLLOWING AMOUNTS.PRESS ENTER WHEN AN
ITEM WILL BE COMPUTED. INPUT 0 IF AN ITEM IS
NOT TO BE CONSIDERED.POSSIBLE FIELDS FOR
NONCONSIDERATION ARE COMMISSION, CAPITAL GAINS
AND INCOME TAX RATES.

PURCHASE PRICE PER BOND ? 975
COMMISSION PER BOND ? 5.25
MATURITY VALUE ? 1000
NUMBER OF INTEREST PAYMENTS PER YEAR ? 4
NUMBER OF PAYMENT PERIODS TO MATURITY ?
ANNUAL COUPON INTEREST RATE(%) ? 7.75
ANNUAL YIELD TO MATURITY ?
CAPITAL GAINS TAX RATE ? 28
INCOME TAX RATE ? 35
ENTER THE NUMBER OF THE VARIABLE TO BE COMPUTED

1.CURRENT PRICE PLUS COMMISSION
2.MATURITY VALUE OF THE BOND
3.COUPON INTEREST RATE
4.YIELD TO MATURITY OF THE BOND
5.LENGTH OF TIME TO MATURITY

MAKE CHOICE? 2
*** WARNING: Divide by 0 ***



1.CURRENT PRICE PLUS COMMISSION : 980.25
2.MATURITY VALUE OF THE BOND : 3.92603E-306
3.ANNUAL COUPON INTEREST RATE : 7.75
4.ANNUAL YIELD TO MATURITY OF BOND : 0
5.LENGTH OF TIME TO MATURITY(PERIODS) : 0
6.INCOME TAX RATE : 35
7.CAPITAL GAINS TAX RATE : 28.
8.NUMBER OF INTEREST PAYMENTS PER YEAR : 4

PRESS ENTER FOR MORE COMPUTATION ? -1

+ 0
- 0
BP100/BONDVAL.dif View File


+ 48
- 0
BP100/BONDVAL.run View File

@@ -0,0 +1,48 @@
BONDS
WHEN CONSIDERING THE VALUE OF BONDS ITEMS WHICH SHOULD
BE CONSIDERED INCLUDE YIELD TO MATURITY,TIME TO MATURITY
MATURITY VALUE, CURRENT VALUE, AND COUPON INTEREST RATE.
GIVEN ANY FOUR OF THE ABOVE THIS PROGRAM WILL COMPUTE THE
FIFTH. IN ADDITION,IF DESIRED INCOME TAXES,CAPITAL GAINS
TAXES AND COMMISSIONS MAY BE CONSIDERED.
PRESS ENTER TO BEGIN?
INPUT THE FOLLOWING AMOUNTS.PRESS ENTER WHEN AN
ITEM WILL BE COMPUTED. INPUT 0 IF AN ITEM IS
NOT TO BE CONSIDERED.POSSIBLE FIELDS FOR
NONCONSIDERATION ARE COMMISSION, CAPITAL GAINS
AND INCOME TAX RATES.
PURCHASE PRICE PER BOND ? 975
COMMISSION PER BOND ? 5.25
MATURITY VALUE ? 1000
NUMBER OF INTEREST PAYMENTS PER YEAR ? 4
NUMBER OF PAYMENT PERIODS TO MATURITY ?
ANNUAL COUPON INTEREST RATE(%) ? 7.75
ANNUAL YIELD TO MATURITY ?
CAPITAL GAINS TAX RATE ? 28
INCOME TAX RATE ? 35
ENTER THE NUMBER OF THE VARIABLE TO BE COMPUTED
1.CURRENT PRICE PLUS COMMISSION
2.MATURITY VALUE OF THE BOND
3.COUPON INTEREST RATE
4.YIELD TO MATURITY OF THE BOND
5.LENGTH OF TIME TO MATURITY
MAKE CHOICE? 2
*** WARNING: Divide by 0 ***
1.CURRENT PRICE PLUS COMMISSION : 980.25
2.MATURITY VALUE OF THE BOND : 3.92603E-306
3.ANNUAL COUPON INTEREST RATE : 7.75
4.ANNUAL YIELD TO MATURITY OF BOND : 0
5.LENGTH OF TIME TO MATURITY(PERIODS) : 0
6.INCOME TAX RATE : 35
7.CAPITAL GAINS TAX RATE : 28.
8.NUMBER OF INTEREST PAYMENTS PER YEAR : 4
PRESS ENTER FOR MORE COMPUTATION ? -1

+ 34
- 0
BP100/BONDVAL2.80 View File

@@ -0,0 +1,34 @@
VALUE OF A BOND
THIS PROGRAM SHOWS HOW THE VALUE OF A BOND MAY CHANGE
WHEN THE INTEREST RATE CHANGES. WE ASSUME WE HAVE A BOND WITH
A FIXED NUMBER OF YEARS TO MATURITY. FOR VARIOUS INTEREST
RATES THE PRESENT VALUE OF THE FUTURE CASHFLOWS FROM THE
BOND ARE DETERMINED. IT IS VERY INTERESTING TO SEE HOW MUCH
THIS VARIES FOR LONG TERM BONDS.
PRESS ENTER TO BEGIN?
NUMBER OF YEARS TO MATURITY ? 10
COUPON INTEREST PAYMENT PER YEAR ? 40
MATURITY VALUE OF THE BOND ? 1000
LOWEST INTEREST RATE TO CONSIDER(%) ? 1
HIGHEST INTEREST RATE TO CONSIDER(%)? 20
DO YOU DESIRE LINE PRINTER OUTPUT(Y/N)? Y
PRESENT VALUE OF BOND AT VARYING INTEREST RATES
10 YEARS TO MATURITY.
COUPON PAYS $ 40 PER YEAR FOR INTEREST.
MATURITY VALUE FOR THE BOND IS 1000
INTEREST RATE VALUE OF BOND
1.0 1284.14
2.9 1094.31
4.8 937.62
6.7 807.71
8.6 699.52
10.5 609.04
12.4 533.05
14.3 468.97
16.2 414.71
18.1 368.58
PRESS ENTER FOR MORE COMPUTATION? -1

+ 40
- 0
BP100/BONDVAL2.BAS View File

@@ -0,0 +1,40 @@
1 REM BONDVAL2
5 CLEAR 1000
10 CLS:PRINT TAB(10);"VALUE OF A BOND":PRINT
20 PRINT"THIS PROGRAM SHOWS HOW THE VALUE OF A BOND MAY CHANGE
25 PRINT"WHEN THE INTEREST RATE CHANGES. WE ASSUME WE HAVE A BOND WITH
30 PRINT"A FIXED NUMBER OF YEARS TO MATURITY. FOR VARIOUS INTEREST
35 PRINT"RATES THE PRESENT VALUE OF THE FUTURE CASHFLOWS FROM THE
40 PRINT"BOND ARE DETERMINED. IT IS VERY INTERESTING TO SEE HOW MUCH
45 PRINT"THIS VARIES FOR LONG TERM BONDS.
90 PRINT:INPUT"PRESS ENTER TO BEGIN";Z9$
95 DIM A(15),I(15)
100 CLS
110 INPUT "NUMBER OF YEARS TO MATURITY ";N
120 INPUT "COUPON INTEREST PAYMENT PER YEAR ";C
130 INPUT "MATURITY VALUE OF THE BOND ";M
140 INPUT"LOWEST INTEREST RATE TO CONSIDER(%) ";L:L=L/100
150 INPUT"HIGHEST INTEREST RATE TO CONSIDER(%)";H:H=H/100
195 REM COMPUTING PV
197 K=0
200 FOR I=L TO H STEP (H-L)/10
205 K=K+1
210 I(K)=I:A(K)=C*(1-(1+I)[(-N))/I + M*(1+I)[(-N)
220 NEXT I
225 INPUT"DO YOU DESIRE LINE PRINTER OUTPUT(Y/N)";Z2$
230 CLS:PRINT"PRESENT VALUE OF BOND AT VARYING INTEREST RATES":PRINT
240 PRINT N;"YEARS TO MATURITY."
250 PRINT"COUPON PAYS $";C;" PER YEAR FOR INTEREST.
260 PRINT"MATURITY VALUE FOR THE BOND IS";M
262 IF Z2$="N" THEN GOTO 270
265 LPRINT N;"YEARS TO MATURITY."
266 LPRINT"COUPON PAYS $";C;" PER YEAR FOR INTEREST.
267 LPRINT"MATURITY VALUE FOR THE BOND IS";M
270 F$(1)= "INTEREST RATE VALUE OF BOND"
280 F$(2)= " ###.# ######.##
290 PRINT F$(1):IF Z2$="Y" THEN LPRINT F$(1):LPRINT" "
300 FOR K=1 TO 10:PRINT USING F$(2);100*I(K),A(K):NEXT
310 IF Z2$="Y" THEN FOR K=1 TO 10:LPRINT USING F$(2);100*I(K),A(K):NEXT
320 PRINT:INPUT"PRESS ENTER FOR MORE COMPUTATION";Z9$
325 IF Z9$ = "-1" THEN END
330 GOTO 100

+ 8
- 0
BP100/BONDVAL2.INP View File

@@ -0,0 +1,8 @@

10
40
1000
1
20
Y
-1

+ 34
- 0
BP100/BONDVAL2.OUT View File

@@ -0,0 +1,34 @@
VALUE OF A BOND

THIS PROGRAM SHOWS HOW THE VALUE OF A BOND MAY CHANGE
WHEN THE INTEREST RATE CHANGES. WE ASSUME WE HAVE A BOND WITH
A FIXED NUMBER OF YEARS TO MATURITY. FOR VARIOUS INTEREST
RATES THE PRESENT VALUE OF THE FUTURE CASHFLOWS FROM THE
BOND ARE DETERMINED. IT IS VERY INTERESTING TO SEE HOW MUCH
THIS VARIES FOR LONG TERM BONDS.

PRESS ENTER TO BEGIN?
NUMBER OF YEARS TO MATURITY ? 10
COUPON INTEREST PAYMENT PER YEAR ? 40
MATURITY VALUE OF THE BOND ? 1000
LOWEST INTEREST RATE TO CONSIDER(%) ? 1
HIGHEST INTEREST RATE TO CONSIDER(%)? 20
DO YOU DESIRE LINE PRINTER OUTPUT(Y/N)? Y
PRESENT VALUE OF BOND AT VARYING INTEREST RATES

10 YEARS TO MATURITY.
COUPON PAYS $ 40 PER YEAR FOR INTEREST.
MATURITY VALUE FOR THE BOND IS 1000
INTEREST RATE VALUE OF BOND
1.0 1284.14
2.9 1094.31
4.8 937.62
6.7 807.71
8.6 699.52
10.5 609.04
12.4 533.05
14.3 468.97
16.2 414.71
18.1 368.58

PRESS ENTER FOR MORE COMPUTATION? -1

+ 0
- 0
BP100/BONDVAL2.dif View File


+ 34
- 0
BP100/BONDVAL2.run View File

@@ -0,0 +1,34 @@
VALUE OF A BOND
THIS PROGRAM SHOWS HOW THE VALUE OF A BOND MAY CHANGE
WHEN THE INTEREST RATE CHANGES. WE ASSUME WE HAVE A BOND WITH
A FIXED NUMBER OF YEARS TO MATURITY. FOR VARIOUS INTEREST
RATES THE PRESENT VALUE OF THE FUTURE CASHFLOWS FROM THE
BOND ARE DETERMINED. IT IS VERY INTERESTING TO SEE HOW MUCH
THIS VARIES FOR LONG TERM BONDS.
PRESS ENTER TO BEGIN?
NUMBER OF YEARS TO MATURITY ? 10
COUPON INTEREST PAYMENT PER YEAR ? 40
MATURITY VALUE OF THE BOND ? 1000
LOWEST INTEREST RATE TO CONSIDER(%) ? 1
HIGHEST INTEREST RATE TO CONSIDER(%)? 20
DO YOU DESIRE LINE PRINTER OUTPUT(Y/N)? Y
PRESENT VALUE OF BOND AT VARYING INTEREST RATES
10 YEARS TO MATURITY.
COUPON PAYS $ 40 PER YEAR FOR INTEREST.
MATURITY VALUE FOR THE BOND IS 1000
INTEREST RATE VALUE OF BOND
1.0 1284.14
2.9 1094.31
4.8 937.62
6.7 807.71
8.6 699.52
10.5 609.04
12.4 533.05
14.3 468.97
16.2 414.71
18.1 368.58
PRESS ENTER FOR MORE COMPUTATION? -1

+ 25
- 0
BP100/BREAKEVN.80 View File

@@ -0,0 +1,25 @@
BREAK-EVEN ANALYSIS
FOR THIS PROGRAM,WE ASSUME THAT A COMPANY HAS CERTAIN
FIXED COSTS. tHIS COMPANY IS SELLING AN ITEM SUCH THAT
VARIABLE COST/UNIT SOLD OF THAT ITEM IS KNOWN. wE ALSO
KNOW THE PRICE AT WHICH THE ITEM IS SOLD. gIVEN THIS
INFORMATION WE CAN COMPUTE THE NUMBER OF UNITS OF THE
ITEM WHICH THE COMPANY MUST SELL TO JUST BREAK EVEN,
I.E. SO THAT THE NET SALE REVENUE JUST COVERS FIXED
COSTS. WE CAN ALSO COMPUTE THE NUMBER OF ITEMS THE
COMPANY MUST SELL TO MAKE ANY GIVEN PROFIT. THIS
PROGRAM WILL DO BOTH TYPES OF COMPUTATIONS.
PRESS ENTER TO BEGIN?
INPUT TOTAL FIXED COSTS IN DOLLARS ? 123000
INPUT UNIT SELLING PRICE IN DOLLARS? 19.99
INPUT VARIABLE COST PER UNIT IN DOLLARS ? 1.25
BREAK EVEN POINT = 6563.5 UNITS.
TO LOOK FOR GIVEN PROFIT POINT INPUT 1
TO DO ANOTHER BREAK EVEN ANALYSIS INPUT 2
? 1
WHAT PROFIT DO YOU DESIRE? 100000
SALES NEEDED FOR PROFIT 100000 EQUALS 11899.7 UNITS.
INPUT 1 FOR ANOTHER BREAKEVEN ANALYSIS? -1

+ 31
- 0
BP100/BREAKEVN.BAS View File

@@ -0,0 +1,31 @@
5 CLS
10 PRINT" BREAK-EVEN ANALYSIS
20 PRINT
30 PRINT"FOR THIS PROGRAM,WE ASSUME THAT A COMPANY HAS CERTAIN
35 PRINT"FIXED COSTS. tHIS COMPANY IS SELLING AN ITEM SUCH THAT
40 PRINT"VARIABLE COST/UNIT SOLD OF THAT ITEM IS KNOWN. wE ALSO
50 PRINT"KNOW THE PRICE AT WHICH THE ITEM IS SOLD. gIVEN THIS
55 PRINT"INFORMATION WE CAN COMPUTE THE NUMBER OF UNITS OF THE
60 PRINT"ITEM WHICH THE COMPANY MUST SELL TO JUST BREAK EVEN,
65 PRINT"I.E. SO THAT THE NET SALE REVENUE JUST COVERS FIXED
70 PRINT"COSTS. WE CAN ALSO COMPUTE THE NUMBER OF ITEMS THE
75 PRINT"COMPANY MUST SELL TO MAKE ANY GIVEN PROFIT. THIS
80 PRINT"PROGRAM WILL DO BOTH TYPES OF COMPUTATIONS.
90 INPUT"PRESS ENTER TO BEGIN";Z9
100 CLS
110 INPUT"INPUT TOTAL FIXED COSTS IN DOLLARS ";FC
120 INPUT"INPUT UNIT SELLING PRICE IN DOLLARS";SP
130 INPUT"INPUT VARIABLE COST PER UNIT IN DOLLARS ";VC
140 BE=FC/(SP-VC)
150 PRINT:PRINT "BREAK EVEN POINT = ";BE;" UNITS.
160 PRINT
170 PRINT"TO LOOK FOR GIVEN PROFIT POINT INPUT 1
175 PRINT"TO DO ANOTHER BREAK EVEN ANALYSIS INPUT 2
180 INPUT Z8:IF Z8=2 THEN GOTO 100
190 IF Z8=1 THEN GOTO 250
200 PRINT"INPUT ERROR,TRY AGAIN.":FOR I=1 TO 300:NEXT I:GOTO 160
250 PRINT"WHAT PROFIT DO YOU DESIRE";:INPUT P
260 BE=(FC+P)/(SP-VC)
270 PRINT"SALES NEEDED FOR PROFIT ";P;" EQUALS ";BE;" UNITS."
280 INPUT"INPUT 1 FOR ANOTHER BREAKEVEN ANALYSIS";Z9
290 IF Z9=1 THEN GOTO 100

+ 7
- 0
BP100/BREAKEVN.INP View File

@@ -0,0 +1,7 @@

123000
19.99
1.25
1
100000
-1

+ 25
- 0
BP100/BREAKEVN.OUT View File

@@ -0,0 +1,25 @@
BREAK-EVEN ANALYSIS

FOR THIS PROGRAM,WE ASSUME THAT A COMPANY HAS CERTAIN
FIXED COSTS. tHIS COMPANY IS SELLING AN ITEM SUCH THAT
VARIABLE COST/UNIT SOLD OF THAT ITEM IS KNOWN. wE ALSO
KNOW THE PRICE AT WHICH THE ITEM IS SOLD. gIVEN THIS
INFORMATION WE CAN COMPUTE THE NUMBER OF UNITS OF THE
ITEM WHICH THE COMPANY MUST SELL TO JUST BREAK EVEN,
I.E. SO THAT THE NET SALE REVENUE JUST COVERS FIXED
COSTS. WE CAN ALSO COMPUTE THE NUMBER OF ITEMS THE
COMPANY MUST SELL TO MAKE ANY GIVEN PROFIT. THIS
PROGRAM WILL DO BOTH TYPES OF COMPUTATIONS.
PRESS ENTER TO BEGIN?
INPUT TOTAL FIXED COSTS IN DOLLARS ? 123000
INPUT UNIT SELLING PRICE IN DOLLARS? 19.99
INPUT VARIABLE COST PER UNIT IN DOLLARS ? 1.25

BREAK EVEN POINT = 6563.5 UNITS.

TO LOOK FOR GIVEN PROFIT POINT INPUT 1
TO DO ANOTHER BREAK EVEN ANALYSIS INPUT 2
? 1
WHAT PROFIT DO YOU DESIRE? 100000
SALES NEEDED FOR PROFIT 100000 EQUALS 11899.7 UNITS.
INPUT 1 FOR ANOTHER BREAKEVEN ANALYSIS? -1

+ 0
- 0
BP100/BREAKEVN.dif View File


+ 25
- 0
BP100/BREAKEVN.run View File

@@ -0,0 +1,25 @@
BREAK-EVEN ANALYSIS
FOR THIS PROGRAM,WE ASSUME THAT A COMPANY HAS CERTAIN
FIXED COSTS. tHIS COMPANY IS SELLING AN ITEM SUCH THAT
VARIABLE COST/UNIT SOLD OF THAT ITEM IS KNOWN. wE ALSO
KNOW THE PRICE AT WHICH THE ITEM IS SOLD. gIVEN THIS
INFORMATION WE CAN COMPUTE THE NUMBER OF UNITS OF THE
ITEM WHICH THE COMPANY MUST SELL TO JUST BREAK EVEN,
I.E. SO THAT THE NET SALE REVENUE JUST COVERS FIXED
COSTS. WE CAN ALSO COMPUTE THE NUMBER OF ITEMS THE
COMPANY MUST SELL TO MAKE ANY GIVEN PROFIT. THIS
PROGRAM WILL DO BOTH TYPES OF COMPUTATIONS.
PRESS ENTER TO BEGIN?
INPUT TOTAL FIXED COSTS IN DOLLARS ? 123000
INPUT UNIT SELLING PRICE IN DOLLARS? 19.99
INPUT VARIABLE COST PER UNIT IN DOLLARS ? 1.25
BREAK EVEN POINT = 6563.5 UNITS.
TO LOOK FOR GIVEN PROFIT POINT INPUT 1
TO DO ANOTHER BREAK EVEN ANALYSIS INPUT 2
? 1
WHAT PROFIT DO YOU DESIRE? 100000
SALES NEEDED FOR PROFIT 100000 EQUALS 11899.7 UNITS.
INPUT 1 FOR ANOTHER BREAKEVEN ANALYSIS? -1

+ 225
- 0
BP100/BUSBUD.80 View File

@@ -0,0 +1,225 @@
BUSINESS BOOKKEEPING SYSTEM
THIS BUSINESS BOOKKEEPING AND BUDGET ANALYSIS PROGRAM HAS THE
SAME CATEGORIES AS THE DOME SIMPLIFIED WEEKLY BOOKKEEPING
RECORD #600. THE PROGRAM CAN HANDLE 1 MONTH'S WORTH OF DATA
AT A TIME, BUT NOT TO EXCEED 100 ENTRIES ON A 16K MACHINE.
ON MACHINES WITH GREATER MEMORY IT IS ONLY NECESSARY TO CHANGE
THE MAXX=100 ON LINE 100 TO MAXX=200 FOR 200 ENTRIES,
ETC. TO LEARN THE SYSTEM, USE IT. REMEMBER TO READ A MONTH'S
DATA INTO MEMORY BEFORE USE(UNLESS IT'S A NEW MONTH), AND TO
SAVE THE DATA AFTER USE. OTHERWISE DRASTIC RESULTS MAY OCCUR.
THE BUDGET ANALYSIS WILL COMPARE ACTUAL EXPENDITURES TO
USER INPUT BUDGET AMOUNTS FOR EACH CATEGORY.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 5
ADD TO FILE ROUTINE
LAST ITEM SO FAR.
0 0 INCOME 0.00 0
CLASSIFICATION,AMOUNT,DAY? 1,234.56,7
MDSE-MATERIALS $ 234.56 7
ENTER 1 IF OK,2 IF IN ERROR,3 TO ABORT? 1
ANY MORE ADDITIONS TODAY(Y/N)? N
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 4
DATA OUTPUT TO DISK
ENTER MONTH NUMBER(1-12)? 1
PREPARE DISKETTE IN DRIVE
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 2
DISK DATA INPUT
ENTER MONTH(1-12)? 1
PREPARE DISKETTE IN DISK DRIVE
PRESS ENTER TO CONTINUE ?
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 8
0 INCOME 0.00 0.00 0.00
1 MDSE-MATERIALS 234.56 0.00 234.56
2 ACCOUNTING 0.00 0.00 0.00
3 ADVERTISING 0.00 0.00 0.00
4 AUTO EXP 0.00 0.00 0.00
5 CARTONS-ETC. 0.00 0.00 0.00
6 CONTRIBUTIONS 0.00 0.00 0.00
7 DELIVERY EXP. 0.00 0.00 0.00
8 ELECTRICITY 0.00 0.00 0.00
9 ENTERTAINMENT 0.00 0.00 0.00
10 FREIGHT & EXPRE 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
11 HEAT 0.00 0.00 0.00
12 INSURANCE 0.00 0.00 0.00
13 INTEREST 0.00 0.00 0.00
14 LAUNDRY 0.00 0.00 0.00
15 LEGAL EXP. 0.00 0.00 0.00
16 LICENSES 0.00 0.00 0.00
17 MISC. EXP. 0.00 0.00 0.00
18 OFFICE EXP. 0.00 0.00 0.00
19 POSTAGE 0.00 0.00 0.00
20 RENT 0.00 0.00 0.00
21 REPAIRS 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
22 SHOP EXP. 0.00 0.00 0.00
23 TAX-SOC.SEC. 0.00 0.00 0.00
24 TAX-STATE UNEMP 0.00 0.00 0.00
25 TAX-OTHER 0.00 0.00 0.00
26 SELLING EXP. 0.00 0.00 0.00
27 SUPPLIES 0.00 0.00 0.00
28 TELEPHONE 0.00 0.00 0.00
29 TRADE DUES-ETC. 0.00 0.00 0.00
30 TRAVELING EXP. 0.00 0.00 0.00
31 WAGES & COMM. 0.00 0.00 0.00
32 WATER 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
33 0.00 0.00 0.00
34 0.00 0.00 0.00
35 0.00 0.00 0.00
36 NOTES PAYABLE 0.00 0.00 0.00
37 FED. INC. TAX 0.00 0.00 0.00
38 LOANS PAYABLE 0.00 0.00 0.00
39 LOANS RECEIV. 0.00 0.00 0.00
40 PERSONAL 0.00 0.00 0.00
41 FIXED ASSETS 0.00 0.00 0.00
42 0.00 0.00 0.00
PRESS ENTER FOR TOTALS?
0 TOTAL INCOME 0.00 0.00 0.00
0 DEDUCT.EXP. 234.56 0.00 234.56
0 NON DED EXP. 0.00 0.00 0.00
0 NET CASH FLOW -234.56 0.00 -234.56
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 7
MENU
1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU
MAKE CHOICE? 1
0 INCOME 1 MDSE-MATERIALS
2 ACCOUNTING 3 ADVERTISING
4 AUTO EXP 5 CARTONS-ETC.
6 CONTRIBUTIONS 7 DELIVERY EXP.
8 ELECTRICITY 9 ENTERTAINMENT
10 FREIGHT & EXPRESS 11 HEAT
12 INSURANCE 13 INTEREST
14 LAUNDRY 15 LEGAL EXP.
16 LICENSES 17 MISC. EXP.
18 OFFICE EXP. 19 POSTAGE
20 RENT 21 REPAIRS
22 SHOP EXP. 23 TAX-SOC.SEC.
PRESS ENTER TO CONTINUE ? 1
24 TAX-STATE UNEMP. 25 TAX-OTHER
26 SELLING EXP. 27 SUPPLIES
28 TELEPHONE 29 TRADE DUES-ETC.
30 TRAVELING EXP. 31 WAGES & COMM.
32 WATER 33
34 35
36 NOTES PAYABLE 37 FED. INC. TAX
38 LOANS PAYABLE 39 LOANS RECEIV.
40 PERSONAL 41 FIXED ASSETS
42 43
CATEGORIES 1-35 DEDUCTABLES EXPENSES
CATEGORIES 36-42 NONDEDUCTABLE EXPENSES
PRESS ENTER TO CONTINUE ?
MENU
1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU
MAKE CHOICE? 3
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 10
ARE YOU SURE(Y/N)? Y

+ 263
- 0
BP100/BUSBUD.BAS View File

@@ -0,0 +1,263 @@
1 REM BUSBUD
5 CLEAR 1000
10 CLS:PRINT TAB(10);"BUSINESS BOOKKEEPING SYSTEM":PRINT
20 PRINT"THIS BUSINESS BOOKKEEPING AND BUDGET ANALYSIS PROGRAM HAS THE
25 PRINT"SAME CATEGORIES AS THE DOME SIMPLIFIED WEEKLY BOOKKEEPING
30 PRINT"RECORD #600. THE PROGRAM CAN HANDLE 1 MONTH'S WORTH OF DATA
35 PRINT"AT A TIME, BUT NOT TO EXCEED 100 ENTRIES ON A 16K MACHINE.
40 PRINT"ON MACHINES WITH GREATER MEMORY IT IS ONLY NECESSARY TO CHANGE
45 PRINT"THE MAXX=100 ON LINE 100 TO MAXX=200 FOR 200 ENTRIES,
50 PRINT"ETC. TO LEARN THE SYSTEM, USE IT. REMEMBER TO READ A MONTH'S
55 PRINT"DATA INTO MEMORY BEFORE USE(UNLESS IT'S A NEW MONTH), AND TO
60 PRINT"SAVE THE DATA AFTER USE. OTHERWISE DRASTIC RESULTS MAY OCCUR.
65 PRINT"THE BUDGET ANALYSIS WILL COMPARE ACTUAL EXPENDITURES TO
70 PRINT"USER INPUT BUDGET AMOUNTS FOR EACH CATEGORY.
80 PRINT:INPUT"PRESS ENTER TO BEGIN";Z9$
95 CLS
96 INPUT"ARE DISK DRIVES ATTACHED(Y/N)";ZD$
98 IF ZD$<>"Y" AND ZD$<>"N" THEN GOSUB 10000:GOTO 95
100 CLEAR 1000:DEFDBL A,C,Y:MAXX=100:DIM A(100,3),C(43,3),C$(43),Y(43)
110 DIM AE(3),AT(3),AS(3),AO(3)
120 GOSUB 10500:GOSUB 14000:GOSUB 11000
1000 CLS:PRINT" MAIN MENU"
1005 PRINT
1010 PRINT"1.READ IN MONTH'S DATA FROM CASSETTE"
1020 PRINT"2.READ IN MONTH'S DATA FROM DISK
1030 PRINT"3.WRITE MONTH'S DATA TO CASSETTE
1040 PRINT"4.WRITE MONTH'S DATA TO DISK
1050 PRINT"5.ADD TO MONTH'S FILE
1060 PRINT"6.EDIT MONTH'S FILE
1070 PRINT"7.CATEGORY REVIEW AND CHANGE
1080 PRINT"8.BUDGET ANALYSIS
1085 PRINT"9.NEW MONTH INITIALIZE,BUDGET SAME"
1090 PRINT"10.END PROGRAM
1100 PRINT:INPUT"MAKE YOUR CHOICE ";Z5
1110 IF Z5<>INT(Z5) OR Z5<1 OR Z5>10 THEN GOSUB 10000:GOTO 1000
1120 ON Z5 GOSUB 2100,2200,2300,2400,2500,2600,2700,2800,2950,2900
1130 GOTO 1000
2100 REM DATA INPUT FROM CASSETTE
2105 CLS:PRINT"CASSETTE INPUT
2130 PRINT:INPUT"INPUT MONTH ";M1
2150 INPUT"PREPARE CASSETTE TAPE.PRESS ENTER WHEN READY";Z9
2160 GOSUB 12000
2165 IF M<>M1 THEN GOSUB 10200 ' WRONG MONTH
2170 GOSUB 10100:RETURN
2200 REM DATA INPUT FROM DISK
2210 CLS:PRINT"DISK DATA INPUT "
2220 PRINT:INPUT"ENTER MONTH(1-12)";M1
2230 IF M1<>INT(M1) OR M1<1 OR M1>12 THEN GOSUB 10000:GOTO 2210
2240 PRINT"PREPARE DISKETTE IN DISK DRIVE":GOSUB 10100
2250 GOSUB 13000
2260 IF M<>M1 THEN GOSUB 10200
2270 GOSUB 10100:RETURN
2300 REM DATA OUTPUT TO CASSETTE
2310 CLS:PRINT"DATA OUTPUT TO CASSETTE"
2320 INPUT"ENTER MONTH(1-12)";M1:M=M1
2350 INPUT"PRESS ENTER WHEN CASSETTE READY";Z9
2360 GOSUB 12200
2370 RETURN
2400 REM DATA OUTPUT TO DISK
2410 CLS:PRINT"DATA OUTPUT TO DISK"
2415 INPUT"ENTER MONTH NUMBER(1-12)";M1
2420 M=M1:PRINT"PREPARE DISKETTE IN DRIVE ":GOSUB 10100
2430 GOSUB 13200
2450 RETURN
2500 CLS:PRINT"ADD TO FILE ROUTINE":PRINT
2505 PRINT"LAST ITEM SO FAR.":PRINT USING F$(3);ZZ$
2510 N=N1:GOSUB 10700
2515 GOSUB 15500
2520 PRINT:INPUT"ANY MORE ADDITIONS TODAY(Y/N)";Z9$
2530 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 2520
2540 IF Z9$="Y" THEN GOTO 2500 ELSE RETURN
2600 REM EDIT & REVIEW
2610 CLS:PRINT USING F$(3);ZZ$
2620 FOR N=1 TO N1:GOSUB 10700
2630 IF N/10= INT(N/10) THEN GOSUB 2640:CLS:PRINT USING F$(3);ZZ$
2635 NEXT N
2637 X$=" "
2640 INPUT"INPUT E TO EDIT,ENTER FOR MORE";X$
2645 IF X$="E" THEN GOSUB 10800
2650 IF N<>N+1 THEN RETURN
2660 RETURN
2700 REM CATEGORY REVIEW OR CHANGE
2710 CLS:PRINT " MENU"
2720 PRINT:PRINT"1.REVIEW OF ALL CATEGORIES"
2730 PRINT"2.CHANGE BUDGET AMOUNTS FOR MONTH"
2735 PRINT"3.RETURN TO MAIN MENU"
2740 PRINT:INPUT"MAKE CHOICE";Z9:ON Z9 GOTO 2750,2770,2799
2745 GOSUB 10100:GOTO 2710
2750 GOSUB 14200:GOTO 2710
2770 FOR I=0 TO 42
2775 PRINT USING F$(4);I,C$(I),C(I,2);:INPUT" CHANGE AMT. ";C(I,2)
2780 NEXT I :GOTO 2710
2799 RETURN
2800 REM BUDGET ANALYSIS
2810 FOR I=0 TO 42:C(I,1)=0:NEXT I
2820 FOR I=1 TO N1:C(A(I,1),1)=C(A(I,1),1)+A(I,2):NEXT I
2830 AI(1)=C(0,1):AI(2)=C(0,2):AI(3)=AI(1)-AI(2)
2840 AE(1)=0:AE(2)=0:AE(3)=0
2850 FOR I=1 TO 35:AE(1)=AE(1)+C(I,1):AE(2)=AE(2)+C(I,2):NEXT
2855 AE(3)=AE(1)-AE(2)
2865 AT(1)=0:AT(2)=0:AT(3)=0
2868 FOR I=36 TO 42:AT(1)=AT(1)+C(I,1):AT(2)=AT(2)+C(I,2):NEXT
2870 AT(3)=AT(1)-AT(2)
2872 CLS:PRINT USING F$(6);ZZ$
2875 FOR I=0 TO 42
2878 IF I/11=INT(I/11) AND I<>0 THEN GOSUB 10100:CLS:PRINT USING F$(6);ZZ$
2880 PRINT USING F$(5);I,C$(I),C(I,1),C(I,2),C(I,1)-C(I,2)
2882 NEXT I
2883 PRINT:INPUT"PRESS ENTER FOR TOTALS";Z9$:CLS
2884 PRINT USING F$(6);ZZ$
2885 PRINT USING F$(5);0,"TOTAL INCOME",AI(1),AI(2),AI(3)
2888 PRINT USING F$(5);0,"DEDUCT.EXP.",AE(1),AE(2),AE(3)
2890 PRINT USING F$(5);0,"NON DED EXP.",AT(1),AT(2),AT(3)
2892 AO(1)=AI(1)-AE(1)-AT(1):AO(2)=AI(2)-AE(2)-AT(2):AO(3)=AO(1)-AO(2)
2895 PRINT USING F$(5);0,"NET CASH FLOW",AO(1),AO(2),AO(3)
2898 PRINT:GOSUB 10100
2899 RETURN
2900 CLS:INPUT"ARE YOU SURE(Y/N)";Z9$
2910 IF Z9$<>"Y" THEN RETURN
2920 END
2950 REM ZERO FOR NEW MONTH.LEAVES BUDGET AMTS ALONE
2960 GOSUB 11000:RETURN
10000 REM INPUT ERROR SBR
10010 PRINT"INPUT ERROR! TRY AGAIN!":FOR J3=1 TO 300:NEXT
10020 RETURN
10100 INPUT"PRESS ENTER TO CONTINUE ";Z9:RETURN
10200 PRINT"MONTHS DO NOT COINCIDE.INPUT IS FOR MONTH ";M:RETURN
10500 REM FORMATS
10505 F$(4)="## \ \ ######.##"
10510 F$(2)="### ## \ \ ######.## ##"
10520 F$(3)="NO. CL. CL. AMT. DAY !"
10530 F$(5)="## \ \ ######.## ######.## ######.##"
10540 F$(6)="CL CL TOTAL BUDGET OV.OR.UND !"
10590 RETURN
10700 PRINT USING F$(2);N,A(N,1),C$(A(N,1)),A(N,2),A(N,3)
10705 RETURN
10800 REM EDIT ROUTINE
10805 INPUT"WHICH ITEM NUMBER TO EDIT";E
10810 IF E<0 OR E>N1 OR E<>INT(E) THEN GOSUB 10000:GOTO 10805
10815 C(A(E,1),1)=C(A(E,1),1)-A(E,2)
10820 N2=E:GOSUB 15520
10830 IF Z8=1 THEN N1=N1-1
10850 RETURN
11000 REM SBR ZEROES MONTHLY AMOUNTS
11010 FOR J3=1 TO MAXX:FOR J4=1 TO 3
11020 A(J3,J4)=0
11030 NEXT J4:NEXT J3
11040 FOR J3=0 TO 42
11050 C(J3,1)=0:C(J3,3)=0
11060 NEXT J3
11070 N1=0
11090 RETURN
12000 REM SBR TO READ IN MONTHLY DATA FROM CASSETTE
12010 GOSUB 11000:REM ZERO ANY OLD AMOUNTS
12015 ON ERROR GOTO 12020
12016 ' IF ZD$="Y" THEN CMD"T"
12020 INPUT #-1,M:REM M IS MONTH NUMBER
12025 FOR N=0 TO 42
12030 INPUT #-1,C(N,1),C(N,2),C(N,3):REM BUDGET & SPENT AMTS.
12040 NEXT N
12050 INPUT #-1,N1:REM N1 = # RECORDS IN FILE
12060 IF N1=0 THEN RETURN
12070 FOR N=1 TO N1
12080 INPUT #-1,A(N,1),A(N,2),A(N,3)
12090 NEXT N
12110 RETURN
12200 REM PRINT MONTHLY DATA ONTO CASSETTE
12205 ON ERROR GOTO 12210
12208 ' IF ZD$="Y" THEN CMD"T"
12210 WRITE #-1,M :REM MONTH NUMBER
12220 FOR N=0 TO 42
12230 WRITE #-1,C(N,1),C(N,2),C(N,3):REM BUDGET & AMTS SPENT
12235 NEXT N
12240 WRITE #-1,N1:REM N1=NO. OF RECORDS IN FILE
12250 IF N1=0 THEN RETURN
12260 FOR N=1 TO N1
12270 WRITE #-1,A(N,1),A(N,2),A(N,3)
12280 NEXT N
12290 RETURN
12440 NEXT N
12450 RETURN
12600 REM JUST GET FINAL MONTHLY TOTALS FROM CASSETTE
12610 INPUT #-1,M:REM MONTH NUMBER
12620 FOR N=0 TO 42
12630 INPUT #-1,C(N,1),C(N,2),C(N,3)
12640 NEXT N
12650 RETURN
13000 REM READ IN MONTHLY DATA FROM DISK
13010 GOSUB 11000: REM ZERO ANY OLD AMOUNTS
13015 FF$=STR$(M1):FF$=RIGHT$(FF$,LEN(FF$)-1)
13020 F$="MONTH"+FF$:REM M1 IS MONTH IN PROGRAM
13025 OPEN"I",1,F$
13030 INPUT #1,M:REM MONTH NUMBER
13040 FOR N=0 TO 42
13050 INPUT #1,C(N,1),C(N,2),C(N,3):REM BUDGET AMTS & TOTALS FOR CAT.
13060 NEXT N
13070 INPUT #1,N1:REM NUMBER OF ITEMS PRSENTLY IN FILE
13080 IF N1=0 THEN CLOSE #1:RETURN
13090 FOR N=1 TO N1
13100 INPUT #1,A(N,1),A(N,2),A(N,3)
13110 NEXT N
13120 CLOSE #1:RETURN
13200 REM PRINT MONTHLY DATA ONTO DISK
13205 FF$=STR$(M1):FF$=RIGHT$(FF$,LEN(FF$)-1)
13210 F$="MONTH"+FF$:REM M1 IS MONTH IN PROGRAM
13220 OPEN"O",1,F$
13230 WRITE # 1,M
13240 FOR N=0 TO 42
13250 WRITE # 1,C(N,1),C(N,2),C(N,3)
13260 NEXT N
13270 WRITE # 1,N1:REM NUMBER OF ITEMS PRESENTLY ON FILE
13280 IF N1=0 THEN CLOSE #1:RETURN
13290 FOR N=1 TO N1
13300 WRITE # 1,A(N,1),A(N,2),A(N,3)
13310 NEXT N
13320 CLOSE #1:RETURN
13600 REM JUST GET FINAL MONTHLY TOTALS FROM DISK
13610 GOSUB 11000:REM ZERO OLD AMOUNTS
13620 F$="MONTH"+STR$(M1)
13630 OPEN"I",1,F$
13640 INPUT # 1,M
13650 FOR N=0 TO 42
13660 INPUT # 1,C(N,1),C(N,2),C(N,3)
13670 NEXT N
13680 CLOSE #1:RETURN
14000 REM ROUTINE LOADING C$() ARRAY
14010 DATA INCOME,MDSE-MATERIALS,ACCOUNTING,ADVERTISING,AUTO EXP
14015 DATA CARTONS-ETC.,CONTRIBUTIONS,DELIVERY EXP.,ELECTRICITY
14020 DATA ENTERTAINMENT,FREIGHT & EXPRESS,HEAT,INSURANCE,INTEREST
14025 DATA LAUNDRY,LEGAL EXP.,LICENSES,MISC. EXP.,OFFICE EXP.,POSTAGE
14030 DATA RENT,REPAIRS,SHOP EXP.,TAX-SOC.SEC.,TAX-STATE UNEMP.,TAX-OTHER
14035 DATA SELLING EXP.,SUPPLIES,TELEPHONE,TRADE DUES-ETC.,TRAVELING EXP.
14040 DATA WAGES & COMM.,WATER," "," "," "
14045 DATA NOTES PAYABLE,FED. INC. TAX,LOANS PAYABLE,LOANS RECEIV.
14050 DATA PERSONAL,FIXED ASSETS," "," "," "," "
14070 FOR J3=0 TO 42:READ C$(J3):NEXT
14080 RETURN
14200 REM REVIEW OF CATEGORIES
14210 F$(1)="## \ \ ## \ \"
14220 CLS:FOR I=0 TO 42 STEP 2
14230 PRINT USING F$(1);I,C$(I),I+1,C$(I+1)
14235 IF I/22=INT(I/22) AND I<>0 THEN PRINT:GOSUB 10100:CLS
14240 NEXT I
14245 PRINT:PRINT"CATEGORIES 1-35 DEDUCTABLES EXPENSES":PRINT"CATEGORIES 36-42 NONDEDUCTABLE EXPENSES":PRINT
14250 GOSUB 10100
14260 RETURN
15000 REM GET MONTHLY TOTALS FROM MONTH'S DATA
15010 FOR N=1 TO N1
15020 K=A(N,1):C(K,1)=C(K,1)+A(N,2)
15030 NEXT N
15040 RETURN
15500 REM INPUT ROUTINE
15510 N2=N1+1:PRINT
15515 REM
15520 INPUT"CLASSIFICATION,AMOUNT,DAY";A(N2,1),A(N2,2),A(N2,3)
15522 A9=A(N2,1):IF A9<>ABS(INT(A9)) OR A9>42 THEN GOSUB 10000:GOTO 15515
15525 PRINT:PRINT C$(A(N2,1));" $";A(N2,2),A(N2,3)
15530 INPUT"ENTER 1 IF OK,2 IF IN ERROR,3 TO ABORT";Z8
15540 IF Z8<>1 AND Z8<>2 AND Z8<>3 THEN GOSUB 10000:GOTO 15530
15550 IF Z8=2 THEN GOTO 15520
15555 IF Z8=3 THEN RETURN
15560 N1=N1+1:C(A(N2,1),1)=C(A(N2,1),1)+A(N2,2)
15570 RETURN

+ 26
- 0
BP100/BUSBUD.INP View File

@@ -0,0 +1,26 @@

Y
5
1,234.56,7
1
N
4
1

2
1


8





7
1
1

3
10
Y

+ 225
- 0
BP100/BUSBUD.OUT View File

@@ -0,0 +1,225 @@
BUSINESS BOOKKEEPING SYSTEM

THIS BUSINESS BOOKKEEPING AND BUDGET ANALYSIS PROGRAM HAS THE
SAME CATEGORIES AS THE DOME SIMPLIFIED WEEKLY BOOKKEEPING
RECORD #600. THE PROGRAM CAN HANDLE 1 MONTH'S WORTH OF DATA
AT A TIME, BUT NOT TO EXCEED 100 ENTRIES ON A 16K MACHINE.
ON MACHINES WITH GREATER MEMORY IT IS ONLY NECESSARY TO CHANGE
THE MAXX=100 ON LINE 100 TO MAXX=200 FOR 200 ENTRIES,
ETC. TO LEARN THE SYSTEM, USE IT. REMEMBER TO READ A MONTH'S
DATA INTO MEMORY BEFORE USE(UNLESS IT'S A NEW MONTH), AND TO
SAVE THE DATA AFTER USE. OTHERWISE DRASTIC RESULTS MAY OCCUR.
THE BUDGET ANALYSIS WILL COMPARE ACTUAL EXPENDITURES TO
USER INPUT BUDGET AMOUNTS FOR EACH CATEGORY.

PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 5
ADD TO FILE ROUTINE

LAST ITEM SO FAR.

0 0 INCOME 0.00 0

CLASSIFICATION,AMOUNT,DAY? 1,234.56,7

MDSE-MATERIALS $ 234.56 7
ENTER 1 IF OK,2 IF IN ERROR,3 TO ABORT? 1

ANY MORE ADDITIONS TODAY(Y/N)? N
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 4
DATA OUTPUT TO DISK
ENTER MONTH NUMBER(1-12)? 1
PREPARE DISKETTE IN DRIVE
PRESS ENTER TO CONTINUE ?
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 2
DISK DATA INPUT

ENTER MONTH(1-12)? 1
PREPARE DISKETTE IN DISK DRIVE
PRESS ENTER TO CONTINUE ?
PRESS ENTER TO CONTINUE ?
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 8

0 INCOME 0.00 0.00 0.00
1 MDSE-MATERIALS 234.56 0.00 234.56
2 ACCOUNTING 0.00 0.00 0.00
3 ADVERTISING 0.00 0.00 0.00
4 AUTO EXP 0.00 0.00 0.00
5 CARTONS-ETC. 0.00 0.00 0.00
6 CONTRIBUTIONS 0.00 0.00 0.00
7 DELIVERY EXP. 0.00 0.00 0.00
8 ELECTRICITY 0.00 0.00 0.00
9 ENTERTAINMENT 0.00 0.00 0.00
10 FREIGHT & EXPRE 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?

11 HEAT 0.00 0.00 0.00
12 INSURANCE 0.00 0.00 0.00
13 INTEREST 0.00 0.00 0.00
14 LAUNDRY 0.00 0.00 0.00
15 LEGAL EXP. 0.00 0.00 0.00
16 LICENSES 0.00 0.00 0.00
17 MISC. EXP. 0.00 0.00 0.00
18 OFFICE EXP. 0.00 0.00 0.00
19 POSTAGE 0.00 0.00 0.00
20 RENT 0.00 0.00 0.00
21 REPAIRS 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?

22 SHOP EXP. 0.00 0.00 0.00
23 TAX-SOC.SEC. 0.00 0.00 0.00
24 TAX-STATE UNEMP 0.00 0.00 0.00
25 TAX-OTHER 0.00 0.00 0.00
26 SELLING EXP. 0.00 0.00 0.00
27 SUPPLIES 0.00 0.00 0.00
28 TELEPHONE 0.00 0.00 0.00
29 TRADE DUES-ETC. 0.00 0.00 0.00
30 TRAVELING EXP. 0.00 0.00 0.00
31 WAGES & COMM. 0.00 0.00 0.00
32 WATER 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?

33 0.00 0.00 0.00
34 0.00 0.00 0.00
35 0.00 0.00 0.00
36 NOTES PAYABLE 0.00 0.00 0.00
37 FED. INC. TAX 0.00 0.00 0.00
38 LOANS PAYABLE 0.00 0.00 0.00
39 LOANS RECEIV. 0.00 0.00 0.00
40 PERSONAL 0.00 0.00 0.00
41 FIXED ASSETS 0.00 0.00 0.00
42 0.00 0.00 0.00

PRESS ENTER FOR TOTALS?

0 TOTAL INCOME 0.00 0.00 0.00
0 DEDUCT.EXP. 234.56 0.00 234.56
0 NON DED EXP. 0.00 0.00 0.00
0 NET CASH FLOW -234.56 0.00 -234.56

PRESS ENTER TO CONTINUE ?
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 7
MENU

1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU

MAKE CHOICE? 1
0 INCOME 1 MDSE-MATERIALS
2 ACCOUNTING 3 ADVERTISING
4 AUTO EXP 5 CARTONS-ETC.
6 CONTRIBUTIONS 7 DELIVERY EXP.
8 ELECTRICITY 9 ENTERTAINMENT
10 FREIGHT & EXPRESS 11 HEAT
12 INSURANCE 13 INTEREST
14 LAUNDRY 15 LEGAL EXP.
16 LICENSES 17 MISC. EXP.
18 OFFICE EXP. 19 POSTAGE
20 RENT 21 REPAIRS
22 SHOP EXP. 23 TAX-SOC.SEC.

PRESS ENTER TO CONTINUE ? 1
24 TAX-STATE UNEMP. 25 TAX-OTHER
26 SELLING EXP. 27 SUPPLIES
28 TELEPHONE 29 TRADE DUES-ETC.
30 TRAVELING EXP. 31 WAGES & COMM.
32 WATER 33
34 35
36 NOTES PAYABLE 37 FED. INC. TAX
38 LOANS PAYABLE 39 LOANS RECEIV.
40 PERSONAL 41 FIXED ASSETS
42 43

CATEGORIES 1-35 DEDUCTABLES EXPENSES
CATEGORIES 36-42 NONDEDUCTABLE EXPENSES

PRESS ENTER TO CONTINUE ?
MENU

1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU

MAKE CHOICE? 3
MAIN MENU

1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM

MAKE YOUR CHOICE ? 10
ARE YOU SURE(Y/N)? Y

+ 0
- 0
BP100/BUSBUD.dif View File


+ 225
- 0
BP100/BUSBUD.run View File

@@ -0,0 +1,225 @@
BUSINESS BOOKKEEPING SYSTEM
THIS BUSINESS BOOKKEEPING AND BUDGET ANALYSIS PROGRAM HAS THE
SAME CATEGORIES AS THE DOME SIMPLIFIED WEEKLY BOOKKEEPING
RECORD #600. THE PROGRAM CAN HANDLE 1 MONTH'S WORTH OF DATA
AT A TIME, BUT NOT TO EXCEED 100 ENTRIES ON A 16K MACHINE.
ON MACHINES WITH GREATER MEMORY IT IS ONLY NECESSARY TO CHANGE
THE MAXX=100 ON LINE 100 TO MAXX=200 FOR 200 ENTRIES,
ETC. TO LEARN THE SYSTEM, USE IT. REMEMBER TO READ A MONTH'S
DATA INTO MEMORY BEFORE USE(UNLESS IT'S A NEW MONTH), AND TO
SAVE THE DATA AFTER USE. OTHERWISE DRASTIC RESULTS MAY OCCUR.
THE BUDGET ANALYSIS WILL COMPARE ACTUAL EXPENDITURES TO
USER INPUT BUDGET AMOUNTS FOR EACH CATEGORY.
PRESS ENTER TO BEGIN?
ARE DISK DRIVES ATTACHED(Y/N)? Y
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 5
ADD TO FILE ROUTINE
LAST ITEM SO FAR.
0 0 INCOME 0.00 0
CLASSIFICATION,AMOUNT,DAY? 1,234.56,7
MDSE-MATERIALS $ 234.56 7
ENTER 1 IF OK,2 IF IN ERROR,3 TO ABORT? 1
ANY MORE ADDITIONS TODAY(Y/N)? N
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 4
DATA OUTPUT TO DISK
ENTER MONTH NUMBER(1-12)? 1
PREPARE DISKETTE IN DRIVE
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 2
DISK DATA INPUT
ENTER MONTH(1-12)? 1
PREPARE DISKETTE IN DISK DRIVE
PRESS ENTER TO CONTINUE ?
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 8
0 INCOME 0.00 0.00 0.00
1 MDSE-MATERIALS 234.56 0.00 234.56
2 ACCOUNTING 0.00 0.00 0.00
3 ADVERTISING 0.00 0.00 0.00
4 AUTO EXP 0.00 0.00 0.00
5 CARTONS-ETC. 0.00 0.00 0.00
6 CONTRIBUTIONS 0.00 0.00 0.00
7 DELIVERY EXP. 0.00 0.00 0.00
8 ELECTRICITY 0.00 0.00 0.00
9 ENTERTAINMENT 0.00 0.00 0.00
10 FREIGHT & EXPRE 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
11 HEAT 0.00 0.00 0.00
12 INSURANCE 0.00 0.00 0.00
13 INTEREST 0.00 0.00 0.00
14 LAUNDRY 0.00 0.00 0.00
15 LEGAL EXP. 0.00 0.00 0.00
16 LICENSES 0.00 0.00 0.00
17 MISC. EXP. 0.00 0.00 0.00
18 OFFICE EXP. 0.00 0.00 0.00
19 POSTAGE 0.00 0.00 0.00
20 RENT 0.00 0.00 0.00
21 REPAIRS 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
22 SHOP EXP. 0.00 0.00 0.00
23 TAX-SOC.SEC. 0.00 0.00 0.00
24 TAX-STATE UNEMP 0.00 0.00 0.00
25 TAX-OTHER 0.00 0.00 0.00
26 SELLING EXP. 0.00 0.00 0.00
27 SUPPLIES 0.00 0.00 0.00
28 TELEPHONE 0.00 0.00 0.00
29 TRADE DUES-ETC. 0.00 0.00 0.00
30 TRAVELING EXP. 0.00 0.00 0.00
31 WAGES & COMM. 0.00 0.00 0.00
32 WATER 0.00 0.00 0.00
PRESS ENTER TO CONTINUE ?
33 0.00 0.00 0.00
34 0.00 0.00 0.00
35 0.00 0.00 0.00
36 NOTES PAYABLE 0.00 0.00 0.00
37 FED. INC. TAX 0.00 0.00 0.00
38 LOANS PAYABLE 0.00 0.00 0.00
39 LOANS RECEIV. 0.00 0.00 0.00
40 PERSONAL 0.00 0.00 0.00
41 FIXED ASSETS 0.00 0.00 0.00
42 0.00 0.00 0.00
PRESS ENTER FOR TOTALS?
0 TOTAL INCOME 0.00 0.00 0.00
0 DEDUCT.EXP. 234.56 0.00 234.56
0 NON DED EXP. 0.00 0.00 0.00
0 NET CASH FLOW -234.56 0.00 -234.56
PRESS ENTER TO CONTINUE ?
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 7
MENU
1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU
MAKE CHOICE? 1
0 INCOME 1 MDSE-MATERIALS
2 ACCOUNTING 3 ADVERTISING
4 AUTO EXP 5 CARTONS-ETC.
6 CONTRIBUTIONS 7 DELIVERY EXP.
8 ELECTRICITY 9 ENTERTAINMENT
10 FREIGHT & EXPRESS 11 HEAT
12 INSURANCE 13 INTEREST
14 LAUNDRY 15 LEGAL EXP.
16 LICENSES 17 MISC. EXP.
18 OFFICE EXP. 19 POSTAGE
20 RENT 21 REPAIRS
22 SHOP EXP. 23 TAX-SOC.SEC.
PRESS ENTER TO CONTINUE ? 1
24 TAX-STATE UNEMP. 25 TAX-OTHER
26 SELLING EXP. 27 SUPPLIES
28 TELEPHONE 29 TRADE DUES-ETC.
30 TRAVELING EXP. 31 WAGES & COMM.
32 WATER 33
34 35
36 NOTES PAYABLE 37 FED. INC. TAX
38 LOANS PAYABLE 39 LOANS RECEIV.
40 PERSONAL 41 FIXED ASSETS
42 43
CATEGORIES 1-35 DEDUCTABLES EXPENSES
CATEGORIES 36-42 NONDEDUCTABLE EXPENSES
PRESS ENTER TO CONTINUE ?
MENU
1.REVIEW OF ALL CATEGORIES
2.CHANGE BUDGET AMOUNTS FOR MONTH
3.RETURN TO MAIN MENU
MAKE CHOICE? 3
MAIN MENU
1.READ IN MONTH'S DATA FROM CASSETTE
2.READ IN MONTH'S DATA FROM DISK
3.WRITE MONTH'S DATA TO CASSETTE
4.WRITE MONTH'S DATA TO DISK
5.ADD TO MONTH'S FILE
6.EDIT MONTH'S FILE
7.CATEGORY REVIEW AND CHANGE
8.BUDGET ANALYSIS
9.NEW MONTH INITIALIZE,BUDGET SAME
10.END PROGRAM
MAKE YOUR CHOICE ? 10
ARE YOU SURE(Y/N)? Y

+ 29
- 0
BP100/CAP1.80 View File

@@ -0,0 +1,29 @@
CAPITAL ASSET PRICING MODEL ANALYSIS OF PROJECT
THE CAPITAL ASSET PRICING MODEL STUDIES THE RISK-RETURN
IMPACT OF AN INVESTMENT PROPOSAL UPON AN INVESTOR'S PORTFOLIO
OF STOCKS AND OTHER INVESTMENTS. THE MODEL GIVES THE EXPECTED
RETURN FOR AN INVESTMENT GIVEN THE EXPECTED RETURN FOR THE
MARKET AS A WHOLE, THE RISK-FREE(I.E. U.S.TREASURY BOND)
INTEREST RATE, AND THE VOLATILITY OF THE RETURN ON THE INVEST-
MENT WITH RESPECT TO THE REST OF THE MARKET. A VOLATILITY OF
1 MEANS THE RETURN ON THE INVESTMENT WILL CHANGE JUST AS THE
MARKET CHANGES, A VOLATILTY GREATER THAN 1 MEANS THE INVEST-
MENT'S RETURN MOVES IN THE SAME DIRECTION AS THE MARKET BUT
AT A MORE RAPID RATE. VOLATILITY OF 0 MEANS THE RETURN ON THE
INVESTMENT IS INDEPENDENT OF MARKET MOVEMENT. NEGATIVE
VOLATILITY MEANS RETURN ON THE INVESTMENT AND THE MARKET MOVE
IN OPPOSITE DIRECTIONS.
PRESS ENTER TO CONTINUE?
FOR PUBLICLY TRADED STOCKS VOLATILITY MAY BE ASCERTAINED
BY EXAMINING THE LITERATURE. JUST LOOK FOR BETA.
FOR OTHER INVESTMENTS ASCERTAINING VOLATILITY IS SOMEWHAT
MORE DIFFICULT.
PRESS ENTER TO BEGIN?
ENTER TREASURY INTEREST RATE(%) ? 2.75
ENTER EXPECTED MARKET RETURN(%) ? 5.25
ENTER VOLATILITY FOR INVESTMENT ? 0.10
THE EXPECTED RETURN ON THIS INVESTMENT IS 3 %
PRESS ENTER FOR MORE COMPUTATIONS? -1

+ 38
- 0
BP100/CAP1.BAS View File

@@ -0,0 +1,38 @@
1 REM CAP1
5 CLEAR 1000
10 CLS
20 PRINT TAB(5);"CAPITAL ASSET PRICING MODEL ANALYSIS OF PROJECT"
25 PRINT"THE CAPITAL ASSET PRICING MODEL STUDIES THE RISK-RETURN
30 PRINT"IMPACT OF AN INVESTMENT PROPOSAL UPON AN INVESTOR'S PORTFOLIO
35 PRINT"OF STOCKS AND OTHER INVESTMENTS. THE MODEL GIVES THE EXPECTED
40 PRINT"RETURN FOR AN INVESTMENT GIVEN THE EXPECTED RETURN FOR THE
45 PRINT"MARKET AS A WHOLE, THE RISK-FREE(I.E. U.S.TREASURY BOND)
50 PRINT"INTEREST RATE, AND THE VOLATILITY OF THE RETURN ON THE INVEST-
55 PRINT"MENT WITH RESPECT TO THE REST OF THE MARKET. A VOLATILITY OF
60 PRINT"1 MEANS THE RETURN ON THE INVESTMENT WILL CHANGE JUST AS THE
65 PRINT"MARKET CHANGES, A VOLATILTY GREATER THAN 1 MEANS THE INVEST-
70 PRINT"MENT'S RETURN MOVES IN THE SAME DIRECTION AS THE MARKET BUT
75 PRINT"AT A MORE RAPID RATE. VOLATILITY OF 0 MEANS THE RETURN ON THE
80 PRINT"INVESTMENT IS INDEPENDENT OF MARKET MOVEMENT. NEGATIVE
85 PRINT"VOLATILITY MEANS RETURN ON THE INVESTMENT AND THE MARKET MOVE
90 PRINT"IN OPPOSITE DIRECTIONS.
95 INPUT"PRESS ENTER TO CONTINUE";Z9$
97 CLS
100 PRINT"FOR PUBLICLY TRADED STOCKS VOLATILITY MAY BE ASCERTAINED
105 PRINT"BY EXAMINING THE LITERATURE. JUST LOOK FOR BETA.
110 PRINT"FOR OTHER INVESTMENTS ASCERTAINING VOLATILITY IS SOMEWHAT
112 PRINT"MORE DIFFICULT.
115 PRINT
120 INPUT"PRESS ENTER TO BEGIN";Z9$
200 CLS
210 INPUT"ENTER TREASURY INTEREST RATE(%) ";RF:RF=RF/100
220 INPUT"ENTER EXPECTED MARKET RETURN(%) ";RM:RM=RM/100
230 INPUT"ENTER VOLATILITY FOR INVESTMENT ";B
240 RI= RF + (RM-RF)*B:REM RI IS EXPECTED RETURN
250 RI=RI*100
260 PRINT"THE EXPECTED RETURN ON THIS INVESTMENT IS ";RI;"%"
270 PRINT:PRINT
275 RF=RF*100:RM=RM*100
280 INPUT"PRESS ENTER FOR MORE COMPUTATIONS";Z9$
285 IF Z9$ = "-1" THEN END
290 GOTO 200

+ 6
- 0
BP100/CAP1.INP View File

@@ -0,0 +1,6 @@


2.75
5.25
0.10
-1

+ 29
- 0
BP100/CAP1.OUT View File

@@ -0,0 +1,29 @@
CAPITAL ASSET PRICING MODEL ANALYSIS OF PROJECT
THE CAPITAL ASSET PRICING MODEL STUDIES THE RISK-RETURN
IMPACT OF AN INVESTMENT PROPOSAL UPON AN INVESTOR'S PORTFOLIO
OF STOCKS AND OTHER INVESTMENTS. THE MODEL GIVES THE EXPECTED
RETURN FOR AN INVESTMENT GIVEN THE EXPECTED RETURN FOR THE
MARKET AS A WHOLE, THE RISK-FREE(I.E. U.S.TREASURY BOND)
INTEREST RATE, AND THE VOLATILITY OF THE RETURN ON THE INVEST-
MENT WITH RESPECT TO THE REST OF THE MARKET. A VOLATILITY OF
1 MEANS THE RETURN ON THE INVESTMENT WILL CHANGE JUST AS THE
MARKET CHANGES, A VOLATILTY GREATER THAN 1 MEANS THE INVEST-
MENT'S RETURN MOVES IN THE SAME DIRECTION AS THE MARKET BUT
AT A MORE RAPID RATE. VOLATILITY OF 0 MEANS THE RETURN ON THE
INVESTMENT IS INDEPENDENT OF MARKET MOVEMENT. NEGATIVE
VOLATILITY MEANS RETURN ON THE INVESTMENT AND THE MARKET MOVE
IN OPPOSITE DIRECTIONS.
PRESS ENTER TO CONTINUE?
FOR PUBLICLY TRADED STOCKS VOLATILITY MAY BE ASCERTAINED
BY EXAMINING THE LITERATURE. JUST LOOK FOR BETA.
FOR OTHER INVESTMENTS ASCERTAINING VOLATILITY IS SOMEWHAT
MORE DIFFICULT.

PRESS ENTER TO BEGIN?
ENTER TREASURY INTEREST RATE(%) ? 2.75
ENTER EXPECTED MARKET RETURN(%) ? 5.25
ENTER VOLATILITY FOR INVESTMENT ? 0.10
THE EXPECTED RETURN ON THIS INVESTMENT IS 3 %


PRESS ENTER FOR MORE COMPUTATIONS? -1

+ 0
- 0
BP100/CAP1.dif View File


+ 29
- 0
BP100/CAP1.run View File

@@ -0,0 +1,29 @@
CAPITAL ASSET PRICING MODEL ANALYSIS OF PROJECT
THE CAPITAL ASSET PRICING MODEL STUDIES THE RISK-RETURN
IMPACT OF AN INVESTMENT PROPOSAL UPON AN INVESTOR'S PORTFOLIO
OF STOCKS AND OTHER INVESTMENTS. THE MODEL GIVES THE EXPECTED
RETURN FOR AN INVESTMENT GIVEN THE EXPECTED RETURN FOR THE
MARKET AS A WHOLE, THE RISK-FREE(I.E. U.S.TREASURY BOND)
INTEREST RATE, AND THE VOLATILITY OF THE RETURN ON THE INVEST-
MENT WITH RESPECT TO THE REST OF THE MARKET. A VOLATILITY OF
1 MEANS THE RETURN ON THE INVESTMENT WILL CHANGE JUST AS THE
MARKET CHANGES, A VOLATILTY GREATER THAN 1 MEANS THE INVEST-
MENT'S RETURN MOVES IN THE SAME DIRECTION AS THE MARKET BUT
AT A MORE RAPID RATE. VOLATILITY OF 0 MEANS THE RETURN ON THE
INVESTMENT IS INDEPENDENT OF MARKET MOVEMENT. NEGATIVE
VOLATILITY MEANS RETURN ON THE INVESTMENT AND THE MARKET MOVE
IN OPPOSITE DIRECTIONS.
PRESS ENTER TO CONTINUE?
FOR PUBLICLY TRADED STOCKS VOLATILITY MAY BE ASCERTAINED
BY EXAMINING THE LITERATURE. JUST LOOK FOR BETA.
FOR OTHER INVESTMENTS ASCERTAINING VOLATILITY IS SOMEWHAT
MORE DIFFICULT.
PRESS ENTER TO BEGIN?
ENTER TREASURY INTEREST RATE(%) ? 2.75
ENTER EXPECTED MARKET RETURN(%) ? 5.25
ENTER VOLATILITY FOR INVESTMENT ? 0.10
THE EXPECTED RETURN ON THIS INVESTMENT IS 3 %
PRESS ENTER FOR MORE COMPUTATIONS? -1

+ 71
- 0
BP100/CHECK2.80 View File

@@ -0,0 +1,71 @@
CHECK1
THIS PROGRAM PERMITS THE USER TO INPUT THE NECESSARY DATA
IN ORDER TO PRINT CHECK AND STUB ON NEBS CHECKS ,PRODUCT 9020
AVAILABLE FROM NEW ENGLAND BUSINESS SERVICE(1-800-225-6380)
IN MASS. (1-800-252-9226)
AS MANY AS 50 CHECKS MAY BE PRINTED IN A RUN. A REGISTER MAY
BE GENERATED OF ALL CHECKS IN THE RUN
PRESS ENTER TO BEGIN?
MENU
0. QUIT
1. INPUT DATA AND PRINT CHECKS
2. PRINT CHECK REGISTER
3. INPUT TODAY'S DATE INTO SYSTEM
ENTER CHOICE ? 3
ENTER TODAY'S DATE IN FORM MM/DD/YY? 12/34/56
SYSTEM DATE IS 12/34/56
PRESS ENTER TO CONTINUE?
MENU
0. QUIT
1. INPUT DATA AND PRINT CHECKS
2. PRINT CHECK REGISTER
3. INPUT TODAY'S DATE INTO SYSTEM
ENTER CHOICE ? 1
CHECK DATE(0 TO END)? 01/02/03
INPUT CHECK # ? 50013
INPUT AMT OF CHECK ? 1234.56
ENTER PAYABLE TO ? TOM CAT
ENTER COMMENTS(LINE 1)? JERRY MOUSE
ENTER COMMENTS(LINE 2)? CARTOON
CHECK DATE: 01/02/03
CHECK # 50013
CHECK AMOUNT 1234.56
PAYABLE TO TOM CAT
COMMENT 1 JERRY MOUSE
COMMENT 2 CARTOON
ENTER Y IF OK,N IF ERROR? Y
ENTER Y TO PRINT CHECK,N TO SKIP PRINT? Y
CHECK DATE(0 TO END)? 0
MENU
0. QUIT
1. INPUT DATA AND PRINT CHECKS
2. PRINT CHECK REGISTER
3. INPUT TODAY'S DATE INTO SYSTEM
ENTER CHOICE ? 2
INPUT P FOR LINE PRINTER OUTPUT,S FOR SCREEN ONLY? P
PRESS ENTER WHEN PRINTER READY?
CHECK # DATE PAYABLE TO AMOUNT
50013 01/02/03 TOM CAT 1234.56
TOTAL CHECKS = 1 TOTAL CHECK AMOUNTS = $1234.56
PRESS ENTER TO CONTINUE? 0
MENU
0. QUIT
1. INPUT DATA AND PRINT CHECKS
2. PRINT CHECK REGISTER
3. INPUT TODAY'S DATE INTO SYSTEM
ENTER CHOICE ?

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save