rem This is the Depreciation Calculator %INCLUDE ALL.BAS dim n(2,20),k$(3,20) z5$="b:cg" RESTORE DATA 0,28,31,30,31,30,31,31,30,31,30,31 DATA 24,24,24,17,2,5,14,20,20 DATA 4,10,10,24,24,1,8,2,12,12,12,4,4,12,12,12,12 FOR Z=1 TO 12:READ N(1,1):NEXT Z:N(1,1)=0: REM DUMMY READ TO SET POINTER 1008 DIM H(9),S(9),T(4,9) 1009 PRINT clear$:PRINT 1090 U$="##,###,###" 1095 FOR Z=1 TO 104:A$=A$+"-":NEXT Z 1100 REM GET DATES ROUTINE 1145 Z9=0 1200 REM READ TAB VALUES ROUTINE 3000 REM READ NAME FILE SUBROUTINE 3005 a5=T%(12) FOR Z=3 TO 11:READ N(1,Z):NEXT Z 3085 Z9=1:FOR Z=3 TO 11:K$(0,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z 3090 N$="":FOR Z=1 TO 20:N(1,Z)=0:NEXT Z 3125 REM ROUTINE TO ELIMINATE TRAILING BLANKS l8=1 3130 FOR I=3 TO 6 l9=len(k$(0,i)) 3140 FOR Z=l9 TO l8 STEP -1 3150 IF MID$(K$(0,I),Z,1)<>" " THEN 3170 3160 NEXT Z 3170 Z$="" 3180 FOR Z0=1 TO Z 3190 Z$=Z$+MID$(K$(0,I),Z0,1) 3200 NEXT Z0 3210 K$(0,I)="":K$(0,I)=Z$ 3220 NEXT I 6000 REM CALCULATE DEPRECIATION ON ASSETS 6005 PRINT clear$:PRINT 6010 PRINT "CALCULATING DEPRECIATION FOR THE YEAR" 6015 FOR Z=0 TO 9 6020 H(Z)=0:S(Z)=0:T(0,Z)=0:T(1,Z)=0:T(2,Z)=0:T(3,Z)=0:A(Z)=0 6025 NEXT Z 6030 T1=0:T2=0:T3=0:T4=0:P0=1 6035 X=1 6200 open z5$ recl 256 as 1 6205 z3=(size(z5$)*block.size)/256 6210 FOR Z2=1 TO Z3 6215 read #1,z2;N(2,1),N(2,2),N(2,3),N$ 6220 IF N(2,2)=0 THEN 6230 6225 NEXT Z2 6230 close 1 6235 Z2=Z2-1 6240 PRINT:PRINT "RECORDS TO BE CALCULATED ";Z2 6245 PRINT:INPUT "TO DO CALCULATION, TYPE RETURN.";line temp$ FOR Z=1 TO 17:READ N(1,Z):NEXT Z RESTORE : REM RESTORE POINTER TO READ DAYS PER MONTH 6300 open z5$ recl 256 as 1 6310 FOR Z1=1 TO Z2 6320 read #1,z1;N(2,1),N(2,2),N(2,3),N$,D1,D2,D3,D4,D5,D6,D7,D8,D9 6325 D6=0:D7=0:D8=0 6330 Z9=1:FOR Z=4 TO 8:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z 6400 IF RIGHT$(K$(3,7),2)=RIGHT$(D$(6),2) THEN GOSUB 10000 6420 IF K$(3,8)="SL" THEN GOSUB 20000 6430 IF K$(3,8)="D1" THEN GOSUB 20200 6440 IF K$(3,8)="D2" THEN GOSUB 20400 6450 IF K$(3,8)="D3" THEN GOSUB 20600 6460 IF K$(3,8)="SD" THEN GOSUB 20800 6500 print #1,z1;N(2,1),N(2,2),N(2,3),n$,D1,D2,D3,D4,D5,D6,D7,D8,D9 6600 NEXT Z1 6700 GOTO 30000 10000 REM THIS ROUTINE RETURNS A DECIMAL PART OF THE YEAR BASED 10005 REM ON THE YEAR END DATE AND ASSET ACQUISITION DATE 10010 REM FOR BOTH ORDINARY AND CLADR DEPRECIATION SYSTEMS 10015 REM FOR FIRST YEAR DEPRECIATION PURPOSES 10050 PRINT clear$:PRINT 10060 PRINT "DO YOU WISH TO TAKE THE ADDITIONAL 20% FIRST YEAR" 10070 PRINT "DEPRECIATION ALLOWED FOR THIS ASSET?" 10080 PRINT:INPUT line temp$ 10085 IF left$(temp$,1)="n" OR left$(temp$,1)="N" THEN 10100 10090 IF left$(temp$,1)<>"y" AND left$(temp$,1)<>"Y" THEN 10050 10095 GOSUB 10600 10100 IF LEFT$(K$(3,7),1)="H" THEN Y1=.5:GOTO 10595 10105 IF LEFT$(K$(3,7),3)="M01" THEN Y1=1:GOTO 10595 10110 IF LEFT$(K$(3,7),3)="M02" THEN Y1=0:GOTO 10595 10310 FOR Z=0 TO 11 10315 IF Z=VAL(LEFT$(K$(3,7),2)) THEN 10450 10320 READ X 10330 Y1=Y1+X 10340 NEXT Z 10450 Y1=Y1+VAL(MID$(K$(3,7),4,2)) 10460 RESTORE 10465 Y1=365-Y1 10470 Z9=80 10475 FOR Z=1 TO 25 10480 IF VAL(RIGHT$(K$(3,7),2))=Z9 THEN Y1=Y1+1:Y1=Y1/366:GOTO 10595 10485 Z9=Z9+4 10490 NEXT Z 10580 Y1=Y1/365 10595 RETURN 10600 IF K$(3,6)<>"N" THEN 10695 10610 D2=D2-D1*.2:D3=D3+D1*.2 10695 RETURN 20000 REM THIS ROUTINE CALCULATES STRAIGHT LINE DEPRECIATION 20005 Z9=D2-D9:REM Z9 = DEPRECIABLE BASIS LESS SALVAGE 20010 Z9=Z9/D5:REM Z9 = ADJUSTED BASIS/REMAINING YEARS 20015 D5=D5-1:REM REDUCE REMAINING LIFE FIGURE 20020 IF Y1<>0 THEN Z9=Z9*Y1 20025 IF D2-Z90 THEN Z9=Z9*Y1 20225 IF D2-Z90 THEN Z9=Z9*Y1 20425 IF D2-Z90 THEN Z9=Z9*Y1 20625 IF D2-Z90 THEN Z9=Z9*Y1 20825 IF D2-Z9