10  COM Q$[3],C1,I1,I2,I3,I4
11  REM ******           HP TIME SHARED BASIC            *********************
12  REM ******              TSAP2: RETRIEVE              *********************
13  REM ******                                           *********************
14  REM ******        CONTRIBUTED PROGRAM - IOWA         *********************
15  REM ******              J. KOLP, K. BURT             *********************
20  FILES TSAPF
25  L=0
30  IF Q$="NO" THEN 190
40  IF I2=1 THEN 190
50  PRINT "THIS PROGRAM RETRIEVES THE VARIABLES YOU SELECT"
60  PRINT "FOR THE STATE REQUESTED.  YOU HAVE THE OPTION OF"
70  PRINT "RETRIEVING UP TO 5 VARIABLES.  I WILL ASK YOU FOR"
80  PRINT "THE 'FIRST','SECOND' AND SO ON.  IF YOU CHOSE TO"
90  PRINT "RETRIEVE LESS THAN 5, SIMPLY TYPE 'NONE'."
100  PRINT "I WILL THEN ASK YOU WHICH STATE YOU WISH TO RETREIVE"
110  PRINT "ON.  DON'T FORGET TO USE THE APPROPRIATE VARIABLE"
120  PRINT "NAME (i.e TOTPOP,FORBOR)."
130  PRINT 
140  PRINT 
150  PRINT "HERE WE GO!"
160  PRINT 
170  PRINT 
180  I2=1
190  IF  END #1 THEN 670
200  DIM N$[45],C$[20]
210  DIM Z$[15],W$[15]
220  Z9=1
230  Z$="1ST2ND3RD4TH5TH"
240  W$="               "
250  D[1]=D[2]=D[3]=D[4]=D[5]=0
260  DIM A$[4]
270  DIM C[15],Y[15]
280  DIM K[40],J[15]
290  READ #1,1;Q9,N$
300  FOR A9=1 TO 13 STEP 3
310  PRINT Z$[A9,A9+2]" VARIABLE";
320  DIM V$[6]
330  INPUT V$
340  IF V$="NONE" THEN 420
350  FOR K=1 TO 40 STEP 3
360  IF V$[1,3]=N$[K,K+2] THEN 400
370  NEXT K
380  PRINT "INVALID VARIABLE - TRY AGAIN"
390  GOTO 310
400  W$[A9,A9+2]=V$[1,3]
410  NEXT A9
420  IF A9=1 THEN 380
430  FOR J=1 TO (A9-3) STEP 3
440  FOR K=1 TO 40 STEP 3
450  IF W$[J,J+2]=N$[K,K+2] THEN 470
460  NEXT K
470  D[(J+2)/3]=(K+2)/3
480  NEXT J
490  PRINT "FOR WHICH STATE DO YOU WANT TO RETRIEVE DATA";
500  INPUT C$
510  PRINT "STATE  YEAR      "W$[1,3]"      "W$[4,6]"      "W$[7,9]"      "W$[10,12]"      "W$[13,15]
520  FOR X=1 TO Q9
530  READ #1;A$,B
540  FOR Y=1 TO 14
550  READ #1;C[Y]
560  NEXT Y
570  READ #1;Q
580  IF C$[1,4]#A$ THEN 650
581  L=L+1
590  PRINT  USING 680;A$,(B*10)+1000
600  FOR F=1 TO 5
610  IF D[F]=0 THEN 640
620  PRINT  USING 690;C[D[F]]
630  NEXT F
640  PRINT 
650  NEXT X
651  IF L>0 THEN 700
652  PRINT "RECORDS FOR "C$" NOT FOUND.  PLEASE CHECK YOUR"
653  PRINT "SPELLING.  ALSO, BE SURE THE STATE YOU HAVE"
654  PRINT "SELECTED WAS A MEMBER OF THE UNION BEFORE 1870."
660  REM
670  REM
680  IMAGE #,4A,3X,4D
690  IMAGE #,5X,4D
700  CHAIN "TSAP",880
710  END 
