bas7ex.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
SYD# Function Programming Example
                       Example                 Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
'This example uses the SYD# function to return the depreciation of an
'asset for a specific period using sum-of-years' digits method based
'on the asset's initial cost, salvage value, and useful life.
 
'Note: To run this example you must use a Quick library that includes
'the procedures contained in the date/time/format and financial function
'library files.  The following include files must also be present.
 
'$INCLUDE: 'FINANC.BI'
'$INCLUDE: 'FORMAT.BI'
 
CONST YEARMONTHS = 12
CONST DOLLARFORMAT$ = "$#,###,##0.00"
DEFDBL A-Z
DIM Status  AS INTEGER
 
CLS
PRINT "Assume you have a piece of expensive manufacturing equipment."
INPUT "Enter the original cost of the equipment"; Cost
PRINT
PRINT "Salvage value is the value of the asset"
PRINT "at the end of its useful life."
INPUT "What is the salvage value of the equipment"; SalvageVal
PRINT
INPUT "What is the useful life of the equipment in months"; Life
IF Life < YEARMONTHS THEN
    PRINT
    PRINT "If the life is less than a year, it is not an asset."
    INPUT "Reenter the useful life of the equipment in months"; Life
END IF
 
YearsInLife = Life / YEARMONTHS
 
'Round up to a whole year.
IF YearsInLife <> INT(Life / YEARMONTHS) THEN
    YearsInLife = INT(YearsInLife + 1)
END IF
 
PRINT
PRINT "For what year of the asset's life do you want to calculate ";
INPUT "depreciation "; DeprYear
DO WHILE Depr < YearsInLife AND DeprYear > YearsInLife
    PRINT
    PRINT "The year you enter must be at least 1, and not more than";
    PRINT YearsInLife
    INPUT "Reenter the year"; DeprYear
LOOP
PRINT
 
'Calculate and format the results.
PeriodDepr = SYD#(Cost, SalvageVal, YearsInLife, DeprYear, Status)
 
'Examine Status to determine success of failure of SYD#.
IF Status THEN
    'If unsuccessful, announce a problem.
    PRINT "There was an error in calculating depreciation."
ELSE
    'If successful, calculate, format, and display the results.
    TotalDepr = Cost - SalvageVal
    MonthDepr = PeriodDepr / YEARMONTHS
 
    Cost$ = FormatD$(Cost, DOLLARFORMAT$)
    SalvageVal$ = FormatD$(SalvageVal, DOLLARFORMAT$)
    TotalDepr$ = FormatD$(TotalDepr, DOLLARFORMAT$)
    PeriodDepr$ = FormatD$(PeriodDepr, DOLLARFORMAT$)
    MonthDepr$ = FormatD$(MonthDepr, DOLLARFORMAT$)
 
    PRINT "If the original cost of your equipment is "; Cost$; ","
    PRINT "and the salvage value of that equipment is "; SalvageVal$; ","
    PRINT "the total depreciation at the end of its"; Life; "month"
    PRINT "lifetime is "; TotalDepr$; ". ";
    PRINT "The depreciation in year"; DeprYear
    PRINT "is "; PeriodDepr$; " or "; MonthDepr$; " per month."
END IF