home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / BASIC00.ZIP / DEPREC.BAS < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  13.0 KB  |  339 lines

  1. 10 REM ******************** DEPRECIATION PROGRAM ******************************
  2. 20 REM ************ REVISED FOR ECONOMIC RECOVERY ACT OF 1981 *****************
  3. 30 REM ****  BY A.P GITT; POPULAR COMPUTING ,DEC. 1982, PAGE 59  **************
  4. 40 REM ****  REVISED: 01/09/82                                         ********
  5. 50 REM ****  DISK FILE NAME: DEPREC.BAS                                ********
  6. 60 REM ****  FURTHER REVISED BY C.F. MITASIK ON 11-16-82 TO INCLUDE    ********
  7. 70 REM ****    10 YEAR ACRS AND THE 15 YEAR, 175% DEPRECIATION OPTION  ********
  8. 80 REM ****    FOR REAL PROPERTY                                       ********
  9. 90 REM ************************************************************************
  10. 100 REM ***  NOTE: HOME COMPUTERS WOULD USUALLY BE WRITTEN OFF USING   ********
  11. 110 REM ***        5 YEAR ACRS; UNLESS IT IS BEING USED FOR RESEARCH   ********
  12. 120 REM ***        AND DEVELOPMENT WORK IN WHICH CASE THE 3 YEAR ACRS  ********
  13. 130 REM ***        METHOD MAY BE USED.                                 ********
  14. 140 REM ***********************************************************************
  15. 150 REM ***  WARNING: NO GUARENTEES ARE GIVEN OR IMPLIED REGARDING     ********
  16. 160 REM ***  YOUR USE OF THIS PROGRAM. I ALSO TAKE NO RESPONSIBILITY   ********
  17. 170 REM ***  FOR THE DEPRECIATION METHOD(S) YOU CHOOSE TO USE OR FOR   ********
  18. 180 REM ***  WHETHER OR NOT YOUR PROPERTY IS IN FACT DEPRECIABLE.      ********
  19. 190 REM ***  PLEASE CONSULT A KNOWLEDGEABLE TAX SPECIALIAST FOR        ********
  20. 200 REM ***  ASSISTANCE ALONG THESE LINES.                             ********
  21. 210 REM ***********************************************************************
  22. 220 REM
  23. 230 CLEAR 2000:KEY OFF
  24. 240 DIM D(40)
  25. 250 COLOR 2,0,0:CLS:LOCATE 10,32:PRINT "TAX DEPRECIATION"
  26. 260 FOR I = 1 TO 1500:NEXT I:CLS
  27. 270 REM ****************** INPUT DATA *****************************************
  28. 280 LOCATE 2,1:INPUT "NAME OF ITEM";I$
  29. 290 A = 0:B = 0:F = 0:F1 = 0:D(1) = 0:A9$ = ""
  30. 300 DP$ = DATE$
  31. 310 PRINT "TODAYS DATE = ";DP$
  32. 320 INPUT "PURCHASE DATE (MM/DD/YY)";D$
  33. 330 INPUT "COST OF ITEM";C
  34. 340 PRINT "DO YOU WISH TO USE THE ACCELERATED COST"
  35. 350 INPUT "RECOVERY SYSTEM (ACRS)? (Y)ES OR (N)O";A9$
  36. 360 GOTO 530
  37. 370 IF YY < 81 THEN A = 1
  38. 380 INPUT "USEFUL LIFE";L
  39. 390 INPUT "DEPRECIATION RATE (NEW = 200% : USED = 150%)";R
  40. 400 R$ = STR$(R)+"%"
  41. 410 REM ******************* CALCULATE YEARLY RATE ****************************
  42. 420 YR = R/(100*L)
  43. 430 REM ****************** CALCULATE EXTRA 1ST YEAR DEPRECIATION *************
  44. 440 IF L > 6 AND YY < 81 THEN ED = .2*C ELSE ED = 0
  45. 450 CV = C - ED
  46. 460 REM ****************** CALCULATE INVESTMENT CREDIT ************************
  47. 470 IF L < 3 THEN IC = 0
  48. 480 IF L >= 3 THEN  IC = C/30
  49. 490 IF L >= 5 THEN  IC = C/15
  50. 500 IF L >= 7 THEN  IC = C/10
  51. 510 GOTO 610
  52. 520 REM ***************** DETERMINE YEAR/DAY/MONTH ****************************
  53. 530 MM = VAL (LEFT$(D$,2))
  54. 540 DD = VAL (MID$(D$,4,2))
  55. 550 YY = VAL (RIGHT$(D$,2))
  56. 560 IF DD >< 15 THEN FY = 13 - MM ELSE FY = 12 - MM
  57. 570 LY = 12 - FY
  58. 580 IF YY < 81 AND A9$ = "Y" OR A9$ = "YES" THEN PRINT:PRINT "ACRS ONLY VALID ";    "FOR PROPRETY PURCHASED AFTER 1980. PLEASE START AGAIN.":GOTO 280
  59. 590 IF YY < 81 OR A9$ = "N" THEN 370 ELSE 1570
  60. 600 REM ******************* FIRST YEAR DEPRECIATION **************************
  61. 610 CY = 1
  62. 620 D(CY) = CV*YR*(FY/12)
  63. 630 CV = CV - D(CY)
  64. 640 REM ******************* MIDDLE YEARS DEPRECIATION *************************
  65. 650 FOR CY = 2 TO L
  66. 660    D(CY) = YR*CV
  67. 670    CV = CV - D(CY)
  68. 680 NEXT
  69. 690 REM ******************* LAST YEAR DEPRECIATION ****************************
  70. 700 IF CY = 0 THEN 730 ELSE CY = L + 1
  71. 710 D(CY) = YR*CV*(LY/12)
  72. 720 CV = CV - D(CY)
  73. 730 REM ******************* OUTPUT TO VIDIO ***********************************
  74. 740 CLS
  75. 750 LOCATE 3,15:PRINT "DEPRECIATION ANALYSIS FOR ";I$
  76. 760 LOCATE 4,15:PRINT "DATE PREPARED: ";DP$
  77. 770 REM
  78. 780 LOCATE 6,1:PRINT "ITEM NAME: ";TAB(31);I$
  79. 790 PRINT "DATE OF PURCHASE: ";TAB(31);D$
  80. 800 PRINT "COST: ";TAB(30);C
  81. 810 PRINT "USEFULL LIFE: ";TAB(30);L
  82. 820 PRINT "DEPRECIATION RATE: ";TAB(30);R$
  83. 830 PRINT
  84. 840 CY = 1
  85. 850 Y = 1899 + YY
  86. 860 INPUT "PRESS ENTER TO CONTINUE",Z$:CLS
  87. 870 PRINT
  88. 880 IF B = 1 THEN 940
  89. 890 PRINT :PRINT " YEAR";TAB(10);"INVESTMENT CREDIT";
  90. 900 IF A = 1 AND ED >< 0 THEN PRINT TAB(35);"EXTRA FIRST YEAR DEPRECIATION"
  91. 910 IF A = 0 THEN PRINT
  92. 920 PRINT TAB(2);TY+CY;TAB(12);IC;
  93. 930 IF A = 1 AND ED >< 0 THEN PRINT TAB(39);ED ELSE PRINT CHR$(10)
  94. 940 PRINT:PRINT " YEAR";TAB(10)"DEPRECIATION":PRINT
  95. 950 IF R1 = 1 THEN 1060
  96. 960 IF F1 = 1 THEN 1000
  97. 970 IF F = 1 THEN 990
  98. 980 IF A = 1 THEN 990 ELSE 1000
  99. 990 IF LY = 0 THEN 1000 ELSE 1010
  100. 1000 LOOP = L:GOTO 1020
  101. 1010 LOOP = L + 1
  102. 1020 FOR CY = 1 TO LOOP
  103. 1030 PRINT TAB(2);TY+CY;TAB(11);:PRINT USING "######.##";D(CY)
  104. 1040 IF CY = 10 OR CY = 20 OR CY = 30 THEN PRINT:PRINT "PLEASE PRESS ENTER TO";      " CONTINUE";:INPUT " ",Z$ ELSE 1070
  105. 1050 CLS:R1 = 1:PRINT :GOTO 940
  106. 1060 R1 = 0
  107. 1070 NEXT
  108. 1080 IF CV <= 0 THEN 1120
  109. 1090 PRINT
  110. 1100 IF A = 1 THEN 1110 ELSE 1120
  111. 1110 PRINT "SALVAGE VALUE AT END OF";CY +Y-1;" IS ";CV
  112. 1120 REM ******************* PRINTOUT ROUTINE **********************************
  113. 1130 PRINT:PRINT:INPUT "DO YOU WANT A PRINTOUT";Z$
  114. 1140 IF LEFT$(Z$,1) = "Y" THEN 1150 ELSE 10
  115. 1150 POKE 16424,65:POKE 16425,0:LPRINT :LPRINT :LPRINT
  116. 1160 T = 40 - (12+((LEN(I$))/2))
  117. 1170 LPRINT TAB(T);"DEPRECIATION ANALYSIS FOR ";I$
  118. 1180 LPRINT :LPRINT TAB(32);"DATE PREPARED: ";DP$
  119. 1190 LPRINT :LPRINT TAB(6);"INPUT DATA"
  120. 1200 LPRINT TAB(6);"----------"
  121. 1210 LPRINT :LPRINT TAB(6);"DATE OF PURCHASE: ";TAB(32);D$
  122. 1220 LPRINT TAB(6);"COST OF ITEM: ";TAB(32);"$";C
  123. 1230 LPRINT TAB(6);"USEFULL LIFE: ";TAB(32);L;"YEARS"
  124. 1240 LPRINT TAB(6);"DEPRECIATION RATE: ";TAB(31);R$
  125. 1250 LPRINT
  126. 1260 LPRINT TAB(6);"DEPRECIATION CALCULATIONS"
  127. 1270 LPRINT TAB(6);"-------------------------"
  128. 1280 LPRINT
  129. 1290 Y = 1899+YY
  130. 1300 IF B = 1 THEN 1410
  131. 1310 IF A = 1 THEN LPRINT TAB(6);" YEAR";TAB(16);"INVESTMENT CREDIT";
  132. 1320 IF A = 1 AND ED >< 0 THEN LPRINT TAB(37);"EXTRA FIRST YEAR DEPRECIATION"
  133. 1330 IF F = 1 THEN LPRINT TAB(6);" YEAR";TAB(16);"INVESTMENT CREDIT"
  134. 1340 IF A = 1 THEN LPRINT TAB(6);" ----";TAB(16);"-----------------";
  135. 1350 IF A = 1 AND ED >< 0 THEN LPRINT TAB(37);"-----------------------------"
  136. 1360 IF F = 1 THEN LPRINT TAB(6);" ----";TAB(16);"-----------------"
  137. 1370 CY = 1
  138. 1380 IF A = 1 THEN LPRINT TAB(6);Y+CY;:LPRINT TAB(16)USING"$$######.##";IC;
  139. 1390 IF A = 1 AND ED >< 0 THEN LPRINT TAB(37)USING "$$######.##";ED
  140. 1400 IF F = 1 THEN LPRINT TAB(6);Y+CY;:LPRINT TAB(16)USING "$$######.##";IC
  141. 1410 LPRINT:LPRINT TAB(6);" YEAR";TAB(16);"DEPRECIATION"
  142. 1420 LPRINT TAB(6);" ----";TAB(16);"------------"
  143. 1430 IF F = 1 THEN 1470
  144. 1440 IF F = 1 THEN 1480
  145. 1450 IF A = 1 THEN 1460 ELSE 1470
  146. 1460 IF LY = 0 THEN 1470 ELSE 1480
  147. 1470 LOOP = L:GOTO 1490
  148. 1480 LOOP = L+1
  149. 1490 FOR CY = 1 TO LOOP
  150. 1500 LPRINT TAB(6);Y+CY;:LPRINT TAB(16)USING "$$######.##";D(CY)
  151. 1510 NEXT CY
  152. 1520 IF CV <= 0 THEN 1540
  153. 1530 LPRINT :LPRINT TAB(6);"SALVAGE VALUE AT END OF";CY+Y-1; " IS ";:LPRINT          USING"$$######.##";CV
  154. 1540 POKE 14312,12
  155. 1550 INPUT "DO YOU WANT ANOTHER PRINTOUT ";Z$
  156. 1560 IF Z$ = "Y" THEN 1120 ELSE 10
  157. 1570 REM ****************** DETERMINE YEAR/TYPE DEPRECIATION ******************
  158. 1580 CLS:PRINT:PRINT "PLEASE SELECT TYPE OF DEDUCTION/DEPRECIATION THAT YOU ";       "WANT":PRINT:PRINT
  159. 1590 PRINT TAB(10);"1 MAXIMUM SHORT TERM DEDUCTIONS/DEPRECIATION"
  160. 1600 PRINT
  161. 1610 PRINT TAB(10);"2 LONG TERM DEPRECIATION"
  162. 1620 PRINT:PRINT
  163. 1630 INPUT "PLEASE ENTER THE NUMBER OF YOUR SELECTION: ",Z7
  164. 1640 IF YY = 81 THEN 1690
  165. 1650 IF YY = 82 OR YY = 83 THEN 1720
  166. 1660 IF YY = 84 OR YY = 85 THEN 1820
  167. 1670 IF YY > 85 THEN 1930
  168. 1680 REM ********************* 1981 DEPRECIATION ******************************
  169. 1690 ED = 0:C1 = C
  170. 1700 IF Z7 = 1 THEN 2170 ELSE 2580
  171. 1710 ************************* 1982/83#EPRECIATION ***************************
  172. 1720 ED = 0:C1 = 0
  173. 1730 IF Z7 = 1 THEN 1740 ELSE 2580
  174. 1740 IF C > 5000 THEN D(1) = 5000 ELSE 1780
  175. 1750 IF C > 5000 THEN C1 = C
  176. 1760 IF C > 5000 THEN C = C - 5000
  177. 1770 GOTO 2170
  178. 1780 R$ = " 100% WRITE OFF"
  179. 1790 IF C < 5001 THEN D(1) = C
  180. 1800 B = 1
  181. 1810 GOTO 730
  182. 1820 REM ********************* 1984/85 DEPRECIATION ***************************
  183. 1830 ED = 0:C1 = C
  184. 1840 IF Z7 = 1 THEN 1850 ELSE 2580
  185. 1850 IF C > 7500 THEN D(1) = 7500 ELSE 1890
  186. 1860 IF C > 7500 THEN C1 = C
  187. 1870 IF C > 7500 THEN C = C - 7500
  188. 1880 B = 1:GOTO 2170
  189. 1890 IF C < 7501 THEN  D(1) = C ELSE 2170
  190. 1900 R$ = " 100$ WRITE OFF"
  191. 1910 B = 1
  192. 1920 GOTO 730
  193. 1930 REM ********************** 1986 AND BEYOND DEPRECIATION ******************
  194. 1940 ED = 0:C1 = C
  195. 1950 IF Z7 = 1 THEN 1960 ELSE 2580
  196. 1960 IF C > 10000 THEN D(1) = 10000 ELSE 2000
  197. 1970 IF C > 10000 THEN C1 = C
  198. 1980 IF C > 10000 THEN C = C - 10000
  199. 1990 B = 1:GOTO 2170
  200. 2000 IF C < 10001 THEN D1 = C ELSE 2170
  201. 2010 R$ = " 100% WRITE OFF"
  202. 2020 B = 1
  203. 2030 GOTO 730
  204. 2040 REM ********************** 5 YEAR ASSET COST RECOVERY SYSTEM *************
  205. 2050 CY = 1:F1 = 1
  206. 2060 D(CY) = D(1) + C*.15
  207. 2070 CY = 2
  208. 2080 D(CY) = .22*C
  209. 2090 FOR CY = 3 TO 5
  210. 2100 D(CY) = .21*C
  211. 2110 NEXT CY
  212. 2120 CV = 0
  213. 2130 IC = .1*C
  214. 2140 F = 1:C = C1
  215. 2150 R$ = " ASSET RECOVERY SYSTEM"
  216. 2160 GOTO 730
  217. 2170 REM ******************** ACCELERATED USEFULL LIFE SELECTION **************
  218. 2180 CLS:PRINT :PRINT "PLEASE SELECT TYPE OF LIFE/USE FROM THE FOLLOWING LIST"
  219. 2190 PRINT :PRINT
  220. 2200 PRINT TAB(10);"1) 3 YEAR CLASS PROPERTY (AUTO'S,LIGHT TRUCKS,MACHINERY,";       "R&D EQUIPMENT)"
  221. 2210 PRINT
  222. 2220 PRINT TAB(10);"2) 5 YEAR CLASS PROPERTY (COMPUTERS, MOST OFFICE FURNITURE,"     ;" HEAVY DUTY",TAB(19);"TRUCKS & MACHINERY,AGRICULTURAL STRUCTURES)"
  223. 2230 PRINT
  224. 2240 PRINT TAB(10);"3) 10 YEAR CLASS PROPERTY (PUBLIC UTILITY & RAILROAD ";          "PROPERTY",TAB(19);"AND SOME REAL PROPERTY)"
  225. 2250 PRINT
  226. 2260 PRINT TAB(10);"4) 15 YEAR CLASS PROPERTY (MOSTLY PUBLIC UTILITIES)"
  227. 2270 PRINT
  228. 2280 PRINT TAB(10);"5) 15 YEAR, 175% DEP. RATE FOR REAL PROPERTY"
  229. 2290 PRINT :PRINT
  230. 2300 INPUT "PLEASE ENTER THE NUMBER OF YOUR SELECTION: ",Z
  231. 2310 IF Z = 1 THEN L = 3:GOTO 2490
  232. 2320 IF Z = 2 THEN L = 5:GOTO 2040
  233. 2330 IF Z = 3 THEN L = 10:GOTO 2690
  234. 2340 IF Z = 4 THEN L = 15:GOTO 3130
  235. 2350 IF Z = 5 THEN L = 15:GOTO 2870
  236. 2360 IF Z > 5 THEN 2170
  237. 2370 REM ******************* STRAIGHT LINE DEPRECIATION ***********************
  238. 2380 IC = .1*C:ED = 0
  239. 2390 F = 1
  240. 2400 CY = 1
  241. 2410 D(CY) = C/L*(FY/12)
  242. 2420 FOR CY = 2 TO L
  243. 2430    D(CY) = C/L
  244. 2440 NEXT CY
  245. 2450 CY = L+1
  246. 2460 D(CY) = C/L*(LY/12)
  247. 2470 R$ = " STRAIGHT LINE"
  248. 2480 GOTO 730
  249. 2490 REM ****************** 3 YEAR ACRS ***************************************
  250. 2500 F1 = 1
  251. 2510 D(1) = D(1) + .25*C
  252. 2520 D(2) = .38*C
  253. 2530 D(3) = .37*C
  254. 2540 CV = 0:IC = .06*C:F = 1:R$ = " ASSET COST RECOVERY SYSTEM"
  255. 2550 C = C1
  256. 2560 GOTO 730
  257. 2570 END
  258. 2580 REM ************ LONG TERM USEFUL LIFE SELECTION *************************
  259. 2590 CLS:PRINT:PRINT "PLEASE SELECT TYPE OF USEFULL LIFE FROM THE FOLLOWING ";       "LIST"
  260. 2600 PRINT TAB(10);"1 LONG TERM - 12 YEARS"
  261. 2610 PRINT TAB(10);"2 LONG TERM - 25 YEARS"
  262. 2620 PRINT "PLEASE ENTER NUMBER OF YOUR SELECTION"
  263. 2630 INPUT Z
  264. 2640 IF Z = 1 THEN L = 12:GOTO 2370
  265. 2650 IF Z = 2 THEN L = 25:GOTO 2370
  266. 2660 IF Z > 2 THEN 2580
  267. 2670 GOTO 2580
  268. 2680 REM ****************** 10 YEAR ACRS **************************************
  269. 2690 F1 = 1:CY = 1
  270. 2700 D(CY) = D(1) + .08*C
  271. 2710 CY = 2
  272. 2720 D(CY) = .14*C
  273. 2730 CY = 3
  274. 2740 D(CY) = .12*C
  275. 2750 FOR CY = 4 TO 6
  276. 2760    D(CY) = 9.999999E-02*C
  277. 2770 NEXT
  278. 2780 FOR CY = 7 TO 10
  279. 2790    D(CY) = 8.999999E-02*C
  280. 2800 NEXT
  281. 2810 CV = C
  282. 2820 IC = C/10
  283. 2830 F = 1:C = C1
  284. 2840 R$ = "ASSET RECOVERY SYSYEM"
  285. 2850 GOTO 730
  286. 2860 REM ********************* 15 YEAR, 175% REAL PROPERTY *******************
  287. 2870 FY = 13 - MM
  288. 2880 LY = 12 - FY
  289. 2890 R$ = " 175% ACRS FOR REAL PROPERTY"
  290. 2900 A = 1:ED = 0
  291. 2910 CV = 0
  292. 2920 C = C1:IC = 0
  293. 2930 RESTORE
  294. 2940 FOR J = 1 TO MM
  295. 2950    FOR I = 1 TO 16:READ D(I):NEXT I
  296. 2960 NEXT J
  297. 2970 FOR I = 1 TO 16
  298. 2980    D(I) = C*D(I)/100
  299. 2990 NEXT I
  300. 3000 GOTO 700
  301. 3010 DATA 12,10,9,8,7,6,6,6,6,5,5,5,5,5,5,0
  302. 3020 DATA 11,10,9,8,7,6,6,6,6,6,5,5,5,5,5,0
  303. 3030 DATA 10,11,9,8,7,6,6,6,6,5,5,5,5,5,5,1
  304. 3040 DATA  9,11,9,8,7,6,6,6,6,6,5,5,5,5,5,1
  305. 3050 DATA 8,11,10,8,7,7,6,6,5,5,5,5,5,5,5,2
  306. 3060 DATA 7,11,10,8,7,7,6,6,6,5,5,5,5,5,5,2
  307. 3070 DATA 6,11,10,9,8,7,6,5,5,5,5,5,5,5,5,3
  308. 3080 DATA 5,11,10,9,8,7,6,6,5,5,5,5,5,5,5,3
  309. 3090 DATA 4,11,10,9,8,7,6,6,5,5,5,5,5,5,5,4
  310. 3100 DATA 3,11,10,9,8,7,6,6,6,5,5,5,5,5,5,4
  311. 3110 DATA 2,11,10,9,8,7,6,6,6,6,5,5,5,5,5,4
  312. 3120 DATA 1,12,10,9,8,7,6,6,6,5,5,5,5,5,5,5
  313. 3130 REM *********************** 15 YEAR ACRS *********************************
  314. 3140 CY = 1
  315. 3150 F1 = 1
  316. 3160 D(CY) = D(1) + .05*C
  317. 3170 CY = 2
  318. 3180 D(CY) = 9.999999E-02*C
  319. 3190 CY = 3
  320. 3200 D(CY) = 8.999999E-02*C
  321. 3210 CY = 4
  322. 3220 D(CY) = .08*C
  323. 3230 FOR CY = 5 TO 6
  324. 3240    D(CY) = .07*C
  325. 3250 NEXT
  326. 3260 FOR CY = 7 TO 15
  327. 3270    D(CY) = .06*C
  328. 3280 NEXT
  329. 3290 CV = 0
  330. 3300 IC = .1*C
  331. 3310 F = 1:C = C1
  332. 3320 R$ = "ASSET RECOVERY SYSTEM"
  333. 3330 GOTO 730
  334.    D(CY) = .06*C
  335. 3280 NEXT
  336. 3290 CV = 0
  337. 3300 IC = .1*C
  338. 3310 F = 1:C = C1
  339. 3320 R$ = "ASSET RECOV