1 '********************************************************************* 3 '*********** LL.BAS ************************************************ 5 '********************************************************************* 6 ' NCYCLE = NUMBER OF REPEATS OF PATTERNS FOR LAST WAVE OF DATA 11 ' NPATT = NUMBER OF UNIQUE PATTERNS ACROSS WAVES 16 ' NSIZE = EQUALS NUMBER OF ONES AND INCREMENTS UNTIL NUMBER OF ITEMS 21 ' IS FILLED BY ZEROS 26 ' IEND = (NUMBER OF ITEMS X WAVES-1) 31 ' IICOMP$ = STRING OF ONES AND ZEROS ACROSS WAVES 36 ' I = NUMBER OF ONES IN LAST WAVE 41 ' II = NUMBER OF PATTERNS WITHIN EACH CYCLE OF COMMON STRINGS FOR LAST WAVE 46 ' IOLDI = SET EQUAL TO I 51 ' NCOUNT = NUMBER OF PATERNS WITHIN EACH CYCLE OF COMMON STRINGS 56 ' AFTER THE FIRST PATTERN 61 ' NNCYCLE-1 = NUMBER OF ONES IN SECOND FROM LAST WAVE OF ITEMS 66 ' NNSIZE = SET EQUAL TO NUMBER OF ONES AND THEN INCREMENTED 71 ' IOLDITT = SET EQUAL TO NNCYCLE 76 ' NNCOUNT = ONE GREATER THAN NUMBER OF ONES IN PATTERN 81 ' NZERO = NUMBER OF ZEROS 86 ' ---------------04-03-90---------------------------------------------------- 91 ' --------------------------------------------------------------------------- 96 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 101 OPEN "I",#1,"LG.OUT":INPUT #1,HEADER$:INPUT #1,QUICK$:INPUT #1,QUICKIE$:INPUT #1,ITEMS:NSUBJ=0 102 OPEN "O",#2,"LG3.OUT" 103 PRINT #2," ":PRINT #2," ":PRINT #2," ": 104 IF QUICKIE$="0" THEN GOTO 1151 110 OPEN "I",#3,"CHECKSUB":INPUT #3,NUM:IF NUM>1250 THEN GOTO 1151 146 DIM NTITLE(1250,4) 161 INPUT #1,TITLE$ 166 NSUBJ=NSUBJ+1 171 IF MID$(TITLE$,1,1)="-" THEN NSUBJ=NSUBJ-1:GOTO 1141 176 FOR I=1 TO 80 181 IF MID$(TITLE$,I,1)="0" THEN IIZERO=IIZERO+1 186 IF MID$(TITLE$,I,1)="1" THEN IIONE=IIONE+1 191 NEXT I 196 ILENGTH=IIZERO+IIONE 201 IF NSUBJ>1 THEN GOTO 591 206 PRINT #2,"LONGITUDINAL SCALOGRAM ANALYSIS (LSA) PROGRAM (VERSION 2.1)": 211 PRINT #2," BY R. D. HAYS": 216 PRINT #2," RAND ":PRINT #2," " 218 PRINT #2,HEADER$ 226 NPATT=1 246 IWAVES=INT(ILENGTH/ITEMS):PRINT "WAVES= ";IWAVES 591 FOR ITE=1 TO IWAVES 596 NTITLE(NSUBJ,ITE)=0 601 NEXT ITE 606 FOR IREP=1 TO IWAVES 611 NSTEP=(IREP-1)*ITEMS 616 FOR IT=1 TO ITEMS 621 IF MID$(TITLE$,IT+NSTEP,1)="0" GOTO 631 626 NTITLE(NSUBJ,IREP)=NTITLE(NSUBJ,IREP)+(2^(ITEMS-IT)) 631 NEXT IT 636 NEXT IREP 746 IF NSUBJ=1 THEN PRINT "SUBJECT NUMBER= " 751 PRINT TAB(15);NSUBJ; 760 GOTO 161 1141 GOSUB 1386 1150 PRINT #2," " 1151 CLOSE 1156 SYSTEM 1161 END 1166 '************************************* 1386 '************************************* 1391 REM SORT ERROR PATTERNS 1393 IHALF=1+INT((ITEMS-2)/2) 1396 PRINT #2,"----------------------------------------------------------------" 1401 PRINT #2," ": PRINT #2,"FREQUENCIES FOR ALL Response Patterns: ":PRINT #2, 1406 PRINT #2," Pattern Frequency " 1407 FOR IIII=1 TO IWAVES 1408 FOR IIIII=1 TO IHALF 1409 HEAD$=HEAD$+" " 1410 NEXT IIIII 1411 TMPSTR$=STR$(IWAVES+1-IIII):HEAD$=HEAD$+ "W"+MID$(TMPSTR$,2,1) 1412 FOR IIIII=1 TO IHALF 1413 HEAD$=HEAD$+" " 1414 NEXT IIIII 1415 NEXT IIII 1416 PRINT #2,HEAD$:PRINT #2,"_________________________________________________________":ILINES=12 1417 SS=0 1421 WHILE SS=0 1426 SS=1 1431 FOR I=1 TO NSUBJ-1 1436 IREP=1 1441 IF NTITLE(I,IREP)<>NTITLE(I+1,IREP) THEN GOTO 1456 1446 IF IREP=IWAVES THEN GOTO 1491 1451 IREP=IREP+1:GOTO 1441 1456 IF NTITLE(I,IREP)NTITLE(IT+1,IREP) THEN GOTO 1536 1516 IF IREP=IWAVES THEN NCOUNT=NCOUNT+1:GOTO 1586 1521 IREP=IREP+1:GOTO 1511 1526 ' *************************************************** 1536 IREP=1:NRUN=NTITLE(IT,IREP):TITLE$="" 1541 FOR IN=1 TO ITEMS 1546 II=ITEMS-IN 1551 IF NRUN>= 2^II THEN TITLE$=TITLE$+"1":NRUN=NRUN-2^II:GOTO 1561 1556 TITLE$=TITLE$+"0" 1561 NEXT IN 1566 IF IREP= 2^II THEN TITLE$=TITLE$+"1":NRUN=NRUN-2^II:GOTO 1616 1611 TITLE$=TITLE$+"0" 1616 NEXT IN 1621 IF IREP