home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / library / dbase / compound / interest.prg < prev    next >
Text File  |  1979-12-31  |  2KB  |  67 lines

  1. *  PROGRAM  --- INTEREST.PRG
  2. *               COMPOUND INTEREST: INTEREST RATE
  3. *  AUTHOR:      VENKAT PENUGONDE,  IRVICE MICRO ARTS, IRVINE, CA
  4. *
  5. *  MODIFIED TO RUN WITH  WITH DBASE II
  6.  
  7. * THIS PROGRAM CALCULATES THE PRESENT VALUE AND THE INTEREST AMOUNT
  8. *  PAID IN A COMPOUND INTEREST CALCULATION GIVE THE FOLLOWING:
  9.  
  10. *           PRINCIPAL =  PRESENT VALUE OR PRINCIPAL
  11. *        FUVALUE   =  VALUE AT THE END OF THE TOTAL TIME PERIOD
  12. *        YPERIOD   =  NUMBER OF COMPOUNDIING PERIODS PER YEAR
  13. *        TPERIOD   =  TOTAL NUMBER OF TIME PERIODS
  14.  
  15.  
  16. SET TALK OFF
  17. IF FILE('DBASEOVR.COM')
  18.    ERASE
  19. ELSE
  20.    CLEAR
  21. ENDIF
  22. STORE 0.00 TO FUVALUE,PRINCIPAL
  23. STORE 0 TO YPERIOD,TPERIOD
  24. @ 2,30  SAY 'COMPOUND INTEREST'
  25. @ 3,33  SAY 'INTEREST RATE'
  26. @ 5,17  SAY 'PRINCIPAL     [enter zero to exit]  :'
  27. @ 7,17  SAY 'FUTURE VALUE                        :'
  28. @ 9,17  SAY 'COMPOUNDING PERIODS PER YEAR        :'
  29. @ 11,17 SAY 'NUMBER OF COMPOUNDING PERIODS       :'
  30. STORE 'T' TO MCONTINUE
  31. DO WHILE MCONTINUE = 'T'
  32.    @ 5,55 GET PRINCIPAL
  33.    READ
  34.    IF PRINCIPAL <= 0
  35.       STORE 'F' TO MCONTINUE
  36.       LOOP
  37.    ENDIF
  38.    @ 7,55 GET FUVALUE
  39.    @ 9,55 GET YPERIOD
  40.    @ 11,55 GET TPERIOD
  41.    READ
  42.  
  43. *  COMPUTE INTEREST RATE
  44.    IF FILE('DBASEOVR.COM')
  45.       STORE FUVALUE/PRINCIPAL TO NUMBER
  46.       DO LOG
  47.       STORE (1/TPERIOD) * MLOG TO MVAR1
  48.       STORE MVAR1 TO NUMBER
  49.       DO EXPONENT
  50.       STORE EXPONENT TO MVAR2
  51.    ELSE
  52.       MVAR1 = (1/TPERIOD) * LOG(FUVALUE/PRINCIPAL)
  53.       MVAR2 = EXP(MVAR1)
  54.    ENDIF
  55.  
  56.    STORE (MVAR2 -1) * 100  TO INTRATE
  57.    STORE INTRATE * YPERIOD TO ANNRATE
  58. *  
  59.  
  60.    @ 15,17 SAY 'INTEREST RATE PER PERIOD          ' + STR(INTRATE,10,2)
  61.    @ 17,17 SAY 'ANNUAL INTEREST RATE              ' + STR(ANNRATE,10,2)
  62. ENDDO
  63. RETURN
  64.  
  65.  
  66.  
  67.