Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03481.jsonl.gz/2039

Operation den Datenstrukturdiagrammen und den daraus entwickelten
Programmstrukturen zugeordnet. Dieses Entwurfsprinzip ist aber
ausschließlich für umformende Problemstellungen
geeignet.

Wichtig für die allgemeinen Probleme ist, daß die Eingabe-
und Ausgabedaten eines Programms genau analysiert und
strukturiert werden. Das führt meist auch zu kürzeren und
übersichtlicheren Programmen. Bei der Datenanalyse können Sie
folgendermaßen vorgehen:
- Welche Daten sollen ausgegeben werden?
- Welche Daten werden zur Berechnung benötigt? (Je weniger
das sind, desto besser! Das Prinzip "am besten nehme
ich alle erreichbaren Daten und suche mir nachher die
benötigten raus!" führt nämlich in den meisten
Fällen zu einem Datenmüll, der nicht mehr zu
bewältigen ist.)
- Welche Werte können die Daten annehmen?
- Welche der so gefundenen Daten (die sogenannten
Datenelemente) gehören zusammen?
- Welche Struktur haben zusammengehörende Daten:
- Ist die Anzahl fest oder variabel?
- Sind stets alle Daten relevant?
- Bilden verschiedene Datenelemente einen neuen
Datentyp?
Es hat sich auch beim Entwurf von Programmiersprachen schnell
herausgestellt, die zu verarbeitenden Daten nach ihrer Art, ihrem
Typ, zu unterscheiden. In strukturierten Sprachen ist es
üblich, alle verwendeten Variablen am Anfang eines Programmes
summarisch aufzuführen. Das trägt zu dessen Verständlichkeit
und Leserlichkeit wesentlich bei. Insbesondere gehört zu einer
guten Dokumentation die explizite Angabe des Wertebereiches einer
jeden Variablen. Die wichtigsten Gründe dafür sind die
folgenden:
- Die Kenntnis des Wertebereiches einer Variablen ist
entscheidend für das Verständnis eines Algorithmus.
Ohne explizite Angabe des Wertebereiches ist es meistens
schwierig, festzustellen, welche Art von Objekten eine
Variable repräsentiert, und die Ermittlung möglicher
Fehler wird erheblich erschwert.
- Die Zweckmäßigkeit und die Korrektheit eines Programms
sind in den meisten Fällen abhängig von den
Anfangswerten der Argumente, und sie sind nur für
bestimmte Bereiche garantiert. Daher gehört es zur
Dokumentation eines Algorithmus, daß diese Bereiche
explizit aufgeführt sind.
- Der Speicherbedarf für die Repräsentation einer
Variablen im Speicher eines Computers hängt von deren
Wertebereich ab. Damit ein Compiler die nötigen
Speicherzuordnungen vornehmen kann, ist die Kenntnis der
Wertebereiche unerläßlich.
- Operatoren, die in Ausdrücken vorkommen, sind nur für
gewisse Wertebereiche ihrer Argumente wohldefiniert. Ein
Compiler kann auf Grund der angegebenen Wertebereiche
prüfen, ob die vorkommenden Kombinationen von Operatoren
und Operanden zulässig sind. Die Angabe der
Wertebereiche der Variablen dient also als Redundanz
zur Überprüfung des Programms während seiner
Übersetzung.
- Die Realisierung von Operatoren in Rechenanlagen hängt
unter Umständen von den Wertebereichen der Operanden ab.
Ihre Kenntnis ist daher oft zu einer zweckmäßigen und
effizienten Realisierung unerläßlich. So werden z. B.
in den meisten Rechenanlagen verschiedene interne
Darstellungsarten für ganze und für reelle Zahlen
verwendet, und die detaillierten Abläufe von
arithmetischen Operationen unterscheiden sich stark für
die beiden Darstellungsweisen.
- Eine automatische Prüfung von Grenzverletzungen während
das Programm abläuft durch das Laufzeitsystem ist
möglich --> sichere Programme (auf Kosten der
Geschwindigkeit).