Zählen von Buchstaben

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

*Problem: Für jeden in der Eingabe vorkommenden Buchstaben ist die Häufigkeit anzugeben.
 
*Groß- und Kleinbuchstaben sind dabei als äquivalent zu betrachten.
 
*Ideal wäre ein Array, das mit Buchstaben indiziert werden kann. Da das in Oberon nicht umsetzbar ist, müssen die Buchstaben ``A''..``Z'' in den Zahlenbereich 0..25 abgebildet werden.
 
*Konstanten wie 25 oder 26, die überall im Programmtext verstreut sind, erschweren die Lesbarkeit des Programms, da dann häufig die Frage auftaucht, wofür die Zahl steht und ob diese Konstante mit anderen Konstanten zusammenhängt.
 
*Deswegen sollten Konstanten mit Hilfe von CONST einen Namen erhalten und anschließend sollte nur noch der Name verwendet werden.
 
LetterCount.om
   CONST
      letters = ORD("Z") - ORD("A") + 1;
   VAR
      count: ARRAY letters OF INTEGER;
      i: INTEGER; (* index of count *)
      ch: CHAR; (* input character *)
      letter: BOOLEAN; (* is ch a letter? *)

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005