home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib22a.dsk / DECEMBER.1984 / MORTGAGE.CALC.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  46 lines

  1. 10  REM  **********************
  2. 20  REM  *   MORTGAGE.CALC    *
  3. 30  REM  *  BY ALAN H. STEIN  *
  4. 40  REM  * COPYRIGHT (C) 1984 *
  5. 50  REM  * BY MICROSPARC, INC *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80  HOME 
  9. 90 Z$ = "MORTGAGE CALCULATOR": GOSUB 400
  10. 100 Z$ = "BY": GOSUB 400
  11. 110 Z$ = "ALAN H. STEIN": GOSUB 400: PRINT "** COPYRIGHT 1984 BY MICROSPARC, INC. **"
  12. 120  VTAB 22:Z$ = "PRESS <RETURN> TO ACCEPT ENTRY": GOSUB 400
  13. 130  VTAB 8: PRINT "WHAT IS THE AMOUNT OF THE LOAN? ";: PRINT P;: HTAB 33: INPUT "";P$: IF P$ = ""  THEN  VTAB 8: HTAB 33: PRINT P: GOTO 150
  14. 140 P =  VAL(P$)
  15. 150  VTAB 10: PRINT "WHAT IS THE INTEREST RATE? ";: PRINT I;: HTAB 28: INPUT "";I$: IF I$ = ""  THEN  VTAB 10: HTAB 28: PRINT I: GOTO 170
  16. 160 I =  VAL(I$)
  17. 170  VTAB 12: PRINT "HOW MANY YEARS TO PAY BACK? ";: PRINT Y;: HTAB 29: INPUT "";Y$: IF Y$ = ""  THEN  VTAB 12: HTAB 29: PRINT Y: GOTO 190
  18. 180 Y =  VAL(Y$)
  19. 190  GOSUB 370
  20. 200  REM  DISPLAY
  21. 210  HOME 
  22. 220  PRINT "AMOUNT:  $";P
  23. 230  PRINT "RATE  :   ";I;"%"
  24. 240  PRINT 
  25. 250  PRINT "TERM"; TAB( 10)"MONTHLY"; TAB( 25)"TOTAL"
  26. 260  PRINT "(YEARS)"; TAB( 10)"PAYMENT"; TAB( 25)"PAYMENTS"
  27. 270  PRINT "-------"; TAB( 10)"-------"; TAB( 25)"--------"
  28. 280  PRINT 
  29. 290  PRINT Y; TAB( 10);:Z = X: GOSUB 430: PRINT  TAB( 25);:Z = X *Y *12: GOSUB 430: PRINT 
  30. 300  PRINT 
  31. 310  VTAB 20
  32. 320 Z$ = "DO YOU WANT TO DO ANOTHER CALCULATION?": GOSUB 400
  33. 330 Z$ = "PRESS Y OR N": GOSUB 400
  34. 340  HTAB 20: GET A$
  35. 350  IF A$ = "Y"  THEN  HOME : GOTO 120
  36. 360  END 
  37. 370  REM  CALCULATE PAYMENT
  38. 380 X = (I/1200) *P *(1 +I/1200) ^(12 *Y)/((1 +I/1200) ^(12 *Y) -1)
  39. 390  RETURN 
  40. 400  REM  CENTER DISPLAY
  41. 410  PRINT  TAB( 20 - INT( LEN(Z$)/2))Z$
  42. 420  RETURN 
  43. 430  REM  PRINT Z IN DOLLAR & CENTS FORMAT
  44. 440 Z$ = "$" + STR$( INT(100 *Z)): IF  LEN(Z$) <3  THEN Z$ = Z$ +"00"
  45. 450  PRINT  LEFT$(Z$, LEN(Z$) -2) +"." + RIGHT$(Z$,2);
  46. 460  RETURN