10 'PRELSA.BAS 1.0 11 DIM ITEM$(200),COL(200),NRANK(200),NEWRANK(200),III(200) 12 OPEN "O",#1,"INPUT" 14 PRINT " ":PRINT " ":PRINT " ":PRINT " ":PRINT " ":PRINT " ":PRINT " " 20 PRINT "1. WHAT IS THE TITLE FOR THIS ANALYSIS?" 25 PRINT "(TYPE 80 ALPHANUMERIC COLUMNS OR LESS)" 30 INPUT " ";TITLE$:PRINT " " 35 PRINT #1,"TITLE" 40 PRINT #1,TITLE$ 50 INPUT "2. HOW MANY CASES ARE THERE IN THE RAW DATA FILE";NCASES$ 70 PRINT #1,"NCASES" 80 PRINT #1,NCASES$ 82 INPUT "3. HOW MANY WAVES OF DATA ARE THERE";WAVES$ 84 PRINT #1,"WAVES" 86 PRINT #1,WAVES$ 90 PRINT " ":PRINT "4. IS THIS A SUBSAMPLE ANALYSIS?" 100 PRINT "THAT IS, ARE YOU SUBSETTING THE SAMPLE?" 110 PRINT " 1 = YES" 115 PRINT " 2 = NO" 120 INPUT " ";SELECT$:PRINT " " 130 IF SELECT$="2" THEN GOTO 170 140 PRINT #1,"SELECT" 145 PRINT "4B. WHAT VALUE ARE YOU SELECTING ON?" 147 PRINT "(VALUE OF THE SELECTION VARIABLE USED TO SELECT THE SUBSAMPLE)" 150 INPUT " ";VALUE$ 160 PRINT #1,VALUE$ 170 PRINT "5. HOW MANY ITEMS ARE IN THE ANALYSIS?" 175 PRINT "(NUMBER OF ITEMS AT EACH WAVE X NUMBER OF WAVES)" 180 INPUT " ";NITEMS 190 PRINT " " 282 IF SELECT$="2" THEN GOTO 297 285 PRINT " BEGINS IN ENDS IN" 286 PRINT " NAME COLUMN COLUMN" 287 PRINT " --------------------------------" 289 PRINT "5B. SELECTION VARIABLE:" 290 INPUT " ";ITEM$(0) 292 INPUT " ";COL0$ 294 INPUT " ";COL0E$ 296 PRINT " " 297 PRINT "6. PLEASE TYPE THE ITEM NAME, COLUMN LOCATION (IN RAW DATA FILE)," 298 PRINT "AND RANK ORDER OF EACH ITEM IN THE ANALYSIS." 299 PRINT " " 300 PRINT "RANK ORDER 1 IS THE ITEM HYPOTHESIZED TO BE MOST PREVALENT" 302 PRINT "AT THE MOST RECENT WAVE. RANK ORDER 2 IS THE ITEM HYPOTHESIZED" 304 PRINT "TO BE SECOND MOST PREVALENT AT THE MOST RECENT WAVE." 306 PRINT " " 307 PRINT " ITEM NAME COLUMN NUMBER RANK ORDER" 308 PRINT " -----------------------------------------" 310 FOR I=1 TO NITEMS 330 INPUT " ";ITEM$(I) 335 INPUT " ";COL(I) 337 INPUT " ";NRANK(I) 340 NEXT I 342 PRINT #1,"HOWREAD" 344 GOSUB 1000 345 FOR K=1 TO NITEMS 346 NEWRANK(K)=NRANK(K):III(K)=K 347 NEXT K 348 GOSUB 2000 349 GOSUB 3000 350 PRINT #1,"ITEMS" 351 NIT$=STR$(NITEMS) 352 IF MID$(NIT$,IVI+1,1)=" " THEN IVI=IVI+1:GOTO 352 360 PRINT #1,MID$(NIT$,IVI+1,3) 370 FOR I=1 TO NITEMS 380 PRINT #1,USING "'&' ###";ITEM$(I),III(I) 390 NEXT I 400 PRINT " " 402 PRINT "7. DO YOU WANT TO CALCULATE ERRORS USING THE INTENSIVE COMPUTATION METHOD?" 410 PRINT " 1 = YES" 415 PRINT " 2 = NO" 420 INPUT " ";SELECT$ 430 PRINT #1,"LCSMAX" 440 IF SELECT$="2" THEN GOTO 470 450 PRINT #1,"YES" 460 GOTO 480 470 PRINT #1,"NO" 480 PRINT " " 482 PRINT "8. DO YOU WANT A PRINTOUT OF THE FREQUENCY OF RESPONSE PATTERNS?" 490 PRINT " 1 = YES" 495 PRINT " 2 = NO" 500 INPUT " ";SELECT$ 510 PRINT #1,"FREQUENCY" 520 IF SELECT$="2" THEN GOTO 550 530 PRINT #1,"YES" 540 GOTO 560 550 PRINT #1,"NO" 560 PRINT #1,"END" 565 PRINT " ":PRINT "INPUT FILE HAS BEEN CREATED.":PRINT " " 570 CLOSE 580 SYSTEM 590 END 1000 REM SORTING OF ITEMS 1010 G=INT(NITEMS/2) 1020 WHILE G<>0 1030 S=0 1040 WHILE S=0 1050 S=1 1060 FOR K=1 TO NITEMS-1 1070 IF COL(K)<=COL(K+1) THEN 1110 1080 T=COL(K):T$=ITEM$(K):T2=NRANK(K) 1090 COL(K)=COL(K+1):ITEM$(K)=ITEM$(K+1):COL(K+1)=T:ITEM$(K+1)=T$:NRANK(K)=NRANK(K+1):NRANK(K+1)=T2 1100 S=0 1110 NEXT K 1120 WEND 1130 G=INT(G/2) 1140 WEND 1150 RETURN 2000 REM PRODUCING HOWREAD FORMAT 2002 PRINT #1,"(";:GROUP=1 2003 IF SELECT$="2" THEN GOTO 2018 2004 IF MID$(COL0$,II+1,1)=" " THEN II=II+1:GOTO 2004 2005 LENGTH=VAL(COL0E$)-VAL(COL0$)+1 2006 LENG$=STR$(LENGTH) 2007 IF MID$(LENG$,IV+1,1)=" " THEN IV=IV+1:GOTO 2007 2008 TEMP$="T" + MID$(COL0$,II+1,3) + "," + "F" + MID$(LENG$,IV+1,3) + ".0," 2009 PRINT #1,TEMP$; 2010 'IF SELECT$="2" THEN GOTO 2016 2011 'KK=K+1 2012 'FOR KK=1 TO NITEMS-1 2013 'FSPACE=COL(KK+1)-COL(KK) 2014 'IF FSPACE>1 THEN PRINT #1,USING ",##I";GROUP;:GROUP=1:GOTO 2014 2015 'GROUP=GROUP+1 2016 'NEXT KK 2017 'GOTO 2050 2018 COL1$=STR$(COL(1)) 2019 IF MID$(COL1$,IIII+1,1)=" " THEN IIII=IIII+1:GOTO 2019 2020 TEMP$="T"+MID$(COL1$,IIII+1,3) 2021 PRINT #1,TEMP$; 2022 FOR K=1 TO NITEMS-1 2023 FSPACE=COL(K+1)-COL(K) 2024 IF FSPACE>1 THEN PRINT #1,USING ",##I1";GROUP;:GROUP=1:GOTO 2040 2030 GROUP=GROUP+1 2040 NEXT K 2050 IF FSPACE=1 THEN PRINT #1,USING ",##I1";GROUP; 2055 PRINT #1,")" 2060 RETURN 3000 REM SORTING OF NRANK 3010 G=INT(NITEMS/2) 3020 WHILE G<>0 3030 S=0 3040 WHILE S=0 3050 S=1 3060 FOR K=1 TO NITEMS-1 3070 IF NEWRANK(K)<=NEWRANK(K+1) THEN 3110 3080 T=NEWRANK(K):IT=III(K) 3090 NEWRANK(K)=NEWRANK(K+1):NEWRANK(K+1)=T:III(K)=III(K+1):III(K+1)=IT 3100 S=0 3110 NEXT K 3120 WEND 3130 G=INT(G/2) 3140 WEND 3150 RETURN