Hauslekture. Ситникова О.А - 45 стр.

UptoLike

45
wechseln. Man spricht in diesem Zusammenhang auch von einem optimierten
Algortihmus.
Übung l Welche Annahme wird im letzten Algorithmus stillschweigend
vorrausge-setzt, damit er wirklich funktioniert?
Wie erhält man nun einen (halbwegs) richtigen Algorithmus?
11. Problemzerlegung
Wer ein Problem hat, versucht dies solange wie möglich vor sich herzuschieben.
Das ist auch eine Möglichkeit, aber keine Lösung. Der erste Ansatz ist es, das
Problem zu verstehen. Weiß man erst einmal, worum es geht, ist schon viel
gewonnen.
Hat man das WAS, kann man zum WIE übergehen. Zunächst überlegt man sich,
wie man die Aufgabe (oder das Problem allgemein) mit Papier und Bleistift angehen
würde. Kommt man auf diese Weise zu einem Ergebnis, ist man fast fertig.
Jetzt gilt es, das soeben per Hand durchexerzierte noch einmal systematisch
durchzugehen. Dabei notiert man sich jeden Schritt.
Dieses Rezept muß man jetzt noch einmal auf Ungereimtheiten oder diffuse
Anweisungen überprüfen und gegebenenfalls überarbeiten. Man erhält eine
Arbeitsanweisung, die auch von einem anderen verstanden werden sollte.
Diese Arbeitsanleitung ist der fertige Algorithmus!
12. Grundstrukturen
Wenn man einige Algorithmen erstellt hat, merkt man sehr schnell, daß sie sich
immer wieder aus denselben Grundelementen zusammensetzten. Und es gibt gar nicht
so viele davon, sondern nur Drei oder Vier!
Anweisungsfolge: Eine Anweisungsfolge ist eine gewisse Anzahl von
Anweisungen, die eine nach der anderen ohne Zögern und Rückfragen durchgeführt
werden. Aus dem Geldwechsel-Beispiel kennen wir das noch: Berechne den
Rückgabebetrag, Suche den größten darin enthaltenen Einzelwert, Subtrahiere, ...
Eine Anweisungsfolge wird immer vollständig in unveränderlicher Reihenfolge
abgearbeitet. Keine Anweisung wird übersprungen oder mehrfach ausgeführt.
Alternative: Eine Alternative im Algorithmus erkennt man an den magischen
Worten WENN und DANN. Hier hat das Verfahren dann zwei Möglichkeiten,
weiterzumachen. Ein beliebtes Beispiel dafür ist die Bildung des Betrages einer
reellen Zahl. Wie man aus der Mathematik-Vorlesung hoffentlich noch weiß, ist der
Betrag einer reellen Zahl immer positiv, d.h. ein eventuell vorhandenes Minuszeichen
wird einfach weggelassen. Aber wie berechnet man aus einer Zahl irgendwo in den
Tiefen des Hauptspeichers den Absolutwert?
Nun, man sieht nach, ob der Betrag der Zahl positiv ist, dann ist alles in Ordnung
und man läßt die Zahl wie sie ist. Ist die Zahl dagegen negativ, wird sie mit -1
multipliziert und mit dem neuen Wert weitergearbeitet. Streng formalisiert kann man
auch schreiben: