10 ! DEPRECIATION SIX METHODS ! THIS PROGRAM WRITTEN BY ! RICHARD D'ANGELO & DARRYL JOHNSON ! BENTLEY COLLEGE JAN'73 20 DIM M$(6%)=32%,F(50%),D(50%):M$(1%)="STRAIGHT LINE": M$(2%)="DECLINING BALANCE":M$(3%)="DOUBLE-DECLINING-BALANCE": M$(4%)="SUM-OF-THE-YEAR-DIGITS":M$(5%)="SERVICE-HOURS": M$(6%)="PRODUCT-OUTPUT" 30 M1$(0%)=" SERVICE":M2$(0%)=" HOURS": M1$(1%)=" UNIT":M2$(1%)=" OUTPUT" 40 PRINT:PRINT "DEPRECIATION METHODS AVAILABLE ARE:": PRINT TAB(10);M%;") ";M$(M%) FOR M%=1% TO 6% 50 PRINT:PRINT: INPUT "TYPE IN YOUR METHOD NUMBER (1-6)";M%: IF M%<1% OR M%>6% THEN PRINT:PRINT M%;"IS AN INVALID METHOD": GO TO 50 60 PRINT:INPUT "WHAT IS THE COST OF THE ASSET";P:PRINT: INPUT "WHAT IS THE ESTIMATED LIFE OF THE ASSET IN YEARS";P1: PRINT:IF P1<1 OR P1>50 THEN PRINT: PRINT "THIS PROGRAM HANDLES ONLY FROM 1 TO 50 YEARS":GO TO 60 70 PRINT "WHAT IS THE ESTIMATED SALVAGE VALUE OF THE ASSET";: INPUT P2:IF M%<5% THEN 100 80 PRINT:PRINT "END":PRINT "OF ";M1$(M%-5%):PRINT "YEAR";M2$(M%-5%): PRINT "----";" --------" 90 FOR I%=1% TO P1:PRINT " ";:PRINT " ";IF I%<10%: PRINT I%;:INPUT F(I%):NEXT I% 100 PRINT FOR I%=1% TO 5%: PRINT TAB(11);"ASSET COST ALLOCATION ---";: PRINT M$(M%);" METHOD" 110 PRINT:PRINT " END";TAB(32);"CREDIT TO";TAB(47);"BALANCE OF": PRINT " OF";:PRINT M1$(M%-5%); IF M%>4%: PRINT TAB(19);"DEBIT TO";TAB(32);"ACCUMULATED"; 120 PRINT TAB(47);"ACCUMULATED";TAB(64);"ASSET": PRINT "YEAR";: PRINT M2$(M%-5%); IF M%>4%: PRINT TAB(17);"DEPRECIATION";TAB(32);"DEPRECIATION"; 130 PRINT TAB(47);"DEPRECIATION";TAB(62);"BOOK VALUE": PRINT "---- ";: PRINT "---------"; IF M%>4%: PRINT TAB(17);"------------";TAB(32);"------------"; 140 PRINT TAB(47);"------------";TAB(62);"----------":PRINT 150 ON M% GOSUB 270,280,300,310,330,330 160 U1$=" ##":U$="$$###,###.##":PRINT TAB(60);:PRINT USING U$,P: PRINT " 1";:U2$="##,###,###": IF M%>4% THEN PRINT USING U2$,F(1%); 170 PRINT TAB(17);:PRINT USING U$,D(1%);:PRINT TAB(32);: PRINT USING U$,D(1%);:PRINT TAB(47);: PRINT USING U$,D(1%); 180 U$=" ###,###.##":PRINT TAB(60);:P3=P-D(1%): PRINT USING U$,P3 190 P4,P5=D(1%) 200 FOR I%=2% TO P1:P3=P3-D(I%):PRINT USING U1$,I%;: IF P34% 210 PRINT TAB(17);:PRINT USING U$,D(I%);:PRINT TAB(32);: PRINT USING U$,D(I%);:PRINT TAB(47);: P5=P5+D(I%):P4=P4+D(I%):PRINT USING U$,P4; 220 PRINT TAB(60);:PRINT USING U$,P3:NEXT I% 230 PRINT TAB(4);"---------"; IF M%>4%: PRINT TAB(17);"------------";TAB(32);"------------" 240 IF M%>4% THEN PRINT TAB(3);:PRINT USING U2$,T; 250 U$="$$###,###.##":PRINT TAB(17);:PRINT USING U$,P5;: PRINT TAB(32);:PRINT USING U$,P4 260 PRINT TAB(4);"========="; IF M%>4%: PRINT TAB(17);"============";:PRINT TAB(32);"============": GO TO 340 270 D=INT((P-P2)/P1*100+.5)/100:D(I%)=D FOR I%=1% TO P1:RETURN 280 D=INT((1-(P2/P)^(1/P1))*10E4+.5)/10E4:P3=P 290 FOR I%=1% TO P1: D(I%)=INT(P3*D*100+.5)/100:P3=INT((P3-D(I%))*100+.5)/100: NEXT I%:RETURN 300 D=INT(1/P1*2*10E4+.5)/10E4:P3=P:GOSUB 290:RETURN 310 D=(P1+1)/2*P1:P3=P-P2 320 FOR I=P1 TO 1 STEP -1: D((P1-I)+1%)=INT(P3*I/D*100+.5)/100: NEXT I:RETURN 330 T=T+F(I%) FOR I%=1% TO P1:D=INT((P-P2)/T*10E4+.5)/10E4: D(I%)=INT(F(I%)*D*100+.5)/100 FOR I%=1% TO P1:RETURN 340 END