Domino 9 und frühere Versionen > ND6: Entwicklung
Treppenförmiges suchen
koehlerbv:
@Axel:
--- Zitat ---Eine Invariante ist eine Bedingung, die in jedem Programmzustand erfüllt sein muss. Bei der Implementierung einer Schleife muss beispielsweise innerhalb dieser immer gelten, dass die Schleifenvariable kleiner ist als der Wert der Abbruchbedingung. Invarianten können zum Beweis der Korrektheit von Algorithmen verwendet werden.
--- Ende Zitat ---
Das schreibt der Wikipedia-Eintrag, auf den ja Bezug genommen wird.
Dort steht aber auch (noch): "Zu umständlich beschrieben - der Beitrag ist in der Diskussion".
Ich verstehe das so (und praktiziere das ggf. auch so):
Eine globale Variable hat einen vorab definierten Zustand, zum Bleistift "False". Auf diesen Zustand wird in den nachfolgenden Routinen permanent geprüft. Tritt eine bestimmte Bedingung ein, wird die Variable in einen anderen Zustand versetzt ("True"). Die nächste Prüfung innerhalb der abhängigen Routinen (beispielsweise innerhalb einer Rekursion) schlägt jetzt fehl (naja, das ist falsch - die Prüfung stellt den neuen Zustand fest) und bricht jetzt alle Folgeaktionen - egal, welche noch aufgerufen werden, ab.
Im Problem vom CLI könnte das auch die Lösung für den Abbruch der Rekursion sein: Die Routine, die die "verlinkten" Dokumente (ich sag' das jetzt mal so, da uns das Verfahren ja noch vollkommen unklar ist) verfolgt und aktualisiert, meldet als Function das Ergebnis zurück: True -> weitermachen, False -> Fehler oder fehlende weitere Verknüpfung oder - wie schon richtig angemerkt - ein Rückverweis und damit eine "In Ewigkeit, Amen, sprach die Endlosschleife", also "Ende Gelände".
Bernhard
PS: Der CLI sollte sich unbedingt vom Begriff "Treppenförmiges Suchen" trennen, das kann zu argen Begriffsverwirrungen führen, weil das einen geraden Weg impliziert. Hier geht es aber wirklich um Rekursion (also eigentlich überhaupt keinen Zusammenhang zur "Schleife", die irgendwie geradlinig oder von mir aus auch "treppenförmig" ist) oder ist - um in den Metaphern zu bleiben - eher an das (theoretische) Matrjoschka-Prinzip angelehnt.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln