15 PRINT CHR$(27);CHR$(72);CHR$(27);CHR$(74) 20 PRINT 'THIS ROUTINE ENTERS A NON-STAT DATA SET INTO A STAT DATA SET' 25 PRINT 30 DIM C1(15),C(15) 40 PRINT 'THE STATISTICS PACKAGE ALLOWS A MAXIMUM OF' 50 PRINT '15 VARIABLES PER RECORD AND 250 RECORDS.' 60 PRINT 100 MAP (CARD) CARD$=150 110 DIM #1,A(250,15) 120 PRINT 'DATA SET NAMES ARE OF THE TYPE - NAME.TYPE' 130 PRINT 140 INPUT 'ENTER THE ENTIRE NAME OF THE INPUT DATA SET: ';IN$ 150 PRINT 160 INPUT 'ENTER THE ENTIRE NAME OF THE STAT DATA SET: ';OUT$ 170 PRINT 180 INPUT 'HOW MANY VARIABLES ARE IN A RECORD ';NV 190 IF NV<1 GO TO 180 195 IF NV<16 GO TO 199 196 PRINT 'A MAXIMUM OF 15 VARIABLES ARE ALLOWED.' 198 GO TO 180 199 PRINT CHR$(27);CHR$(72);CHR$(27);CHR$(74) 200 PRINT 'WAS THIS DATA SET CREATED WITH' 201 PRINT '1 - THE EDITOR - EDT' 202 PRINT '2 - A FORTAN PROGRAM' 203 PRINT '3 - A BASIC PROGRAM' 204 PRINT '4 - A CARD DECK' 205 PRINT '5 - OTHER' 218 PRINT 219 INPUT 'PLEASE ENTER THE APPROPRIATE OPTION ';A 220 IF A=1 GO TO 240 221 IF A=2 GO TO 340 222 IF A=3 GO TO 340 223 IF A=4 GO TO 340 224 IF A=5 GO TO 1600 239 GO TO 199 240 INPUT 'ARE THE DATA VALUES SEPARATED BY COMMAS (Y/N)';A$ 250 A$=EDIT$(A$,2%) 260 IF SEG$(A$,1,1)='Y' GO TO 1300 270 IF SEG$(A$,1,1)<>'N' GO TO 240 280 INPUT 'ARE THE DATA VALUES SEPARATED BY TABS (Y/N)';A$ 290 A$=EDIT$(A$,2%) 300 IF SEG$(A$,1,1)<>'Y' GO TO 340 310 T$=CHR$(9) 320 E%=132% 330 GO TO 1310 340 INPUT 'ARE ALL FIELDS OF DATA THE SAME LENGTH (Y/N)';A$ 350 A$=EDIT$(A$,2%) 360 IF SEG$(A$,1,1)='N' GO TO 600 370 IF SEG$(A$,1,1)<>'Y' GO TO 340 380 INPUT 'HOW MANY CHARACTERS ARE IN A FIELD ';NCH 390 INPUT 'IN WHICH CHARACTER POSITION DOES FIELD ONE BEGIN ';CH1 400 FOR I= 1 TO NV 410 C(I)=NCH*(I-1)+CH1 420 C1(I)=C(I)+NCH-1 430 NEXT I 440 GO TO 800 600 FOR I= 1 TO NV 605 PRINT 610 PRINT ' WHAT IS THE FIRST COLUMN OF FIELD ';I; 620 INPUT C(I) 630 PRINT 'HOW MANY CHARACTERS ARE THERE IN FIELD ';I; 640 INPUT L 650 C1(I)=C(I)+L-1 660 NEXT I 800 GOSUB 1500 1000 I=1 1080 ONERROR GO TO 2000 1090 GET #2 1100 FOR J=1 TO NV 1110 S$=SEG$(CARD$,C(J),C1(J)) 1120 S$=EDIT$(S$,2%) 1124 IF S$='' THEN S$='.9E-38' 1125 IF S$='X' THEN S$='.9E-38' 1126 IF S$='.' THEN S$='.9E-38' 1130 A(I,J)=VAL(S$) 1180 NEXT J 1190 I=I+1 1200 IF I<251 GO TO 1080 1210 PRINT 'ONLY 250 RECORDS ARE ALLOWED.' 1220 PRINT 'THE FIRST 250 RECORDS HAVE BEEN ENTERED.' 1230 PRINT 'THE REMAINDER ARE DELETED.' 1240 GO TO 2000 1300 T$=',' 1305 E%=6% 1310 GOSUB 1500 1330 I=1 1340 ONERROR GO TO 2000 1350 GET #2 1360 A$=EDIT$(CARD$,E%) 1370 A$=A$+T$ 1380 FOR J= 1 TO NV 1390 IC%=POS(A$,T$,1%) 1400 S$=LEFT(A$,IC%-1) 1404 IF S$='' THEN S$='.9E-38' 1405 IF S$='X' THEN S$='.9E-38' 1410 A(I,J)=VAL(S$) 1420 A$=RIGHT(A$,IC%+1) 1425 NEXT J 1430 I=I+1 1440 IF I<251 GO TO 1340 1450 GO TO 1210 1500 IN$='SY:'+IN$ 1505 OPEN IN$ FOR INPUT AS FILE #2, SEQUENTIAL, ACCESS READ, MAP CARD 1510 OUT$='SY:'+OUT$ 1520 OPEN OUT$ FOR OUTPUT AS FILE #1, VIRTUAL 1530 RETURN 1600 PRINT 1610 PRINT 'PLEASE CONTACT BRC PH. 2818 FOR ASSISTANCE' 1620 GO TO 32760 2000 A(0,0)=I-1 2010 A(1,0)=NV 2020 CLOSE #1 2030 CLOSE #2 2040 PRINT 'DATA SET COMPLETE' 2050 I=I-1 2060 PRINT I;' RECORDS WRITTEN' 32760 END