09.01.2015 Aufrufe

Kapitel 8

Kapitel 8

Kapitel 8

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

374 8 Software-Engineering und DV-Organisation<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯-⎯⎯⎯<br />

8.2 Hilfsmittel für den Entwurf von Algorithmen<br />

Ist ein Software-Projekt soweit detailliert beschrieben, dass mit der Programmierung begonnen<br />

werden kann, so stellt sich noch das Problem des Entwurfs und der Darstellung von Algorithmen.<br />

Auch dazu stehen eine Anzahl von Hilfsmitteln zur Verfügung. Einige sollen hier<br />

kurz behandelt werden: Pseudocode, Ablauf- oder Flussdiagramme, Struktogramme und<br />

Entscheidungstabellen. Teilweise kann auch hier auf die in <strong>Kapitel</strong> 8.1 erläuterten Methoden<br />

sowie auf Automaten (siehe <strong>Kapitel</strong> 9.1) zurückgegriffen werden.<br />

8.2.1 Pseudo-Code<br />

Unter einem Pseudo-Code versteht man eine reduzierte und in einer dem Problem angepassten<br />

Weise formalisierte, jedoch der natürlichen Sprache ähnliche Kunstsprache. Algorithmen<br />

lassen sich damit prägnanter und verständlicher formulieren. Um dies zu demonstrieren,<br />

wird der als „binäres Suchen“ bekannte Algorithmus zur Suche eines Eintrages in<br />

einer geordneten Datei zunächst in natürlicher Sprache und anschließend mit Hilfe eines<br />

Pseudo-Codes formuliert:<br />

Beispiel: Binäres Suchen im Klartext und als Pseudo-Code<br />

Gegeben sei eine Datei mit n Elementen, die nach einem Ordnungskriterium (z.B. lexikographisch,<br />

oder bei numerischen Werten, der Größe nach) geordnet sind. Für ein bestimmtes,<br />

vorgegebenes Element x ist nun der die Position von x in der Datei kennzeichnende Index zu<br />

ermitteln. Dazu wird die Datei in eine untere und eine obere Hälfte unterteilt. Nun wird durch<br />

Vergleich von x mit demjenigen Element, das gerade die Grenze zwischen den beiden Hälfte<br />

bildet, festgestellt, ob es mit diesem Element übereinstimmt, oder ob es in der oberen oder in<br />

der unteren Hälfte liegen müsste, sofern es überhaupt in der Datei enthalten ist. Man halbiert<br />

nun auf diese Art den Suchbereich, in dem x jeweils vermutet wird, immer weiter, bis entweder<br />

x gefunden wurde, oder bis der Suchbereich kein Element mehr enthält. In diesem Fall<br />

ist x in der untersuchten Datei nicht enthalten.<br />

Diese Beschreibung des Algorithmus in natürlicher Sprache ist nicht so weit gehend formalisiert,<br />

dass eine Übertragung in ein Programm ohne weiteres möglich wäre. Insbesondere<br />

wäre eine automatische Programm-Generierung mit Hilfe eines Software-Werkzeugs derzeit<br />

noch undurchführbar. Unter Verwendung eines einfachen Pseudo-Codes lässt sich der Algorithmus<br />

jedoch in eine kompakte und dennoch leicht lesbare Form bringen:<br />

SETZE untergr auf 1<br />

SETZE obergr auf n<br />

SOLANGE untergr

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!