home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / basic / math.ark / HOLECALC.PRN < prev    next >
Encoding:
Text File  |  1986-12-21  |  4.0 KB  |  83 lines

  1. 0001:00 REM
  2. 0002:00 REM THIS IS PROGRAM HOLECALC.BAS. IT CALCULATES THE PROPERTIES OF
  3. 0003:00 REM A NEWTONIAN BLACK HOLE (MASS DENSITY OR RADIUS) GIVEN ONE OF 
  4. 0004:00 REM THOSE PROPERTIES.***THIS IS VERSION # 2***
  5. 0005:00 REM IT CAN BE SHOWN THAT IF K = 3*C^2/(4*Pi*G) = 3.22 * TEN(27) GM/CC
  6. 0006:00 REM THAT R^2*D = K, WHERE C IS THE VELOCITY OF LIGHT, G IS
  7. 0007:00 REM NEWTON'S GRAVITATIONAL CONSTANT, PI = 3.1415926, R IS THE
  8. 0008:00 REM IS THE CRITICAL RADIUS AND D IS THE CRITICAL DENSITY AT THAT
  9. 0009:00 REM RADIUS.
  10. 0010:00 REM PREVIOUS ESTIMATES WERE BASED ON A MISTAKE BY THE REV MR
  11. 0011:00 REM MICHELL IN PROCEDINGS OF ROYAL ACADEMY (LONDON), WHO ASSUMED
  12. 0012:00 REM THAT IF THE ESCAPE VELOCITY WAS C, BODIES WOULD BE UNABLE TO
  13. 0013:00 REM LEAVE THE BLACK HOLE. IT IS PATENTLY OBVIOUS FROM CELESTIAL 
  14. 0014:00 REM MECHANICS THAT SUBLUMINIAL VELOCITY OBJECTS WOULD BE ABLE TO 
  15. 0015:00 REM ORBIT UNTIL THE ESCAPE VELOCITY REACHED 2^.5 * C, AT WHICH
  16. 0016:00 REM NOT EVEN LIGHT WOULD BE ABLE TO ORBIT.
  17. 0017:00 REM THIS PROGRAM WAS WRITTEN BY MIKE FINERTY, 11/25/84 IN S-BASIC
  18. 0018:00 REM 200 YEARS AFTER MR MICHELL'S MISTAKE. REVISED 4/23/85.
  19. 0019:00 REM *************************************************************
  20. 0020:00 REM
  21. 0021:00 10 VAR K,G,RLOG,DLOG,MLOG,QUANT,SOLS,L = REAL
  22. 0022:00 VAR ANS, RESPONSE = STRING:10 
  23. 0023:00     LET L = 2.302585
  24. 0024:00     LET K = 3.22E+27
  25. 0025:00 REM
  26. 0026:00      PRINT "PROGRAM RETURNS CRITICAL VALUE OF R,D&M IN CGS SYSTEM"
  27. 0027:00      PRINT "PLEASE SELECT INPUT"
  28. 0028:00      PRINT
  29. 0029:00      PRINT "R ....... RADIUS IN CM"
  30. 0030:00      PRINT 
  31. 0031:00      PRINT "D ....... DENISTY IN GRAMS/CC"
  32. 0032:00      PRINT
  33. 0033:00      PRINT "M ....... MASS IN GRAMS"
  34. 0034:00      PRINT
  35. 0035:00      PRINT "MLOG .... LOGARITHM OF MASS IN GRAMS"
  36. 0036:00      PRINT
  37. 0037:00 REM
  38. 0038:00     INPUT "PLEASE INPUT LETTER OF CHOICE"; RESPONSE
  39. 0039:00     INPUT "PLEASE INPUT QUANTITY OF CHOICE"; QUANT
  40. 0040:00     IF ABS(LOG(QUANT)/L) > 34 THEN PRINT "OUT OF RANGE"
  41. 0041:00     IF ABS(LOG(QUANT)/L) > 34 THEN GOTO 20
  42. 0042:00     PRINT RESPONSE;" = ";QUANT  
  43. 0043:00 REM
  44. 0044:00      CASE RESPONSE OF
  45. 0045:00 "R": BEGIN
  46. 0046:01      DLOG =  LOG(K)/L - (2*LOG(QUANT)/L))
  47. 0047:01      MLOG = .6220886 + LOG(K)/L + LOG(QUANT)/L
  48. 0048:01      PRINT "DENSITY=";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  49. 0049:01      PRINT "MASS = ";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
  50. 0050:01      SOLS = MLOG - 33.29885     
  51. 0051:01      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  52. 0052:01      END
  53. 0053:00 "D": BEGIN
  54. 0054:01      RLOG =  0.5*(LOG(K)/L - LOG(QUANT)/L)    
  55. 0055:01      MLOG = .6220886  + 0.5*(3*LOG(K)/L-LOG(QUANT)/L)
  56. 0056:01      SOLS = MLOG - 33.29885
  57. 0057:01      PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  58. 0058:01      PRINT "MASS =";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GMS"
  59. 0059:01      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  60. 0060:01      END
  61. 0061:00 "M": BEGIN
  62. 0062:01      DLOG = 1.244177 + 3*LOG(K)/L -2*LOG(QUANT)/L
  63. 0063:01      RLOG = -.6220886 +LOG(QUANT)/L-LOG(K)/L
  64. 0064:01      SOLS = LOG(QUANT)/L - 33.29885
  65. 0065:01      PRINT "DENSITY = ";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  66. 0066:01      PRINT "RADUIS = ";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  67. 0067:01      PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  68. 0068:01      END
  69. 0069:00 "MLOG": BEGIN
  70. 0070:01         SOLS = QUANT - 33.2989
  71. 0071:01         DLOG = 1.24418 + 3*LOG(K)/L - 2*QUANT
  72. 0072:01         RLOG = -.622089 + QUANT - LOG(K)/L
  73. 0073:01         PRINT "SOLAR MASSES =";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);" SOLS"
  74. 0074:01         PRINT "DENSITY =";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);" GMS/CC"
  75. 0075:01         PRINT "RADIUS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);" CM"
  76. 0076:01         END    
  77. 0077:00 END
  78. 0078:00 20 PRINT "DO YOU WISH TO TRY ANOTHER VARIABLE OR VALUE? Y/N?"
  79. 0079:00 INPUT ANS
  80. 0080:00 IF ANS = "Y" OR ANS = "y" THEN GOTO 10
  81. 0081:00         ****** End of program ******
  82.  
  83.