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.
 
 
 
 
 
 

55 lines
2.5 KiB

  1. 1 REM EXPVAL
  2. 10 CLS:PRINT TAB(10); "EXPECTED VALUE ANALYSIS":PRINT
  3. 20 PRINT"THERE ARE MANY SITUATIONS FOR WHICH THE FINAL RESULT IS
  4. 30 PRINT"A MONETARY PAYOFF BUT FOR WHICH THE AMOUNT OF THE PAYOFF
  5. 35 PRINT"IS UNCERTAIN. IF WE CAN SOMEHOW MAKE A LIST OF THE POSSIBLE
  6. 40 PRINT"PAYOFFS AND THEIR RELATIVE LIKELIHOODS OF OCCURRENCE THEN
  7. 45 PRINT"THE CONCEPT OF EXPECTED VALUE MAY BE USED TO COMPUTE AN
  8. 50 PRINT"'AVERAGE' PAYOFF. THE PRESENT PROGRAM COMPUTES THE EXPECTED
  9. 55 PRINT"VALUE OR AVERAGE PAYOFF OF A SITUATION AS THE ABOVE.
  10. 60 PRINT"INPUT INCLUDES A PAYOFF AND A PROBABILITY FOR EACH
  11. 65 PRINT"POSSIBLE RESULT. THE PROBABILITY IS A NUMBER BETWEEN 0 AND 1
  12. 70 PRINT"REPRESENTING LIKELIHOOD OF OCCURRENCE. THE PROBABILITIES
  13. 75 PRINT"SHOULD REALLY SUM TO 1 BUT THE PROGRAM WILL NORMALIZE THEM.
  14. 80 PRINT"THUS,E.G. THE USER MUST ONLY NOTE THAT A PROBABILITY OF .4
  15. 85 PRINT"MEANS TWICE AS LIKELY TO OCCUR AS A PROBABILITY O .2 .
  16. 90 INPUT"PRESS ENTER TO BEGIN";Z9$
  17. 100 CLS
  18. 105 CLEAR 1000
  19. 110 DIM A(100),PP(100),PC(100)
  20. 120 PRINT"FOR EACH POSSIBLE PAYOFF INPUT PAYOFF AMOUNT AND PROBAILITY.
  21. 130 PRINT"INPUT 0,0 TO COMPLETE ENTRY AND TO DO COMPUTATION."
  22. 140 PRINT
  23. 150 N=0
  24. 160 PRINT"ENTRY";N+1;:INPUT"ENTER PAYOFF,PROBAILITY (0,0 TO END)";A(N+1),PP(N+1)
  25. 170 IF A(N+1)=0 AND PP(N+1)=0 THEN GOTO 200 ' ALL DONE
  26. 180 N=N+1:P=P+PP(N):REM TOTAL OF PROBABILITIES
  27. 190 GOTO 160
  28. 200 REM END UP COMPUTATION
  29. 210 FOR I=1 TO N:PC(I)=PP(I)/P:NEXT:REM STANDARDIZED PROBABILITIES
  30. 220 EX=0
  31. 230 FOR I=1 TO N:EX=EX+A(I)*PC(I):NEXT:REM EX = EXPECTED VALUE
  32. 240 F$(1)="ENTRY VALUE PROB. PROB. ENTRY
  33. 245 F$(2)=" ENTERED STANDARD EXP VAL"
  34. 250 F$(3)=" ### #######.## #.### #.### ######.## ###.##"
  35. 255 F$(4)=" EXPECTED VALUE EQUALS ######.##"
  36. 260 INPUT"IS LINE PRINTER OUTPUT DESIRED(Y/N)";Z2$
  37. 270 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 260
  38. 300 REM PRINTOUT
  39. 310 CLS:PRINT F$(1):PRINT F$(2)
  40. 320 IF Z2$="Y" THEN LPRINT F$(1):LPRINT F$(2):LPRINT " "
  41. 330 FOR I=1 TO N
  42. 340 PRINT USING F$(3);I,A(I),PP(I),PC(I),A(I)*PC(I)
  43. 350 IF Z2$="Y" THEN LPRINT USING F$(3);I,A(I),PP(I),PC(I),A(I)*PC(I)
  44. 355 IF I/12=INT(I/12) THEN PRINT:GOSUB 10100:PRINT
  45. 360 NEXT I
  46. 390 PRINT:LPRINT" "
  47. 400 PRINT USING F$(4);EX:IF Z2$="Y" THEN LPRINT USING F$(4);EX
  48. 410 PRINT
  49. 420 INPUT"ENTER 1 FOR MORE COMPUTATION,0 TO END";Z9$
  50. 425 CLS
  51. 430 IF Z9$="1" THEN GOTO 105
  52. 440 END
  53. 10000 PRINT"INPUT ERROR! TRY AGAIN!":FORQ=1TO300:NEXT:RETURN
  54. 10100 INPUT"PRESS ENTER TO CONTINUE";Z9$:RETURN