10 REM Weather Forecaster 20 REM Modified for Amstrad computers by Advantage Computer User Group 30 REM *** July 1986 *** V1.1 *** 40 clrs$=CHR$(27)+"E"+CHR$(27)+"H"+CHR$(12) 50 PRINT CLRS$ 60 DIM S$(10) 70 PRINT"THIS PROGRAM WILL ATTEMPT TO PREDICT TOMORROWS WEATHER IF" 80 PRINT"GIVEN THE WEATHER STATISTICS FROM THE PAST TWO DAYS." 90 PRINT:PRINT"PLEASE USE UPPER CASE ENTRIES - ENGAGE CAPS LOCK" 100 REM 110 PRINT:INPUT "WHAT IS THE SEASON";S$(1) 120 GOSUB 1460 130 GOTO 100 140 PRINT:PRINT"AFTER THE FOLLOWING QUESTION MARKS YOU WILL BE REQUIRED" 150 PRINT"TO INPUT TWO VALUES, ONE FOR YESTERDAY'S READING AND ONE" 160 PRINT"FOR TODAY'S READING." 170 PRINT:PRINT"YOU MUST SEPARATE THESE READINGS WITH A COMMA." 180 PRINT 190 PRINT TAB(5);"TEMPERATURE"; 200 INPUT T1,T2 210 GOSUB 1530 220 GOTO 190 230 PRINT TAB(5);"BAROMETER"; 240 INPUT B1,B2 250 GOSUB 1600 260 GOTO 230 270 PRINT TAB(5);"BAROMETER TENDENCY(1=RISING,2=FALLING,3=STEADY):"; 280 INPUT T3,T4 290 GOSUB 1670 300 GOTO 270 310 PRINT TAB(5);"RELATIVE HUMIDITY"; 320 INPUT H1,H2 330 GOSUB 1740 340 GOTO 310 350 PRINT TAB(5);"CLOUDS(1=STRATUS,2=CUMULUS,3=CIRRUS)"; 360 INPUT C1,C2 370 GOSUB 1810 380 GOTO 350 390 PRINT TAB(5);"CLOUD COVER(PERCENTAGE)"; 400 INPUT C4,C5 410 GOSUB 1880 420 GOTO 390 430 PRINT TAB(5);"WIND DIRECTION (1=NORTH,2=SOUTH,3=EAST,4=WEST)"; 440 INPUT D1,D2 450 GOSUB 1950 460 GOTO 430 470 PRINT TAB(5);"WIND SPEED"; 480 INPUT S2,S3 490 GOSUB 2020 500 GOTO 470 510 REM FORECAST 520 PRINT:INPUT"PRESS ENTER KEY FOR FORECAST ....";Y$ 530 PRINT CLRS$ 540 PRINT"-------------------------------------------------------------------------------" 550 PRINT"THE PRESENT SEASON IS ";S$(1);" AND THE FORECAST FOR TOMORROW IS:- 560 PRINT 570 PRINT"TEMPERATURES:" 580 LET T7=((T1+T2)/2)-30 590 LET T6=T7+10 600 PRINT "LOWS TONIGHT BETWEEN";T7;"AND";T6;"DEGREES" 610 LET T9=((T1+T2)/2)+5 620 LET T8=T9-5 630 PRINT "HIGHS TOMORROW NIGHT BETWEEN";T8;"AND";T9;"DEGREES" 640 LET T0=T7-5 650 PRINT "LOWS TOMORROW NIGHT BETWEEN ";T0;"AND";T7;"DEGREES" 660 LET B4=(B1+B2)/2 670 B0=INT(ABS(B1-B2)) 680 LET T9=(T3+T4)/2 690 LET T9=INT(T9) 700 IF T9=2 THEN 740 710 IF T9=3 THEN 760 720 PRINT"BAROMETER";B4;" AND RISING." 730 GOTO 770 740 PRINT"BAROMETER";B4;" AND FALLING." 750 GOTO 770 760 PRINT"BAROMETER";B4;" AND STEADY." 770 LET H3=((H1+H2)/2)+5 780 LET H4=H3-5 790 PRINT "HUMIDITY BETWEEN ";H4;"AND ";H3;"PERCENT" 800 LET C3=(C1+C2)/2 810 LET C3=INT(C3) 820 LET C9=((C4+C5)/2)+5 830 LET C8=C9-5 840 PRINT"CLOUD COVER BETWEEN";C8;"AND";C9;"PERCENT" 850 IF C3=2 THEN 900 860 IF C3=3 THEN 930 870 PRINT"CLOUD HEIGHT BETWEEN 500 TO 580 FEET." 880 PRINT"MAJOR CLOUD TYPE WILL BE STRATUS." 890 GOTO 950 900 PRINT"CLOUD HEIGHT BETWEEN 1550 TO 1800 FEET." 910 PRINT"MAJOR CLOUD TYPE WILL BE CUMULUS." 920 GOTO 950 930 PRINT"CLOUD HEIGHT BETWEEN 16500 TO 17000 FEET." 940 PRINT"MAJOR CLOUD TYPE WILL BE CIRRUS." 950 LET D5=(D1+D2)/2 960 LET D5=INT(D5) 970 LET S5=((S2+S3)/2)+5 980 LET S6=S5-5 990 IF D5=2 THEN 1040 1000 IF D5=3 THEN 1060 1010 IF D5=4 THEN 1080 1020 PRINT"WIND FROM THE NORTH FROM";S6;"TO";S5;"MPH" 1030 GOTO 1090 1040 PRINT"WIND FROM THE SOUTH FROM";S6;"TO";S5;"MPH" 1050 GOTO 1090 1060 PRINT "WIND FORM THE EAST FROM";S6;"TO";S5;"MPH" 1070 GOTO 1090 1080 PRINT"WIND FROM THE WEST FROM";S6;"TO";S5;"MPH" 1090 PRINT"CHANCE OF PRECIPITATION:" 1100 LET P1=INT((((C5/2)+B2)+C2)/0.5) 1110 IF P1>100 THEN 2120 1120 PRINT "TONIGHT";P1;"%" 1130 LET P2=INT(((C9/2)+B4)+C3) 1140 IF P2>100 THEN 2140 1150 PRINT"TOMORROW";P2;"%" 1160 IF P3>100 THEN 2160 1170 PRINT"TOMORROW NIGHT";P3;"%" 1180 PRINT 1190 IF C2=2 THEN 1300 1200 IF C2=3 THEN 1380 1210 PRINT"SUMMARY OF TOMORROW'S WEATHER FORECAST:-" 1220 PRINT 1230 PRINT"IT SHOULD BE FAIR TOMORROW." 1240 IF S$(1)="SPRING"THEN 1280 1250 IF S$(1)="SUMMER"THEN 1280 1260 PRINT"IT SHOULD BE COOLER TOMORROW WITH NO PRECIPITATION LIKELY." 1270 GOTO 1450 1280 PRINT"IT SHOULD BE WARMER TOMORROW WITH NO PRECIPITATION LIKELY." 1290 GOTO 1450 1300 PRINT"FORECAST FOR TOMORROWS WEATHER." 1310 PRINT 1320 IF S$(1)="SUMMER"THEN 1350 1330 PRINT"IT SHOULD BE FAIR TOMORROW." 1340 GOTO 1240 1350 PRINT"IF THEY ARE HEAVY CLOUDS--BE READY FOR RAIN." 1360 PRINT"IF THE CLOUDS ARE LIGHT--IT WILL BE FAIR." 1370 GOTO 1450 1380 IF S$(1)="FALL" THEN 1450 1390 PRINT 1400 IF S$(1)="SPRING"THEN 1440 1410 IF S$(1)="SUMMER"THEN 1440 1420 PRINT"TOMORROW,EXPECT SNOW TO FALL FOLLOWED BY HIGHER TEMPERATURES." 1430 GOTO 1450 1440 PRINT"TOMORROW,EXPECT RAIN TO FALL FOLLOWED BY HIGHER TEMPERATURES." 1450 GOTO 2090 1460 IF S$(1)="WINTER"THEN 140 1470 IF S$(1)="FALL"THEN 140 1480 IF S$(1)="SPRING"THEN 140 1490 IF S$(1)="SUMMER" THEN 140 1500 PRINT:PRINT "LETS TRY THAT ONE AGAIN (SEASONS:WINTER,SPRING"; 1510 PRINT"FALL,SUMMER)..." 1520 RETURN 1530 IF T1>135 THEN 1580 1540 IF T1<-80 THEN 1580 1550 IF T2>135 THEN 1580 1560 IF T2<-80 THEN 1580 1570 GOTO 230 1580 PRINT:PRINT"LETS TRY THAT ONE AGAIN (NORMALS:80-135)..." 1590 RETURN 1600 IF B1>31.5 THEN 1650 1610 IF B1<28.5 THEN 1650 1620 IF B2>31.5 THEN 1650 1630 IF B2<28.5 THEN 1650 1640 GOTO 270 1650 PRINT:PRINT"LETS TRY THAT ONE AGAIN (NORMALS:28.5-31.5)..." 1660 RETURN 1670 IF T3<1 THEN 1720 1680 IF T3>3 THEN 1720 1690 IF T4<1 THEN 1720 1700 IF T4>3 THEN 1720 1710 GOTO 310 1720 PRINT TAB(5);"LETS TRY THAT ONE AGAIN..." 1730 RETURN 1740 IF H1<0 THEN 1790 1750 IF H1>100 THEN 1790 1760 IF H2<0 THEN 1790 1770 IF H2>100 THEN 1790 1780 GOTO 350 1790 PRINT:PRINT"LETS TRY THAT ONE AGAIN (HUMIDITY:0-100)..." 1800 RETURN 1810 IF C1<1 THEN 1860 1820 IF C1>3 THEN 1860 1830 IF C2<1 THEN 1860 1840 IF C2>3 THEN 1860 1850 GOTO 390 1860 PRINT:PRINT"LETS TRY THAT ONE AGAIN..." 1870 RETURN 1880 IF C4<0 THEN 1930 1890 IF C4>100 THEN 1930 1900 IF C5<0 THEN 1930 1910 IF C5>100 THEN 1930 1920 GOTO 430 1930 PRINT:PRINT"LETS TRY THAT ONE AGAIN (COVER:0-100)..." 1940 RETURN 1950 IF D1<1 THEN 2000 1960 IF D1>4 THEN 2000 1970 IF D2<1 THEN 2000 1980 IF D2>4 THEN 2000 1990 GOTO 470 2000 PRINT:PRINT"LETS TRY THAT ONE AGAIN..." 2010 RETURN 2020 IF S2<0 THEN 2070 2030 IF S2>75 THEN 2070 2040 IF S3<0 THEN 2070 2050 IF S3>75 THEN 2070 2060 GOTO 510 2070 PRINT TAB(5);"LETS TRY THAT ON E AGAIN(NORMAL:0-75)..." 2080 RETURN 2090 GOSUB 2180 2100 PRINT"-------------------------------------------------------------------------------" 2110 INPUT" PRESS ENTER KEY TO END PROGRAM";Y$:PRINT CLRS$:END 2120 LET P1=100 2130 GOTO 1120 2140 LET P2=100 2150 GOTO 1150 2160 LET P3=100 2170 GOTO 1170 2180 IF D2=2 THEN 2340 2190 IF D2=3 THEN 2430 2200 IF D2=1 THEN 2530 2210 IF B2>=30.2 THEN 2290 2220 IF B2>=30.1 THEN 2250 2230 PRINT"IT WILL BE CLEARING AND COLDER TOMORROW." 2240 GOTO 2570 2250 IF T2=3 THEN 2280 2260 PRINT"IT WILL BE FAIR TOMORROW, FOLLOWED BY WINDS AND PRECIPITATION." 2270 GOTO 2570 2280 PRINT"IT WILL BE FAIR TOMORROW, WITH LITTLE TEMPERATURE CHANGE." 2290 IF T2=3 THEN 2320 2300 PRINT"IT WILL BE FAIR TOMORROW WITH SLOWLY RISING TEMPERATURES." 2310 GOTO 2570 2320 PRINT "IT WILL BE CONTINUED FAIR TOMORROW." 2330 GOTO 2570 2340 IF B2<=29.8 THEN 2400 2350 IF B2<=30 THEN 2380 2360 PRINT"IT WILL BE WINDY WITH RAIN IN 12-24 HOURS." 2370 GOTO 2570 2380 PRINT"IT WILL BE CLEARING AND FAIR FOR SEVERAL DAYS FOLLOWING." 2390 GOTO 2570 2400 PRINT"THERE WILL BE A SEVERE STORM IN 24 HOURS FOLLOWED BY "; 2410 PRINT"CLEARING." 2420 GOTO 2570 2430 IF B2<=29.8 THEN 2480 2440 IF B2>= 30.1 THEN 2500 2450 PRINT"IN WINTER, EXPECT SNOW WITH WINDS." 2460 PRINT"IN SUMMER, EXPECT A LONG DRY SPELL." 2470 GOTO 2570 2480 PRINT"THERE WILL BE A NORTHEAST WIND WITH HEAVY PRECIPITATION." 2490 GOTO 2570 2500 PRINT"IN WINTER, EXPECT SNOW IN 24 HOURS." 2510 PRINT"IN SUMMER, EXPECT A DRY SPELL." 2520 GOTO 2570 2530 IF B2<=30 THEN 2560 2540 PRINT"RAIN WILL CONTINUE WITH WINDS FOR 36 HOURS, THEN CLEARING." 2550 GOTO 2570 2560 PRINT "RAIN WILL FALL IN 12 TO 18 HOURS." 2570 RETURN AUD MAG *** 30