HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material

Suchen in einer Liste

In unserer Tangram-Modellierung führt der TeileVerwalter eine lineare Liste der ihm anvertrauten Teile. Die Ordnung in dieser Liste entspricht der Anordung der Teile auf dem Bildschirm. Zeichnet man die Polygone der Liste von hinten her, so ergibt sich diese Anordnung von alleine. Beim Anklicken wird in der Liste von vorne nach dem ersten Teil gesucht, das der Bedingung "Punkt liegt innerhalb des Polygons" genügt. Von diesem Teil wird erwartet, dass es aus der Liste herausgenommen wird und nach vorne rückt. Der Rest der Teile soll dabei seine Anordnung behalten.
Das Suchen in einer Liste ist eine typische Aufgabe der Informatik. Für kleine Listen und für Bedingungen, die ein Listen-Mitglied erfüllen soll, eignet sich die Verwendung eines "logischen Schalters". Dieser Schalter kann z.B. durch eine boolesche Variable gefunden implementiert werden. Das Weitersuchen in einer Schleife wird dann vom Zustand der Variablen gefunden und vom Vorhandensein weiterer Listenelemente abhängig gemacht.
Nebenstehendes Bild zeigt das Nach-Vorne-Tauschen des gefundenen Teils:

1. hilf := Liste[stelle];
2. for i := stelle downto 1 do Liste[i] := Liste[i-1];
3. Liste[0] := hilf;

Quelltextauszug:

  .....
  gefunden := false;
  i := 0;
  while (i

Aufgabe:

Schreibe ein kleines Übungsprogramm mit dem ein String in einer Stringliste (memo.Lines) gesucht werden kann. Nebenstehender Prototyp soll eine Anleitung sein.