Home > Informatik > Stufe Q1 > 12. Suchen > 12.1 Lineare Suche

Übung 12.1-1, Lösungshinweise

Die Aufgabe

Übung 12.1-1

Ein Schüler, dessen Namen wir jetzt mal nicht nennen wollen, hat einen Entwurf für eine Java-Methode erstellt, die in einem Objekt-Array CD[] nach einem bestimmten Begriff sucht. Falls die gesuchte CD gefunden wurde, soll der Name oder der Titel der CD ausgegeben werden. Wurde die CD nicht gefunden, soll ein entsprechender Hinweis ausgegeben weren.

Hier das Flussdiagramm des Schülers für den linearen Suchalgorithmus:

Ein Entwurf für einen Algorithmus zur linearen Suche

Analysieren Sie diesen Entwurf und beurteilen Sie, ob er funktionieren könnte. Falls Sie Fehler finden, verbessern Sie den Entwurf.

Mit einem Flussdiagramm stellt man den logischen Programmfluss dar. Eingaben des Benutzers werden mit Hilfe von Kästchen notiert, die vom Aussehen her an eine Lochkarte erinnern: Ein Rechteck, dessen obere linke Ecke schräg abgeschnitten ist. Einfache Befehle werden in rechteckigen Kästchen notiert, Entscheidungen in Rauten, den sogenannten Entscheidungsrauten. Ausgaben werden in Kästchen geschrieben, deren unterer Rand aussieht wie ein abgerissenes Blatt Papier. Die Texte in den Kästchen müssen nicht der Java-Syntax entsprechen, sondern können stark vereinfacht oder sogar in einer Pseudosprache verfasst sein.

Arrays bestehen aus lauter gleichen Elementen, das können auch Objekte sein. Das erste Arrayelement hat stets den Index 0, das zweite Arrayelement den Index 1 und so weiter.

Objekte sind komplexer als einfache Strings. Man kann zwei Strings vergleichen, indem man die Methode equals der Klasse String aufruft. Objekte verschiedener Klassen kann man nicht vergleichen, es sei denn, man entwirft dazu eine eigene sondierende Methode.

Mit diesen Hinweisen sollten Sie in der Lage sein, sämtliche formalen und logischen Fehler in dem obigen Flussdiagramm zu finden.