DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦8fa128e4c⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »WC.PAS«

Derivation

└─⟦e3723fcdd⟧ Bits:30004778 WordStar 3.3 og PolyPascal 3.10
    └─⟦this⟧ »WC.PAS« 

TextFile

PROGRAM WORD_COUNT;

æ
Skrevet af Erling Thorup Madsen 6/7/1984 hos Metric.
Programmet taeller tegn (ikke blank-tegn), ord, linier og saetninger.
Endvidere gives et tal for filens størrelse, der burde vaere korrekt, 
hvis linierne er afsluttet med CR og ikke baade LF og CR. 
Saetninger afsluttes med .,?;:! og en blank eller linieskift, saaledes
at ord hvor disse tegn indgaar naturligt f.eks 100,00kr eller fil.bas
taelles som et ord. Ord der deles med "-" og fortsaetter paa naeste linie
taelles kun 1 gang.
God Fornøjelse!
å

VAR 
        LINIE:STRINGÆ255Å;
        LENGDE,SAETN,LINIER,ORD,TEGN:REAL;
        I,J:INTEGER;
        FILNAVN:STRINGÆ14Å;
        INDFIL:TEXT;
BEGIN

WRITELN('            WORD COUNT');         
WRITE('FILNAVN = ');
READLN(FILNAVN);
ASSIGN (INDFIL,FILNAVN);
RESET (INDFIL);
LINIER:=0; SAETN:=0; ORD:=0; TEGN:=0;
LENGDE:=0;

WHILE NOT(EOF(INDFIL)) DO
  BEGIN
  READLN(INDFIL,LINIE);
  LENGDE:=LENGDE+LEN(LINIE)+1;
  WHILE LINIEÆLEN(LINIE)Å=' ' DO DELETE (LINIE,LEN(LINIE),1);
  J:=LEN(LINIE);
  LINIE:=LINIE+CHR(13);
  LINIER:=LINIER+1;
    
  IF J>0 THEN
        BEGIN
        I:=0;
        REPEAT  I:=SUCC(I) UNTIL (LINIEÆIÅ<>' ') OR (I=J);
        REPEAT
          BEGIN
          CASE LINIEÆIÅ OF
           '.',',',':','?',';','!':
                 BEGIN
                 IF (LINIEÆI+1Å=' ') OR (LINIEÆI+1Å=CHR(13)) THEN
                     SAETN:=SAETN+1; 
                 TEGN:=TEGN+1;
                 END;
           ' ':
               BEGIN
               IF I>1 THEN
                 IF LINIEÆI-1Å<>' ' THEN ORD:=ORD+1;         
               END;
          
            OTHERWISE TEGN:=TEGN+1;
            END;
          I:=SUCC(I);
          IF I=J THEN
            BEGIN
            TEGN:=TEGN+1;
            IF LINIEÆIÅ<>'-' THEN ORD:=ORD+1;
            END;
          END
          UNTIL I>=J;     
        END;        
  END;
CLOSE(INDFIL);
WRITELN('FILEN ',FILNAVN,' INDEHOLDER :');
WRITELN(TEGN:10:0,   '  TEGN');
WRITELN(ORD:10:0,    '  ORD') ;
WRITELN(LINIER:10:0, '  LINIER');
WRITELN(SAETN:10:0,  '  SÆTNINGER');
WRITELN; WRITELN('FILENS STØRRELSE = ',LENGDE:10:0);

END.
«eof»