ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

43 lines
1.8 KiB

  1. 1 REM NPV
  2. 5 CLEAR 1000
  3. 10 CLS
  4. 20 PRINT TAB(10); "NET PRESENT VALUE OF PROJECT":PRINT
  5. 30 PRINT "MOST INVESTMENT PROJECTS INVOLVE SOME INITIAL COST AND THEN
  6. 35 PRINT "INFLOWS AND OUTFLOWS IN THE FUTURE UNTIL SOME TIME WHEN
  7. 40 PRINT "WHEN THE INVESTMENT IS TERMINATED. BASED UPON THE RISK IN THE
  8. 45 PRINT "ORIGINAL INVESTMENT THE INVESTOR SHOULD HAVE SOME REQUIRED
  9. 50 PRINT "RATE OF RETURN HE/SHE DESIRES TO EARN FROM THE INVESTMENT.
  10. 55 PRINT "IF THE PRESENT VALUE OF THE CASH FLOWS FROM THE PROJECT
  11. 60 PRINT "ARE POSITIVE WHEN USING THE REQUIRED RATE AS THE DISCOUNT RATE
  12. 65 PRINT "THEN THE PROJECT IS A REASONABLE ONE TO INVEST IN.THIS
  13. 70 PRINT "PROGRAM COMPUTES THE PRESENT VALUE OF SUCH A PROJECT. IF THE
  14. 75 PRINT "USER SETS THE INITIAL INVESTMENT EQUAL TO 0 THEN THE PRESENT
  15. 80 PRINT "VALUE EQUALS THE MAXIMUM AMOUNT TO BE PAID INITIALLY FOR THE
  16. 85 PRINT "PROJECT."
  17. 90 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
  18. 100 CLS
  19. 110 DIM A(200)
  20. 115 PRINT "INPUT FOR NEW PROJECT":PRINT
  21. 120 INPUT "INPUT REQUIRED RATE OF RETURN (%) ";R:R=R/100:PRINT
  22. 125 IF R = 0 THEN END
  23. 130 INPUT "INITIAL CASH COST OF PROJECT ";A(0):A(0)=-A(0)
  24. 140 I=1
  25. 150 PRINT "ENTER CASH FLOW FOR PERIOD ";I;" (-.01 TO END)";:INPUT A(I)
  26. 160 IF A(I)=-.01 THEN I=I-1:GOTO 200
  27. 170 I=I+1:GOTO 150
  28. 200 REM COMPUTATION
  29. 205 PRINT
  30. 210 NPV=0
  31. 220 FOR J=0 TO I
  32. 230 NPV=NPV + A(J)/(1+R)[J
  33. 240 NEXT
  34. 260 PRINT "NET PRESENT VALUE AT";100*R;"% INTEREST EQUALS ";:PRINT USING "$$########";NPV
  35. 270 INPUT "DO YOU WANT ANOTHER NPV FOR SAME CASH FLOWS BUT CHANGING INTEREST RATE (Y/N) ";Z9$
  36. 280 IF Z9$<>"Y" AND Z9$<>"N" THEN GOSUB 10000:GOTO 270
  37. 290 PRINT
  38. 300 IF Z9$="N" THEN CLS: GOTO 115
  39. 310 INPUT "ENTER NEW REQUIRED RATE ";R:R=R/100
  40. 320 GOTO 205
  41. 10000 PRINT "INPUT ERROR! TRY AGAIN!":FOR K=1 TO 300:NEXT :RETURN