C*********************************************************************** C C C BIBTHESOR.FTN PERMET DE CONNAITRE LE THESAURUS ET DE LE SORTIR C SUR LE LP0:PAR ORDRE ALPHABETIQUE. C C*********************************************************************** SUBROUTINE THESO(DAY) DIMENSION CLE(1000,12),DAY(9),LB(1000) BYTE CLE,DAY OPEN (UNIT=2,NAME='DL1:[204,100]CODCLE.BIB',TYPE='OLD', 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED) READ(2)NMC,NFZ,CLE OPEN (UNIT=6,NAME='SY:LP.LST',DISP='PRINT',TYPE='NEW') DO 400 I=1,NMC DO 410 J=1,11 IF ((CLE(I,J).GE.'A').AND.(CLE(I,J).LE.'Z')) GO TO 410 DO 420 JA=J,11 420 CLE(I,JA)=CLE(I,JA+1) CLE(I,12)=' ' 410 CONTINUE LB(I)=I 400 CONTINUE DO 301 KI=1,12 301 CLE(1000,KI)='Z' TYPE 1,NFZ,NMC 1 FORMAT(/' NOMBRE DE FICHES DEJA RENTREES:',I5/ 2' NOMBRE DE MOTS CLES EXISTANT DEJA :',I5//) TYPE *,' VOYEZ LE LISTING <> SUR L''IMPRIMANTE' NMCZ=NMC-1 DO 100 I=1,NMCZ KMIN=1000 DO 300 K=I,NMC DO 310 KI=1,12 IF (CLE(LB(K),KI).EQ.' ') GO TO 300 IF (CLE(LB(K),KI).GT.CLE(KMIN,KI)) GO TO 300 IF (CLE(LB(K),KI).EQ.CLE(KMIN,KI)) GO TO 310 KMIN=LB(K) KLB=K GO TO 300 310 CONTINUE 300 CONTINUE LB(KLB)=LB(I) LB(I)=KMIN 100 CONTINUE REWIND 2 READ(2)NMC,NFZ,CLE NLA=NMC/5 NREST=MOD(NMC,5) IF (NREST.GT.0) NLA=NLA+1 IP=0 DO 350 I=1,NLA,50 IP=IP+1 PRINT 355,(DAY(KI),KI=1,9),NMC,IP 355 FORMAT('1 THESAURUS DU LA 204 AU ',9A1,'. LISTE ALPHABETI 2QUE DES ',I5,' MOTS CLE DEJA ENTRES EN MEMOIRE ',T122,'PAGE ', 3I3,////) NLB=50 IF (NLA.LT.(50*IP)) NLB=NLA-(50*(IP-1)) NMD=250*IP IF (NMD.GT.NMC) NMD=NMC JB=250*(IP-1) 370 DO 350 J=1,NLB JA=J+JB PRINT 360,((CLE(LB(JZ),KI),KI=1,12),LB(JZ),JZ=JA,NMD,NLB) 360 FORMAT(1X,5(12A1,1X,'--> ',I5,4X)) 350 CONTINUE CLOSE (UNIT=2) CLOSE (UNIT=6,DISP='PRINT') RETURN END