Zitat:
Für performancekritische Lösungen des ursprünglichen Problems von Steffen würde ich ebenfalls eine Lösung der von Dir vorgeschlagenen Art verwenden, jedoch mit einem besseren Match-Algorithmus als der in Pos implementierte, bspw einer modifizierte Version des Boyer-Moore-Algorithmus oder einer Form des Hashings...
Wie ? um mal eben 12 Monatsnamen in eine Zahl umzuwandeln ? Alleine der Overhead um den Boyer-More zu initialisieren dauert länger als eine Pos() Funktion die sequentiell in 49 Bytes sucht.
Zitat:
..wenn die Anzahl der Iterationen bekannt ist, was hier nicht der Fall ist..
Wieso ? Es sind exakt 12 Iteration maximal. Damit ist es also auch sinnvoll eine for I := 1 to 12 Schleife zu benutzen und bei Übereinstimmung abzubrechen.
Ich verstehe deine Motive saubern Code zu produzieren sehr gut, bin ja selber ein Pedant
, ABER ich kann dir nicht zustimmen in dem Punkt das bedingte Schleifen wie while do/repeat until einfachere Schleifen sind als normale Zählschleifen.
Gruß Hagen