home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / compound.zip / PRESENT.PRG < prev    next >
Text File  |  1980-01-01  |  2KB  |  65 lines

  1. *  PROGRAM  --- PRESENT.PRG
  2. *               COMPOUND INTEREST: PRINCIPAL OR PRESENT VALUE
  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. *        ANNRATE  = NOMINAL ANNUAL INTEREST RATE IN %
  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,ANNRATE
  23. STORE 0 TO YPERIOD,TPERIOD
  24. @ 2,30  SAY 'COMPOUND INTEREST'
  25. @ 3,30  SAY 'PRINCIPAL REQUIRED'
  26. @ 5,17  SAY 'FUTURE VALUE  [enter zero to exit]  :'
  27. @ 7,17  SAY 'ANNUAL INTEREST RATE [ in % ]       :'
  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 FUVALUE
  33.    READ
  34.    IF FUVALUE <= 0
  35.       STORE 'F' TO MCONTINUE
  36.       LOOP
  37.    ENDIF
  38.    @ 7,55 GET ANNRATE
  39.    @ 9,55 GET YPERIOD
  40.    @ 11,55 GET TPERIOD
  41.    READ
  42.  
  43. *  COMPUTE INTEREST RATE PER PERIOD
  44.    STORE ANNRATE/YPERIOD TO INTRATE
  45. *  
  46.  
  47. *  COMPUTE PRINCIPAL
  48.    STORE FUVALUE TO MOLD
  49.    STORE TPERIOD TO N
  50.    DO WHILE N >= 1
  51.       STORE MOLD/(1+INTRATE/100) TO MNEW
  52.       STORE MNEW TO MOLD
  53.       STORE N-1 TO N
  54.    ENDDO
  55. *
  56.  
  57.    STORE FUVALUE - MNEW TO INTAMOUNT
  58.    @ 15,17 SAY 'PRINCIPAL                         ' + STR(MNEW,10,2)
  59.    @ 17,17 SAY 'AMOUNT PAID AS INTEREST           ' + STR(INTAMOUNT,10,2)
  60. ENDDO
  61. RETURN
  62.  
  63.  
  64.  
  65.