C PROGRAM DFBP C*** DORAN FRENCH'S PROGRAM TO PRESENT SOLVABLE OR UNSOLVABLE PROBLEMS C*** AND THEN TELL SUBJECTS THAT THE PROBLEMS WERE EASY OR HARD. C C*** SENSE LINES: 1,2,3: SHUTTLE BOX (1+3 => START SESSION) C*** : 4 START BUTTON PUSHING C*** : 5,6,7 COMBINATION BUTTONS C C*** RELAYS : 0 - NOISE (BUTTONS) C*** 1 - WARNING LIGHT C*** 2 - BRIGHT LIGHT C C COMMON ITI,IRT,SS,IDEV,INAM,IAX DIMENSION ITI(45),IRT(45),SS(6) DIMENSION IDEV(2),INAM(4),IAX(6) C COPDEF JMPI 5400 SOPDEF JMPI 5400 C 1 CONTINUE IMS=-1984 I10=-1472 IX=220 IY=0 IH=-1856 IZ=-1024 JX=80 JX30=JX+30 JX170=JX+170 JX270=JX+270 KADD=-221 C*** CORRECT SEQUENCE IS: [7,5] IB1=7 IB2=5 IB3=6 C IAX=JX+24 IAX(2)=160 IAX(3)=JX+24 IAX(4)=-170 IAX(5)=JX+400 IAX(6)=-170 C SS(1)='SUBJEC' SS(2)='T STOP' SS(3)='PED' SS(4)=' TIM' SS(5)='E OUT' SS(6)=0 10 CONTINUE WRITE(1,91)-2016, 91 FORMAT(' FILE NAME:'A1,3A2'.'A2) CALL NAMES(IDEV,INAM,IDEV,INAM) ITIM=IRAN(20) K1=ITI(KADD+1) KB=LAND(LRS(K1,10),1) KC=LAND(LRS(K1,9),1) KE=LAND(LRS(K1,7),1) KF=LAND(LRS(K1,6),1) KI=LAND(LRS(K1,3),1) IF(KB+KC+KE+KI-1)10,11,10 11 CONTINUE IF(KF)12,12,59 12 CONTINUE IF(KB)13,13,70 13 CONTINUE IF(KC)14,14,19 14 CONTINUE C*** UNSOLVABLE CONDITION: CALL IOPEN(IDEV,INAM) READ(4,94)ITI,IRT IB1=0 GOTO 20 C C*** SOLVABLE CONDITION 19 CONTINUE CALL OOPEN(IDEV,INAM) C C*** WAIT FOR LSENS(4) TO BEGIN 20 CONTINUE CALL DISP9(IX,IY,'WAIT') IF(LSENS(4))21,21,20 21 CONTINUE C*** DO 45 TRIALS DO 48 I=1,45 CALL KWMEA(I10,0,0) ITIM=ITI(I) ITO=IRT(I) EI=ENCODE(I) IF(KC)22,22,215 215 CONTINUE ITIM=IRAN(1500) ITI(I)=ITIM ITO=500 C*** WAIT AT LEAST 10 SECONDS 22 CONTINUE CALL DISP9(IY,IX,EI) IF(ICLCK(1)-1000)22,23,23 23 CONTINUE CALL KWMEA(I10,0,0) C*** CHANCE TO ABORT SESSION IF(LSENS(4))69,69,24 C*** WAIT THE REST OF THE[10..25] SECS 24 CONTINUE IF(ICLCK(1)-ITIM)24,25,25 25 CONTINUE C*** START CLOCK AND TURN ON NOISE CALL KWMEA(I10,0,0) CALL RELAY(0,1) IS=4 GOTO 30 C 26 CONTINUE SCPAGE 2 SJMPI TIMOT STIMOT,0 IF(ICLCK(1)-ITO)26,26,43 C C*** CORRECT SEQUENCE IS [IB1,IB2] 30 CONTINUE SJMS TIMOT IF(LSENS(IB2)+LSENS(IB3)-1)30,30,31 31 IF(LSENS(IB1))32,32,30 32 CONTINUE SJMS TIMOT IF(LSENS(IB2)+LSENS(IB3)-1)30,30,33 33 IF(LSENS(IB1))32,32,34 34 CONTINUE SJMS TIMOT IF(LSENS(IB1)+LSENS(IB3)-1)30,30,35 35 IF(LSENS(IB2))36,36,34 36 CONTINUE SJMS TIMOT IF(LSENS(IB1)+LSENS(IB3)-1)30,30,37 37 IF(LSENS(IB2))36,36,38 38 CONTINUE SJMS TIMOT GOTO 42 IF(LSENS(IB1)+LSENS(IB2)-1)30,30,39 39 IF(LSENS(IB3))40,40,38 40 CONTINUE SJMS TIMOT IF(LSENS(IB1)+LSENS(IB2)-1)30,30,41 41 IF(LSENS(IB3))40,40,42 42 CONTINUE C*** TASK SOLVED !! IS=1 43 CONTINUE IRT(I)=ICLCK(1) C*** MARK TIME AND TURN OFF NOISE CALL RELAY(0,0) CALL KWMEA(I10,0,0) 46 CONTINUE CALL DISP9(IX,IY,SS(IS)) IF(ICLCK(1)-200)46,46,47 47 CONTINUE 48 CONTINUE C IF(KC)59,59,50 CALL KWMEA(I10,0,0) 50 CONTINUE CALL DISP9(IX,IY,'DONE') IF(ICLCK(1)-1000)50,50,51 C*** WRITE OUT THE MASTER DATA 51 CONTINUE WRITE(4,94)ITI,IRT CALL OCLOSE GOTO 1 94 FORMAT(3(15I4/),3(15I3/)) 59 CONTINUE C C*** RATE,EASY,HARD,SCOR,TITL,RANG,PRCT C*** PRESENT FEED BACK INFORMATION CALL KWMEA(I10,0,0) 60 CONTINUE CALL DISP9(JX170,128,IZ) C*** SCORE SCALL 3,DISP9;ARG \JX;ARG (240;ARG T4 C*** RATE SCALL 3,DISP9;ARG \JX;ARG (340;ARG T1 IF(KI)62,62,61 61 CONTINUE C*** EASY SCALL 3,DISP9;ARG \JX;ARG (300;ARG T2 GOTO 63 62 CONTINUE C*** HARD SCALL 3,DISP9;ARG \JX;ARG (300;ARG T3 63 CONTINUE IF(ICLCK(1))64,64,60 64 CONTINUE IF(LSENS(4))69,69,65 65 CONTINUE C*** TITL C*** SCOR C*** RANG SCALL 3,DISP9;ARG \JX;ARG (340;ARG T5 SCALL 3,DISP9;ARG \JX;ARG (-300;ARG T6 SCALL 3,DISP9;ARG \JX;ARG (-340;ARG T4 SCALL 3,DISP9;ARG \JX30;ARG (0 ;ARG T9 CALL DISP2(3,IAX) IF(KI)67,67,66 66 CONTINUE C*** 7% (EASY) SCALL 3,DISP9;ARG \JX;ARG (-240;ARG T7 SCALL 3,DISP9;ARG \JX;ARG (-240;ARG T71 SCALL 3,DISP9;ARG \JX;ARG (-220;ARG T71 SCALL 3,DISP9;ARG \JX;ARG (-200;ARG T72 SCALL 3,DISP9;ARG \JX;ARG (-160;ARG T73 SCALL 3,DISP9;ARG \JX;ARG (-140;ARG T73 CALL DISP9(JX270,-80,IH) CALL DISP9(JX270,-64,IH) GOTO 64 67 CONTINUE C*** 90% (HARD) SCALL 3,DISP9;ARG \JX;ARG (-240;ARG T8 SCALL 3,DISP9;ARG \JX;ARG (-240;ARG T81 SCALL 3,DISP9;ARG \JX;ARG (-220;ARG T82 I=-128 DO 672 I=I,127,16 CALL DISP9(JX30,I,IH) 672 CONTINUE GOTO 64 69 CONTINUE GOTO 1 C C*** SHUTTLE BOX EXPERIMENT. C 70 CONTINUE C*** WAIT FOR (1 AND 2) PUSHED CALL RELAY(2,0) CALL RELAY(1,1) CALL DISP9(IX,IY,'BOX') IF(LSENS(1)+LSENS(2))71,71,70 71 CONTINUE CALL RELAY(1,0) IB1=1 NS=0 SUMS=0 SUMT=0 C*** DO 20 TRIALS DO 79 I=1,20 EI=ENCODE(I) CALL KWMEA(I10,0,0) C*** ALTERNATE SWITCHES 1 AND 3 IB1=4-IB1 IB2=1 ITI=IRAN(1500)+500 C*** WAIT FOR ITI 72 CONTINUE CALL DISP9(IY,IX,EI) IF(LRS(ICLCK(1),1)-ITI)72,73,73 73 CONTINUE CALL RELAY(1,1) CALL KWMEA(I10,0,0) 74 CONTINUE IF(ICLCK(1)-500)76,75,75 75 CONTINUE CALL RELAY(1,0) CALL RELAY(2,1) 76 CONTINUE IB2=LAND(LSENS(2),IB2) IF(LSENS(IB1)+IB2)78,78,77 77 CONTINUE IF(ICLCK(1)-1000)74,785,785 78 CONTINUE ITIM=ICLCK(1) SUMS=SUMS+FLOAT(ITIM) NS=NS+1 GOTO 787 785 CONTINUE ITIM=ICLCK(1) 787 CONTINUE IF(ICLCK(1)-500)787,788,788 788 CONTINUE CALL RELAY(1,0) CALL RELAY(2,0) IRT(I)=ITIM SUMT=SUMT+FLOAT(ITIM) IF(LSENS(4))791,791,79 79 CONTINUE 791 CONTINUE SUMS=SUMS/(FLOAT(NS)*100.) SUMT=SUMT/2000. C*** AVERAGE LATENCY IN SECONDS NF=20-NS WRITE(3,91)-2016,INAM WRITE(3,93)SUMT,NF,SUMS,NS,(IRT(I),I=1,20) CONTINUE GOTO 1 C 93 FORMAT(' MEAN(ALL) #F MEAN(ESCAPE)'/2X,2(F8.3,I4),5(/10I5)) C C*** RATE,EASY,HARD,SCOR,TITL,RANG,PRCT ST1, TEXT ) THESE PROBLEMS ARE RATED) ST2, TEXT ) MODERATELY EASY) ST3, TEXT ) EXTREMELY DIFFICULT) ST4, TEXT ) NUMBER OF PROBLEMS SUBJECT STOPPED) ST5, TEXT ) DISTRIBUTION OF SUBJECTS SCORES) ST6, TEXT ) [ 0- 5] [ 6-15] [16-25] [26-35] [36-45] ) ST7, TEXT ) 9% 14% 26% 36% 15% ) ST71, TEXT ) # # # # # ) ST72, TEXT ) # # # # ) ST73, TEXT ) # # ) ST8, TEXT ) 90% 7% 2% 1% 0% ) ST81, TEXT ) # # = _ ) ST82, TEXT ) # = ) ST9, TEXT ) PERCENT OF STUDENTS ) END $