16.09.2017 Aufrufe

Vorkurs Informatik

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

112 7 Klassen und Objekte<br />

Algorithmus: suche(d 0 ,d 1 ,...,d n−1 ,m)<br />

• Durchlaufe die Elemente der Menge und vergleiche die Komponente „Matrikelnummer“ des<br />

aktuellen Datenobjektes mit m.<br />

• Wenn beide übereinstimmen, dann gib den Verweis auf das aktuelle Element zurück und breche<br />

die Suche ab.<br />

• Falls bei keinem Datenobjekt Gleichheit gefunden wurde, gib einen leeren Verweis zurück.<br />

Abbildung 7.4: Algorithmus zur Suche in einem Datenbestand von Studierendenobjekten<br />

existiert diese Matrikelnummer, sodass ein entsprechender Verweis zurückgegeben werden kann.<br />

Um zu testen, ob die Suche erfolgreich war, bieten Programmiersprachen üblicherweise ein<br />

Schlüsselwort für den leeren Verweis an, z.B. nil oder null. Anhand des Ergebnisses, true oder<br />

false, eines Vergleiches des zurückgegebenen Verweises mit nil oder null auf Gleichheit<br />

kann entschieden werden, ob die Suche erfolgreich war.<br />

Abbildung 7.4 skizziert einen Algorithmus zur Lösung des Suchproblems. Der Algorithmus „suche“<br />

mit den Parametern d 0 ,d 1 ,...,d n−1 sowie mit der Matrikelnummer m durchläuft die Elemente<br />

der Folge und vergleicht die Komponente „Matrikelnummer“ des Datenobjektes von einem<br />

jeweils aktuellen Element mit m. Wenn beide übereinstimmen, gibt er den Verweis auf das<br />

aktuelle Element zurück und bricht die Suche ab. Falls bei keinem Datenobjekt Gleichheit gefunden<br />

wird, gibt er einen leeren Verweis zurück. Umgesetzt wird diese Idee in der Pseudocode-<br />

Darstellung 7.1. In der Bedingung der solange-Schleife wird getestet, ob i < n und die Matrikelnummer<br />

ungleich m ist. Ist dies der Fall, wird i um 1 erhöht und damit zum nächsten Element<br />

weitergegangen.<br />

Für den Zugriff auf die Matrikelnummer im Datenobjekt, auf den d i verweist, wird eine Notation<br />

verwendet, die in Java gebräuchlich ist. Hierbei wird eine sogenannte Methode des Datenobjekts<br />

aufgerufen. In diesem Fall lautet der Name der Methode, welche die Matrikelnummer zurückgibt,<br />

„gibMatrikelnummer“. Nach Durchführung der solange-Anweisung wird untersucht, ob i < n<br />

1 suche(d 0 ,d 1 ,...,d n−1 ,m){<br />

2 i := 0;<br />

3 Solange i

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!