home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 641.HOT_COLD.BAS < prev    next >
BASIC Source File  |  1993-07-09  |  3KB  |  61 lines

  1.  
  2.  
  3. CLS
  4. PRINT:PRINT
  5. color 3,1:cls
  6. START:
  7. PRINT"Weather is always a facinating natural phenomenon. We hear about Heat Index, butrarely have an opportunity to calculate it."
  8. PRINT
  9. PRINT"So, I wrote the following program for calculating the heat index based on the   Fahrenheit temperature and the relative humidity, and wind chill calculations   based on temperature and wind velocity."
  10. PRINT
  11. PRINT"The formula for heat index was obtained from the Federal Weather Forecasting    Office in Atlanta Ga. The accuracy was given as +- 1.3 degrees."
  12. PRINT:PRINT"The formula for wind chill was obtained from a non-copyrighted printed program."
  13.  
  14. PRINT:PRINT:PRINT"                             Harold Grumann, July 1993
  15. LOCATE 18,30:INPUT"PRESS ANY KEY WHEN READY.";A$
  16.  
  17. MENU:
  18.     CLS:LOCATE 12,10
  19.             PRINT"1) HEAT INDEX (for temps over 70 deg and humidity over 30%)"
  20.     LOCATE 13,10: PRINT"2) WIND CHILL (for temps under 45 deg and wind over 3 MPH)"
  21.         PRINT "              (Values outside these ranges are meaningless.)"
  22.     PRINT:PRINT TAB(26) "Select 1 or 2";:input;S
  23.         if S <1 or S >2 then cls: goto menu
  24.  ON S GOTO 1,2
  25.  
  26. 1:
  27. INPUTTING:
  28.     CLS
  29.     LOCATE 10,20
  30.         INPUT"ENTER THE TEMPERATURE (DEG F)";T
  31. IF T<70 THEN COLOR 31:PRINT:PRINT"             ERROR!! YOU MUST ENTER A VALID VALUE.":FOR X = 1 TO 10000:NEXT X:COLOR 3,1:GOTO MENU
  32.     LOCATE 12,20
  33.         INPUT"ENTER THE RELATIVE HUMIDITY (%)";RH
  34. IF RH<30 THEN COLOR 31:PRINT:PRINT"             ERROR!! YOU MUST ENTER A VALID VALUE.":FOR X=1 TO 10000:NEXT X:COLOR 3,1:GOTO MENU
  35.  
  36.  
  37. CALCULATE:
  38.     CLS
  39.         HI = -42.379 + 2.04901523# * T + 10.14333127# * RH - .22475541# * T * RH - 6.83783E-03 * T ^ 2 - 5.581717E-02 * RH ^ 2 + 1.22874E-03 * T ^ 2 * RH + 8.5282E-04 * T * RH ^ 2 - 1.99E-06 * T ^ 2 * RH ^ 2
  40.         'In which T= Fahrenheit temperture and RH= Relative Humidity (%).
  41. DISPLAY:
  42.     CLS:LOCATE 12,1
  43.         PRINT "The HEAT INDEX for";T;: PRINT"Degrees Fahrenheit and";RH;:PRINT "% Relative Humidity is:"
  44.         LOCATE 15,27:PRINT USING"###.##";HI;:PRINT" Degrees Faharenheit.
  45. REDO:
  46.         LOCATE 18,31:INPUT"RUN ANOTHER (Y/N)";ANS$
  47.         IF ANS$="Y" OR ANS$="y" THEN GOTO MENU ELSE CLS:END
  48.  
  49. 2:
  50. WNDCHILL:
  51. T=0:V=0
  52. CLS: LOCATE  14,20:INPUT"TEMPERATURE (DEGREES F)"; T
  53. IF T>45 THEN COLOR 31:PRINT:PRINT"             ERROR!! YOU MUST ENTER A VALID VALUE! ":FOR X=1 TO 10000:NEXT X:COLOR 3,1:GOTO MENU
  54. PRINT:PRINT TAB(20); :INPUT"WIND VELOCITY (MPH()";V
  55. IF V<=3 THEN COLOR 31:PRINT:PRINT"             ERROR!! YOU MUST ENTER A VALID VALUE! ":FOR X=1 TO 10000:NEXT X:COLOR 3,1:GOTO MENU
  56.  
  57. WC=((10.45+(6.686112*SQR(V))-(.447041*V))/22.034*(T-91.4))+91.4
  58. PRINT:PRINT TAB(15); "WIND CHILL = "; USING"##.##";WC;:PRINT " DEGREES FAHRENHEIT."
  59. PRINT:PRINT TAB(15)"WISH TO ENTER ANOTHER (Y/N)";:INPUT ANS$
  60. IF ANS$="Y" OR ANS$="y" THEN GOTO MENU ELSE CLS:END
  61.