BBS: Inland Empire Archive Date: 02-25-93 (12:55) Number: 326 From: RICHARD BASH Refer#: NONE To: ALL Recvd: NO Subj: WINDCHIL.BAS - Part I Conf: (2) Quik_Bas
' WINDCHIL.BAS
'
' COMPUTES WINDCHILL EQUIVALENT TEMPERATURE (W.E.T.)
'
' ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
' ³ THIS PUBLIC DOMAIN PROGRAM WAS WRITTEN BY ³
' ³ ³
' ³ RICHARD M. BASH ³
' ³ c/o COMBAT ARMS BBS ³
' ³ P.O. BOX 913 ³
' ³ PORTLAND, OREGON 97207-0913 ³
' ³ VOICE: (503) 223-3160 ³
' ³ ³
' ³ 24 HOUR BULLETIN BOARD IN OPERATION ³
' ³ 300/1200/2400/4800/7200/9600/12000/14400 bps ³
' ³ FIREARMS, MATH, SCIENCE, & LAW FILES³
' ³ BBS PHONE: (503) 221-1777 ³
' ³ ³
' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
'
'
' REVISED ON 02/25/93 TO CORRECT THE INSTALLATION OF
' A NEW MODEM ON THE BBS AND PRESENT TO THE QWIK_BAS
' FIDO ECHO.
'
' ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
' º THIS PROGRAM IS BASED UPON DATA FROM: º
' º PAGE 323 OF WEATHERWISE MAGAZINE, DECEMBER, 1987 º
' º ALL RIGHTS TO THE ORIGINAL DATA DISPLAYED IN º
' º WEATHERWISE MAGAZINE REMAIN WITH THE PUBLISHERS OF º
' º WEATHERWISE. º
' ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
'
' CLEAR ALL VARIABLES, CLEAR SCREEN, TURN KEY OFF,
' SELECT SCREEN 0, AND SET COLOR TO HALF INTENSITY
' CHARACTERS.
'
StartHere:
CLEAR : KEY OFF: SCREEN 0: COLOR 14, 4: CLS
Q1$ = "COMBAT ARMS BBS"
Q2$ = "- WIND CHILL FACTOR CALCULATION -": DEFDBL A-Z
' LET Q1$ EQUAL THE FIRST LINE OF THE HEADING AND Q2$ EQUAL THE
' SECOND LINE OF THE HEADING.
' DETERMINE WHERE ON SCREEN HEADINGS SHOULD GO. Q1 IS THE
' COLUMN POSITION FOR THE FIRST LINE OF THE HEADING AND Q2
' IS THE COLUMN POSITION FOR THE SECOND LINE OF THE HEADING.
Q1 = (80 - LEN(Q1$)) / 2: Q2 = (80 - LEN(Q2$)) / 2
' PUT THE SYSTEM DATE IN A USEABLE FORMAT (MM/DD/YY).
D$ = MID$(DATE$, 1, 2) + "/" + MID$(DATE$, 4, 2) + "/" +
MID$(DATE$, 9, 2)
' DISPLAY HEADINGS AND OVERLAY TO USER
LOCATE 5, 21: PRINT CHR$(201) + STRING$(37, 205) + CHR$(187);
LOCATE 6, 21: PRINT CHR$(186) + STRING$(37, 32) + CHR$(186);
LOCATE 7, 21: PRINT CHR$(186) + STRING$(37, 32) + CHR$(186);
LOCATE 8, 21: PRINT CHR$(186) + STRING$(37, 32) + CHR$(186);
LOCATE 9, 21: PRINT CHR$(186) + STRING$(37, 32) + CHR$(186);
LOCATE 10, 21: PRINT CHR$(186) + STRING$(37, 32) + CHR$(186);
LOCATE 11, 21: PRINT CHR$(200) + STRING$(37, 205) + CHR$(188);
LOCATE 1, Q1: PRINT Q1$: LOCATE 2, Q2: PRINT Q2$
LOCATE 7, 25: PRINT "THERMOMETER READING (øF.) ..."
LOCATE 9, 25: PRINT "WIND VELOCITY (m.p.h.) ..."
' DISPLAY SYSTEM DATE AND TIME
LOCATE 19, 21: PRINT CHR$(218) + STRING$(37, 196) + CHR$(191);
LOCATE 20, 21: PRINT CHR$(179) + STRING$(37, 32) + CHR$(179);
LOCATE 21, 21: PRINT CHR$(179) + STRING$(37, 32) + CHR$(179);
LOCATE 22, 21: PRINT CHR$(192) + STRING$(37, 196) + CHR$(217);
LOCATE 20, 27: PRINT "Today's date is "; : COLOR 15, 4
PRINT D$
COLOR 14, 4
LOCATE 21, 24: PRINT "The system time is "; : COLOR 15, 4
GOSUB TimeConvert: PRINT T7$
COLOR 14, 4: LOCATE 13, 21
PRINT "Enter END at temperature prompt to exit"
' INPUT THE ACTUAL OUTSIDE AIR TEMPERATURE (IN ø FAHRENHEIT).
GetTemp:
COLOR 15, 4: LOCATE 7, 53: INPUT "", TEMP$
' IF USER INPUTS ENDING INFO THEN QUIT
IF TEMP$="E" OR TEMP$="e" OR TEMP$="END" OR TEMP$="end" THEN GOTO
ByeScreen
IF TEMP$ = "" OR VAL(TEMP$) = 0 THEN COLOR 14, 4: LOCATE 7, 25:
PRINT SPACE$(34): LOCATE 7, 25: PRINT "THERMOMETER READING (øF.)
...": GOTO GetTemp
TEMP = VAL(TEMP$): TEMP = INT(TEMP)
IF TEMP < -99 OR TEMP > 40 THEN COLOR 15, 4: LOCATE 13, 1: PRINT
SPACE$(80): LOCATE 13, 19: BEEP: COLOR 15, 4: PRINT "TEMPERATURES
MUST BE BETWEEN +40øF AND -99øF"
IF TEMP < -99 OR TEMP > 40 THEN LOCATE 7, 25: COLOR 14, 4: PRINT
"THERMOMETER READING (øF) ...": GOTO GetTemp
' INPUT THE ACTUAL WIND VELOCITY (IN MILES PER HOUR).
GetWind:
LOCATE 9, 53: COLOR 15, 4: INPUT "", WIND$
IF WIND$ = "" OR VAL(WIND$) = 0 THEN COLOR 14, 4: LOCATE 9, 1:
PRINT SPACE$(80): LOCATE 9, 25: PRINT "WIND VELOCITY (m.p.h.)
...": GOTO GetWind
WIND = VAL(WIND$): WIND = INT(WIND#)
IF WIND < 4 OR WIND > 50 THEN COLOR 15, 4: LOCATE 13, 1: PRINT
SPACE$(80): LOCATE 13, 20: PRINT "ONLY WINDS FROM 5 TO 50 m.p.h.
ARE VALID": BEEP
IF WIND < 4 OR WIND > 50 THEN LOCATE 9, 25: PRINT SPACE$(34):
LOCATE 9, 25: COLOR 14, 4: PRINT "WIND VELOCITY (m.p.h.)
...": GOTO GetWind
' FORMULA FOR DETERMINING WINDCHILL EQUIVALENT TEMPERATURE
' (WET) BASED ON THE WORK OF PAUL SIPLE AND CHARLES PASSEL.
' SEE THE ARTICLE DISCUSSING THIS ON PAGE 323 OF THE DECEMBER,
' 1987 ISSUE OF `WEATHERWISE' MAGAZINE.
WET = 91.4-(.474+(.303*SQR(WIND)) - (.02 * WIND)) * (91.4 - TEMP)
' DISPLAY THE WINDCHILL EQUIVALENT TEMPERATURE
LOCATE 13, 1: PRINT SPACE$(80)
COLOR 14, 4: LOCATE 13, 17
PRINT "THE WINDCHILL EQUIVALENT TEMPERATURE IS "; : COLOR 15, 4
PRINT USING "####."; WET; : PRINT "øF": COLOR 14, 4
-= THIS PROGRAM CONTINUED IN THE NEXT MESSAGE =-
--- WM v2.04/91-0172
* Origin: Combat Arms BBS - Portland, OR - (503) 221-1777 (1:105/68)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET