|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900)
Types: TextFile
Names: »WC.PAS«
└─⟦e3723fcdd⟧ Bits:30004778 WordStar 3.3 og PolyPascal 3.10
└─⟦this⟧ »WC.PAS«
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»