home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dba1186.zip / LA_PRD.PRG < prev    next >
Text File  |  1986-10-06  |  3KB  |  99 lines

  1. * -- PROGRAM NAME: .......... LA_PRD.PRG
  2. * -- PROGRAM TITLE: ......... Loan amortization, Number or Periods
  3. * -- AUTHOR: ................ Venkat Penugonde
  4. *                             Irvine Micro Arts, Irvine, CA
  5.  
  6. * -- SYSTEM ................  dBASE III or III +
  7.  
  8. * -- DATE FIRST CREATED .............. 08/21/86
  9. * -- DATE MOST RECENTLY MODIFIED .....
  10. *
  11. *  This program calculates the present value or principal of a laon
  12. *  amortized over a given period.
  13. *
  14. *  Inputs required .........  1) Principal Amount.
  15. *                             2) Equal Periodic Payment Amount.
  16. *                             3) Annual Interest Rate.
  17. *                             4) Number of Payment Periods per Year.
  18. *
  19. * Outputs Generated .......   1) Present Value or Principal.
  20. *
  21. CLEAR
  22.  
  23. pok = 'N'
  24. DO WHILE .t.
  25.   CLEAR
  26.   principal = 0.00
  27.   payment   = 0.00
  28.   ann_rate  = 0.000
  29.   y_period  = 0
  30.   *
  31.   @   2, 24   SAY  '  * -- LOAN AMORTIZATION -- *   '
  32.   @   3, 24   SAY  'Computation of Number of Periods'
  33.   @   6, 11   SAY  'Enter Principal [0 to exit] ...... ......... $'
  34.   @   6, 58   GET  principal PICTURE '99,999,999.99'
  35.   READ
  36.   IF principal <= 0
  37.     EXIT
  38.   ENDIF
  39.   @   7, 11   SAY  'Enter periodic payment  ..................... '
  40.   @   7, 58   GET  payment   PICTURE '99,999,999.99'
  41.   @   8, 11   SAY  'Enter annual interest rate [%] ............. '
  42.   @   8, 66   GET  ann_rate  PICTURE '99.999'
  43.   @   9, 11   SAY  'Enter Number of Payment Periods/Year ........ '
  44.   @   9, 66   GET  y_period   PICTURE '99'
  45.   READ
  46.  
  47.   IF payment <= 0 .OR. ann_rate <= 0 .OR. y_period  <= 0
  48.     LOOP
  49.   ENDIF
  50.  
  51.   * -- Calucualte interest rate per period
  52.   int_prd =  ann_rate/(y_period * 100)
  53.  
  54.   * -- Calculate number of periods
  55.   numerator    =   LOG(1 - (int_prd*principal/payment))
  56.   denomanator  =   LOG(1 + int_prd)
  57.   t_period     =   - numerator/denomanator
  58.  
  59.   pok = 'Y'
  60.   @  12, 11   SAY  'Output to Printer? [Y/N] ' GET pok  PICTURE '!'
  61.   READ
  62.   IF pok = 'Y'
  63.     ready = ' '
  64.     @  13, 11  SAY 'Turn printer on & hit any key to continue '  ;
  65.     GET  ready
  66.     READ
  67.     SET PRINT ON
  68.   ENDIF
  69.  
  70.   CLEAR
  71.   ?
  72.   ?
  73.   ? SPACE(24) + '  * -- LOAN AMORTIZATION -- *   '
  74.   ? SPACE(24) + 'Computation of Number of Periods'
  75.   ?
  76.   ? SPACE(19) + 'PRINCIPAL                 =  ' + STR(principal,13,2)
  77.   ? SPACE(19) + 'PAYMENT/PERIOD            =  ' + STR(payment,13,2)
  78.   ? SPACE(19) + 'ANNUAL INTEREST RATE [%]  =  ' ;
  79.    + SPACE(8) +STR(ann_rate,6,3)
  80.   ? SPACE(19) + 'NUMBER OF PERIODS/YEAR    =  ' ;
  81.   + SPACE(8)+STR(y_period,2)
  82.   ?
  83.   ? SPACE(19) + 'NUMBER OF PERIODS         =  ' ;
  84.    + SPACE(7)+STR(t_period,3)
  85.  
  86.   ?
  87.   ready = ' '
  88.   WAIT  'Press Space Bar To Continue ................. ' TO ready
  89.   IF pok = 'Y'
  90.    SET PRINT OFF
  91.   ENDIF
  92. ENDDO WHILE .t.
  93. IF pok = 'Y'
  94.  SET PRINT OFF
  95. ENDIF
  96. RETURN
  97. * -- EOF LA_PRVAL
  98.  
  99.