home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / math.ark / BLAKHOLE.BAS < prev    next >
BASIC Source File  |  1986-12-20  |  3KB  |  66 lines

  1. 10 REM THIS IS PROGRAM BLAKHOLE.BAS, A PROGRAM THAT ASSESSES
  2. 20 REM THE PROPERTIES OF NEWTONIAN BLACKHOLES
  3. 30 REM YOU ARE REQUIRED TO INPUT ONE OF THE PROPERTIES:
  4. 40 REM MASS, RADIUS OR DENSITY; THE PROGRAM WILL RETURN THE OTHERS.
  5. 50 REM THIS PROGRAM WAS WRITTEN BY MIKE FINERTY, 5 NOVEMBER 1984
  6. 60 REM *************************************************************
  7. 70 DIM A$(4)
  8. 80 LET L = 2.3052585#
  9. 90 LET K = 3.22E+27
  10. 100 PRINT "PROGRAM RETURNS THE CRITICAL VALUES OF R, D & M, GIVEN ONE OF THEM
  11. 110 PRINT "PLEASE SELECT ONE:"
  12. 120 PRINT
  13. 130 PRINT "R ..... RADIUS IN CENTIMETERS"
  14. 140 PRINT
  15. 150 PRINT "D ..... DENSITY IN GRAMS/CUBIC CENTIMETER"
  16. 160 PRINT
  17. 170 PRINT "M ..... MASS IN GRAMS"
  18. 180 PRINT
  19. 190 PRINT "MLOG .. LOGARITHM OF MASS IN GRAMS"
  20. 200 PRINT
  21. 210 INPUT "SELECT ONE HERE:";A$
  22. 220 INPUT "WHAT VALUE FOR THIS VARIABLE?";QUANT
  23. 230 IF ABS(LOG(QUANT)/L)>34 THEN PRINT "OUT OF RANGE OF MBASIC"
  24. 240 IF ABS(LOG(QUANT)/L)>34 THEN GOTO 600
  25. 250 IF A$ = "R" THEN GOTO 300
  26. 260 IF A$ = "D" THEN GOTO 370
  27. 270 IF A$ = "M" THEN GOTO 450
  28. 280 IF A$ = "MLOG" THEN GOTO 530
  29. 290 REM GIVEN RADIUS WE CALCULATE THE FOLLOWING:
  30. 300 DLOG = LOG(K)/L - 2*LOG(QUANT)/L
  31. 310 MLOG = .622089 + LOG(K)/L + LOG(QUANT)/L
  32. 320 SOLS = MLOG - 33.2989
  33. 330 PRINT "DENSITY =";10^(DLOG - INT(DLOG));"TEN";INT(DLOG);" GRAMS/CC"
  34. 340 PRINT "MASS =";10^(MLOG-INT(MLOG));"TEN";INT(MLOG);" GRAMS"
  35. 350 PRINT "SOLAR MASSES =";10^(SOLS - INT(SOLS));"TEN";INT(SOLS);"SOLS"
  36. 360 GOTO 600
  37. 370 REM GIVEN DENSITY WE CALCULATE THE FOLLOWING:
  38. 380 RLOG = .5*(LOG(K)/L-LOG(QUANT)/L)
  39. 390 MLOG = .622089 + .5*(3*LOG(K)/L-LOG(QUANT)/L)
  40. 400 SOLS = MLOG - 33.2989
  41. 410 PRINT "RADIUS = ";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);"CENTIMETERS"
  42. 420 PRINT "MASS = ";10^(MLOG - INT(MLOG));"TEN";INT(MLOG);"GRAMS"
  43. 430 PRINT "SOLAR MASSES =";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);"SOLS"
  44. 440 GOTO 600
  45. 450 REM GIVEN MASS IN GRAMS WE CALCULATE THE FOLLOWING:
  46. 460 SOLS = LOG(QUANT)/L - 33.2989
  47. 470 DLOG = 1.24418 + 3*LOG(K)/L - 2*LOG(QUANT)/L
  48. 480 RLOG = -.622089 + LOG(QUANT)/L - LOG(K)/L
  49. 490 PRINT "SOLAR MASSES = "10^(SOLS-INT(SOLS));"TEN";INT(SOLS);"SOLS"
  50. 500 PRINT "DENSITY = "; 10^(DLOG-INT(DLOG));"TEN";INT(DLOG);"GM/CC"
  51. 510 PRINT "RADUIS =";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);"CM"
  52. 520 GOTO 600
  53. 530 REM GIVEN COMMON LOG (BASE 10) OF MASS, WE CALCULATE:
  54. 540 SOLS = QUANT - 33.2989
  55. 550 DLOG = 1.24418 + 3*LOG(K)/L - 2*QUANT
  56. 560 RLOG = -.622089 + QUANT - LOG(K)/L
  57. 570 PRINT "SOLAR MASSES = ";10^(SOLS-INT(SOLS));"TEN";INT(SOLS);"SOLS"
  58. 580 PRINT "DENSITY = ";10^(DLOG-INT(DLOG));"TEN";INT(DLOG);"GM/CC"
  59. 590 PRINT "RADIUS = ";10^(RLOG-INT(RLOG));"TEN";INT(RLOG);"CM"
  60. 600 PRINT "--ooO0Ooo--"
  61. 610 PRINT "DO YOU WANT ANOTHER OBJECT? Y/N?"
  62. 620 INPUT ANS$
  63. 630 IF ANS$ = "Y" OR ANS$="y" THEN GOTO 80
  64. 640 END
  65. ooO0Ooo--"
  66. 610 PRINT "