Zählprozedur
Dies ist eine Prozedur, welche Buchstaben und Wörter in einer Textdatei zählt.
Die Anzahl der Wörter wird gezählt in dem, immer wenn ein Sonderzeichen vorhanden ist die Anzahl der Wörter um eins erhöht wird. Auserdem wird die Anzahl, bei jedem neuen Absatz erhöht. Es wird angenommen, dass in der Textdatei keine Leerzeilen und keine Sonderzeichen in Folge vorkommen.
PROCEDURE zaehlen (pfad: STRING); {Prozedur, Buchstaben und Woerter zaehlen} VAR anz : INTEGER; {Anzahl der Woerter} datei: TEXT; {Zu lesende Textdatei} zeile: STRING; {Die jeweilige zu lesende Zeile} i : INTEGER; {Laufvariable} buch : INTEGER; {Anzahl der Buchstaben} BEGIN Assign(datei,pfad); {Pfadzuweisung} anz := 0; {Wortanzahl wird initialisiert} buch:= 0; {Buchstabenanzahl wird initialisiert} i := 1; {Laufvariable wird initialisiert} Reset(datei); {Datei wird zum Lesen geoeffnet} WHILE NOT(eof(datei)) DO BEGIN {Bis Ende der Datei} Readlndatei,zeile) {Lesen der akuellen Zeile} FOR i:= 1 TO length(zeile) DO BEGIN IF NOT((((ORD(zeile[i])>= 65) AND (ORD(zeile[i])<= 90)) OR (((ORD(zeile[i])>= 97) AND (ORD(zeile[i])<= 122)))) THEN anz:= anz+ 1; {Wenn Sonderzeichen, dann Anzahl+ 1} IF (((ORD(zeile[i])>= 65) AND (ORD(zeile[i])<= 90))) OR (((ORD(zeile[i])>= 97) AND (ORD(zeile[i])<= 122))) THEN buch:= buch+ 1; {Wenn Buchstabe, dann Anzahl+ 1} END; anz:= anz+ 1; {Wenn Absatz, dann Anzahl+ 1} END; END; Writeln('Anzahl der Buchstaben: ',buch:5); {Ausgabe} Writeln('Anzahl der Woerter : ',anz:5); {Ausgabe} Close(datei); {Schliessen der Datei} END;
{Beginn des Hauptprogrammes}
BEGIN zaehlen('Pfad eingeben'); {Prozedur Aufruf} Readln; END.{Programmende}
Zu zählende Zeichen in der Textdatei:
Wenn-Chuck!Norris.ins;Wasser_springt wird Chuck#Norris+nicht#nass Das_Wasser!wird;Chuck.Norris
Ergebniss:
Anzahl der Buchstaben: 79
Anzahl der Wörter : 17
ZURÜCK
|