Wenn Werte von einem Durchlauf in den nächsten übernommen werden sollen, empfiehlt sich die Verwendung von Schieberegistern. Ein Schieberegister besteht aus zwei Anschlüssen (vgl. Abbildung), die sich an den Längsseiten der Schleife gegenüber liegen.

Der Anschluss an der rechten Seite der Schleife (durch einen Pfeil nach oben gekennzeichnet) speichert die Werte jedes Durchlaufs. Der im rechten Anschluss gespeicherte Wert des Schieberegisters wird daraufhin an den Anschluss auf der linken Seite übergeben. Der Wert am linken dient nun als Ausgangswert für die nächste Iteration. Dieser Vorgang wird bis zum Ausführungsende der Schleife wiederholt. Nachdem die Schleife ausgeführt wurde, gibt der rechte Schleifenanschluss den letzten Wert des Schieberegisters aus.

Mit Schieberegistern kann jeder beliebige Datentyp übertragen werden, da Schieberegister automatisch den Datentyp des ersten mit ihnen verbundenen Objekts annehmen. Die Daten, die an den gegenüberliegenden Anschluss eines Schieberegisters übergeben werden, müssen vom gleichen Typ sein. Wenn ein Fehler-Cluster mit einem Schieberegister in einer parallelen For-Schleife verbunden ist, wird das Schieberegister in ein Fehlerregister umgewandelt.

Eine Schleife kann auch mehrere Schieberegister enthalten. Dadurch können die Werte verschiedener Operationen in die jeweils nächste Schleifenausführung übernommen werden (vgl. folgendes Blockdiagramm).

Im dargestellten Blockdiagramm wird vom Anschluss rechts oben des Schieberegisters der Wert 2 (die Summe von 0 und 2 aus der ersten Iteration) an den Anschluss links oben übertragen und dient somit als Ausgangswert für den nächsten Durchlauf. Vom Anschluss rechts unten des Schieberegisters wird ebenfalls der Wert 2 (das Produkt von 1 und 2 aus der ersten Iteration) an den Anschluss links unten übergeben

Während der zweiten Iteration werden 2 und 2 addiert und das Ergebnis, 4, wird für die dritte Iteration an den linken oberen Anschluss übergeben. Während der zweiten Iteration werden außerdem 2 und 4 multipliziert und das Ergebnis, 8, wird für die dritte Iteration an den linken unteren Anschluss übergeben.

Nach zehn Iterationen wird das Endergebnis der Addition vom Anschluss oben rechts an das obere Anzeigeelement und das Endergebnis der Multiplikation vom Anschluss unten links an das untere Anzeigeelement übergeben.

Methoden des Datenaustauschs Startseite