5  COM R$[72],G$[72],X$[72]
10  REM**CL1-1**BASIC C.A.I.**GEOGRAPHY**JUNE7, 1972**CHAIN TO CL1-2
15  REM CLIMAT, HP 36760A, 6/74, 10 PROGS: CL1-1,1-2,2-1,2-2,3-1,3-2,4-1,4-2,5-1,5-2
30  DIM Z$[72],S$[72]
40  FILES SCRA
50  PRINT "HI, I AM CALLED MISS TELETYPE - WHAT WOULD YOU LIKE ME TO CALL"
60  PRINT "YOU";
70  INPUT X$
80  PRINT "HELLO, ";X$;"! WELCOME TO THE WORLD OF COMPUTER ASSISTED"
90  PRINT "INSTRUCTION. TOGETHER WE WILL LEARN THE LOGIC OF LOCATING A SET"
100  PRINT "OF CLIMATE DATA ON THE GLOBE AND ALSO LEARN TO IDENTIFY THE"
110  PRINT "APPROPIATE KOPPEN SYMBOLS."
120  PRINT "IN THE FOLLOWING CLIMATE DATA MONTHLY AVERAGE TEMPERATURES"
130  PRINT "AND THE MONTHLY AVERAGE RAINFALL FOR A SPECIFIC STATION ARE"
140  PRINT "GIVEN IN FAHRENHEIT AND INCHES. I WILL ASK A NUMBER OF QUESTIONS"
150  PRINT "ABOUT THE DATA AND YOU WILL PLEASE ANSWER IN YOUR OWN WORDS."
160  PRINT "IF YOU DON'T UNDERSTAND OR NEED HELP - JUST LET ME KNOW."
170  PRINT "YOU ARE LIMITED TO A SINGLE LINE FOR EACH ANSWER!!!!"
180  PRINT '10"             TEMPERATURE THEN RAINFALL BY MONTHS"'10
190  PRINT "  J.,  F.,  M.,  A.,  M.,  J.,  J.,  A.,  S.,  O.,  N.,  D."
200  PRINT '10"  17,  18,  28,  42,  55,  63,  69,  66,  59,  48,  34,  21"
210  PRINT "  2.6, 2.3, 2.6, 2.3, 3.2, 3.4, 3.5, 3.6, 3.1, 3.1, 2.7, 2.6"
220  PRINT '10'10"         YEARLY AVERAGE TEMP. 43.1 DEGREES F."
230  PRINT "         YEARLY RAINFALL TOTAL 35.6 INCHES"'10'10
240  PRINT "STUDY VERY CAREFULLY THE TEMPERATURE RANGE - NOTE THE MONTHS"
250  PRINT "OF MAXIMUM AND OF MINIMUM READINGS. THIS IS A REAL PLACE."
260  PRINT '10"IN WHICH HEMISPHERE IS THE STATION LOCATED";
270  INPUT G$
280  PRINT 
290  J=10
300  GOSUB 2410
310  IF F <> 1 THEN 330
320  GOSUB 1710
330  J=9
340  GOSUB 2410
350  IF F=1 THEN 460
360  J=12
370  GOSUB 2410
380  IF F=1 THEN 420
390  PRINT "THIS IS THE EASIEST OF ALL CLIMATE QUESTIONS.  LOOK AT THE"
400  PRINT "JAN. AND JULY TEMPERATURES. THIS SHOULD CLUE YOU. TRY AGAIN"
410  GOTO 270
420  PRINT "BE SERIOUS, ";X$;". NOTHING IN THE DATA LEADS TO THAT CONCLUSION."
430  PRINT "YOU CAN'T TELL YET BETWEEN EAST-WEST OR LAND-WATER HEMISPHERES."
440  PRINT "TRY AGAIN"
450  GOTO 270
460  PRINT "GOOD - YOU KNEW BECAUSE JAN. IS COLD WHILE JULY IS QUITE WARM"
470  PRINT "NOW TELL ME ABOUT THE RELATIVE LATITUDE WITHIN THE N. HEMISPHERE"
480  INPUT G$
490  PRINT 
500  J=10
510  GOSUB 2410
520  IF F <> 1 THEN 540
530  GOSUB 1710
540  J=2
550  GOSUB 2410
560  IF F=1 THEN 740
570  J=3
580  GOSUB 2410
590  IF F=1 THEN 660
600  J=5
610  GOSUB 2410
620  IF F=1 THEN 700
630  PRINT "WHAT I REALLY WANT TO KNOW IS THIS. IS THE STATION IN THE"
640  PRINT "    POLAR,   MID-LATITUDE  OR EQUATORIAL REGION"
650  GOTO 480
660  PRINT "IN POLAR REGIONS TEMPS. IN THE SUMMER MONTHS DO NOT EXCEED"
670  PRINT "AN AVERAGE OF 50 DEGREES FOR ANY SIGNIFICANT PERIOD. STUDY THE"
680  PRINT "DATA AND TRY AGAIN"
690  GOTO 480
700  PRINT "IN EQUATORIAL REGIONS SUCH LOW TEMPS. COULD ONLY BE FOUND HIGH"
710  PRINT "IN THE MOUNTAINS. AT SUCH LOCATIONS THE TEMP. RANGE (JAN.-"
720  PRINT "JULY) WOULD BE VERY SMALL. TRY AGAIN, ";X$
730  GOTO 480
740  PRINT "VERY GOOD, ";X$;". YOU KNEW BECAUSE OF THE QUITE LARGE TEMP."
750  PRINT "RANGE AND WARM SUMMERS - MARKED SEASONALITY.  WITHIN THIS"
760  PRINT "MID-LATITUDE REGION IS THE STATION CLOSER TO THE POLEWARD OR TO"
770  PRINT "THE EQUATORIAL INFLUENCE";
780  INPUT G$
790  PRINT 
800  J=10
810  GOSUB 2410
820  IF F <> 1 THEN 840
830  GOSUB 1710
840  J=4
850  GOSUB 2410
860  IF F=1 THEN 910
870  PRINT "NOTICE THAT JAN AND DEC TEMPS. ARE VERY COLD AND THAT SUMMERS"
880  PRINT "ARE NOT REALLY HOT. DOES THIS SUGGEST THE POLEWARD OR THE "
890  PRINT "EQUATORIAL MARGIN OF THE REGION";
900  GOTO 780
910  PRINT 
920  PRINT X$;", YOU ARE DOING WELL. YOU KNEW BECAUSE WINTERS ARE COLD AND"
930  PRINT "SUMMERS NOT REALLY HOT.  BY THE WAY, ARE THE TERMS 'SUMMER'"
940  PRINT "AND 'WINTER' CLEAR IN YOUR MIND? PLEASE WRITE A DEFINITION OF"
950  PRINT "THE TERM 'SUMMER'"
960  INPUT G$
970  PRINT 
980  J=10
990  GOSUB 2410
1000  IF F <> 1 THEN 1020
1010  GOSUB 1710
1020  J=6
1030  GOSUB 2410
1040  F1=F
1050  J=7
1060  GOSUB 2410
1070  IF F1+F=2 THEN 1120
1080  J=6
1090  GOSUB 2410
1100  IF F=1 THEN 1140
1110  GOTO 1170
1120  PRINT "EXCELLENT!!   GREAT!!!   "
1130  GOTO 1160
1140  PRINT "YOU HAVE A GOOD IDEA BUT IT IS NOT QUITE COMPLETE"
1150  PRINT "YOU SHOULD ALSO MENTION THE LENGTH OF TIME INVOLVED."
1160  PRINT 
1170  PRINT "A WORKING DEFINITION FOR OUR USE MIGHT BE; 'THAT HALF OF THE"
1180  PRINT "YEAR WHEN THE NOONDAY RAYS OF THE SUN MOST NEARLY APPROACH"
1190  PRINT "THE VERTICAL - OR, MORE ROUGHLY, THE WARMEST HALF OF THE YEAR."
1200  PRINT 
1210  PRINT "IN CHICAGO, ROME AND SHANGHAI THE SUMMER HALF OF THE YEAR "
1220  PRINT "EXTENDS FROM APRIL THROUGH SEPTEMBER."
1230  PRINT 
1240  PRINT "IN BUENOS AIRES, JOHANNESBURG AND MELBOURNE SUMMER HALF OF"
1250  PRINT "THE YEAR EXTENDS";
1260  INPUT G$
1270  PRINT 
1280  J=10
1290  GOSUB 2410
1300  IF F <> 1 THEN 1320
1310  GOSUB 1710
1320  J=8
1330  GOSUB 2410
1340  F1=F
1350  J=11
1360  GOSUB 2410
1370  IF F1+F=2 THEN 1420
1380  PRINT "     SORRY, ";X$;" YOU ARE NOT QUITE RIGHT!"
1390  PRINT "IN THE SOUTHERN HEMISPHERE THE SEASONS ARE THE OPPOSITE OF"
1400  PRINT "OURS. SUMMER EXTENDS FROM OCTOBER THROUGH MARCH."
1410  GOTO 1430
1420  PRINT "PERFECT, ";X$;". I GUESS YOU REALLY DO UNDERSTAND THE TERMS"
1430  CHAIN "$CL1-2"
1440  CHAIN "$CL1-2",1350
1450  PRINT "BUT THE ACTUAL STATION IS ABOUT 120 MILES TO THE WEST."
1460  GOTO 1440
1470  PRINT "NOT REALLY A BAD GUESS AT ALL.  HOWEVER, ";G$
1480  PRINT "IS TO THE SOUTH AND WEST OF OUR STATION.  MOVE TO THE NORTH-"
1490  PRINT "EAST AND TRY AGAIN."
1500  GOTO 1440
1510  PRINT G$" IS SOUTH OF OUR STATION BY ABOUT 150 MILES."
1520  PRINT "FIND A PLACE FURTHER TO THE NORTH."
1530  GOTO 1440
1540  PRINT "GREAT GUESS, THE STATION IS IN NEW HAMPSHIRE - BUT IT IS A"
1550  PRINT "MAJOR COLLEGE TOWN NAMED"
1560  GOTO 1600
1570  PRINT "GOOD GUESS - IF YOU NOW FIND THE GEOGRAPHICAL CENTER OF THE"
1580  PRINT "JOINT AREA OF N. H. AND VT. (JUST EAST OF THE CONN. RIVER)"
1590  PRINT "YOU WILL FIND THE CORRECT TOWN."
1600  INPUT G$
1610  PRINT 
1620  J=18
1630  GOSUB 2410
1640  IF F=1 THEN 1670
1650  PRINT "CLOSE BUT NO CIGAR.  TRY AGAIN."
1660  GOTO 1600
1670  PRINT "PERFECT - THAT WASN'T HARD WAS IT!"
1680  PRINT 
1690  PRINT "SO LONG FOR NOW,";X$", PLEASE GIVE ME A CALL AGAIN - SOON"
1700  STOP 
1710  PRINT '7'7'7'7'7'7'7'7'7;
1720  PRINT "   $%$%%$**$#    GOODNESS - SHAME ON YOU ! !! !!!"
1730  PRINT "WATCH YOUR LANGUAGE OR I'LL CUSS BACK AT YOU"
1740  PRINT 
1750  RETURN 
1760  DATA "DICTIONARY"
1770  DATA 2,10
1780  DATA "MID-LAT","MIDLAT","MIDDLE","HALF WAY","MID WAY","MIDWAY"
1790  DATA "MID-WAY","CENTRAL"
1800  DATA "FORTY","MID LAT"
1810  DATA 1,10
1820  DATA "QUERY","ASK","WHAT DO","DON'T KNOW","DONT KNOW"
1830  DATA "HOW","DON'T UNDER","DONT UNDER","HELP"
1840  DATA "KNOW HOW"
1850  DATA 3,7
1860  DATA "POLAR","POLE","NORTH","ARCTIC","FIFTY","SIXTY","SEVENTY"
1870  DATA 4,4
1880  DATA "POLE","NORTH","ARCTIC","POLAR"
1890  DATA 5,5
1900  DATA "EQUAT","SOUTH","LOW","TWENTY","THIRTY"
1910  DATA 6,8
1920  DATA "WARM","HOT","HIGH","VERTIC","DIRECT","OVERHEAD","OVER HEAD"
1930  DATA "ABOVE"
1940  DATA 7,3
1950  DATA "HALF","SIX MONTHS","SIXMONTHS"
1960  DATA 8,1
1970  DATA "OCT"
1980  DATA 11,1
1990  DATA "MARCH"
2000  DATA 13,3
2010  DATA "EAST","ATLANT","GULT STREAM"
2020  DATA 14,1
2030  DATA "WEST"
2040  DATA 15,6
2050  DATA "INTERIOR","REMOTE","FAR","INLAND","CONTINENTAL","CENTRAL"
2060  DATA 16,8
2070  DATA "COAST","SHORE","SEA","OCEAN","CURRENT","WATER"
2080  DATA "MARIT","MARINE"
2090  DATA 10,11
2100  DATA "HELL","SCREW","UCK","BALLS","SHIT","PISS","FART","CRAP"
2110  DATA "BITCH"
2120  DATA "GOD","DAM"
2130  DATA 9,1
2140  DATA "NORTH"
2150  DATA 12,6
2160  DATA "EAST","WEST","ORIENT","OCCIDENT","LAND","WATER"
2170  DATA 17,4
2180  DATA "HUMID","WET","MOIST","RAINY"
2190  DATA 18,1
2200  DATA "HANOVER"
2210  DATA 19,3
2220  DATA "NEW HAMP","N.H.","N. H."
2230  DATA 20,4
2240  DATA "MASS","CONN","R.I.","R. I."
2250  DATA 21,9
2260  DATA "NEW YORK","N.Y.","N. Y.","NEW JERSEY","N.J.","N. J.","PA."
2270  DATA "PENN"
2280  DATA "PA"
2290  DATA 22,2
2300  DATA "MAINE","ME."
2310  DATA 23,5
2320  DATA "QUEB","BRUNSW","N.B.","N. B.","NOVA"
2330  DATA 24,2
2340  DATA "VERMONT","VT"
2350  DATA 25,4
2360  DATA "AMERICA","N.A.","N. A.","AMERI"
2370  DATA 26,1
2380  DATA "CANADA"
2390  DATA 9999,0
2400  GOTO 2670
2410  RESTORE 
2420  READ Z$
2430  IF Z$#"DICTIONARY" THEN 2420
2440  READ T,N
2450  IF T=9999 THEN 2410
2460  READ #1,1
2470  FOR I=1 TO N
2480  READ R$
2490  IF T#J THEN 2510
2500  PRINT #1;R$, END 
2510  NEXT I
2520  IF T#J THEN 2440
2530  READ #1,1
2540  IF  END #1 THEN 2630
2550  READ #1;S$
2560  FOR L=1 TO LEN(G$)-LEN(S$)+1
2570  FOR K=1 TO LEN(S$)
2580  IF G$[L+K-1,L+K-1]#S$[K,K] THEN 2610
2590  NEXT K
2600  GOTO 2650
2610  NEXT L
2620  GOTO 2550
2630  F=0
2640  GOTO 2660
2650  F=1
2660  RETURN 
2670  END 
