Skip to main content

1993 | Buch

Methoden der imperativen Programmierung

Mit Beispielen in MODULA-2 und EIFFEL

verfasst von: Dr. rer. nat. Hans-Georg Stork

Verlag: Vieweg+Teubner Verlag

Buchreihe : Leitfäden der angewandten Informatik

insite
SUCHEN

Über dieses Buch

Seit Anfang der siebziger Jahre gibt es an der Universität Karlsruhe die Möglich­ keit, das Fach "Wirtschaftsingenieurwesen" mit dem Schwerpunkt Informatik zu studieren. Studenten, die sich für diesen Schwerpunkt entscheiden, wird - ne­ ben einführenden Vorlesungen über Mathematik und aus dem Bereich der Wirt­ schaftswissenschaften - eine breite Grundausbildung in Informatik angeboten. Deren Kern ist ein viersemestriger Kurs, welcher die wichtigsten Kenntnisse zum Verständnis des Aufbaus, des Betriebs und der Anwendung von Rechnern vermittelt. Zur Befriedigung eines eher "akademischen" Erkenntnisinteresses wird dabei - und dies gilt durchaus für den gesamten Studiengang - ganz bewußt der Nutzen hinzukalkuliert, den ein solches Wissen und die damit verbundenen Fertigkeiten für die berufliche Qualifikation der Absolventen haben sollten. Dieses praktische Interesse ist sicher eine der stärksten Motivationen dafür, daß immer häufiger Themen für abschließende Diplomarbeiten angeboten und gewählt wurden, welche die Spezifikation, den Entwurf und die Implementierung größerer Programme beinhalteten, mitunter auch als Teile umfangreicher und länger laufender Projekte. Bei der Anfertigung und Betreuung solcher Arbeiten wurde für Lernende und Lehrende nicht selten ein Mangel erkennbar, der offen­ bar auf eine Lücke im Lehrangebot zurückzuführen war: Vielen Studenten fehl­ te ein hinreichend klares Bewußtsein für das, was die Qualität eines Software­ Produktes ausmacht, ganz zu schweigen von einem guten Verständnis der Mög­ lichkeiten, diese Qualität zu erzielen.

Inhaltsverzeichnis

Frontmatter
1. Imperative Programmierung
Zusammenfassung
Rechner sind Apparate, die mit Worten dazu veranlaßt werden, Dienstleistungen zu erbringen, welche auf der Manipulation symbolischer Repräsentationen von Information beruhen. Die Beispiele für solche Dienstleistungen sind Legion. Wir zählen hier nur einige wenige auf:
  • Eine quadratische Gleichung lösen;
  • das Erstellen und Redigieren von Texten unterstützen;
  • eine Werkzeugmaschine steuern;
  • ein Kraftwerk überwachen;
  • einen ökonomischen Prozeß simulieren;
  • für einen Betrieb die Lohnabrechnung vornehmen;
  • Telefongespräche vermitteln;
  • Daten zu einem anderen Rechner übertragen;
  • die Primzahlen zwischen 1 und 1000 finden;
  • den Bestand einer Bibliothek verwalten;
  • Grafiken zeichnen;
  • als Schachspielgegner fungieren;
  • Bankkonten führen;
  • Meßergebnisse auswerten;
  • seinen eigenen Betrieb steuern;
  • von einer Sprache in eine andere übersetzen;
  • ..., ...
Hans-Georg Stork
2. Qualität und Stil ”im Kleinen”
Zusammenfassung
Dieses Kapitel handelt von der Kleinarbeit des Software-Ingenieurs, dem eigentlichen Schreiben einzelner Programme, die etwa im Rahmen eines Projektes als Teile eines Software-Systems spezifiziert wurden; es handelt von den Ansprüchen, die an diese Arbeit (bzw. deren Resultat) zu stellen sind, und von den Regeln, deren Beachtung die Erfüllung dieser Ansprüche erleichtert.
Hans-Georg Stork
3. Schrittweise Verfeinerung
Zusammenfassung
„Schrittweise Verfeinerung“ als systematische Vorgehensweise bei der Konstruktion von Programmen wurde erstmals explizit (und unter dieser Bezeichnung) erläutert in [WI2]. Die Grundidee ist außerordentlich einfach und naheliegend. Beginnend mit einer verbal gegebenen Aufgabenstellung werden — zunächst ebenfalls verbal — sukzessive Aktionen — definiert, durch deren Ausführung die gestellte Aufgabe erledigt wird. „Sukzessive“ bedeutet, daß eine einmal beschriebene Aktion wiederum aufgebrochen werden kann in „noch elementarere“ Aktionen. Das Verfahren endet mit Aktionen, die unmittelbar durch Anweisungen in der Programmiersprache ausgelöst werden können, also durch die Auswertung von Ausdrücken, durch Zuweisungen und durch Prozeduraufrufe, deren Abfolge durch Iterationen und Selektionen gesteuert wird.
Hans-Georg Stork
4. Programmieren durch Beweisen
Zusammenfassung
In diesem Kapitel werden wir an die Bemerkungen in Abschnitt 2.1.1 über die „Korrektheit von Programmen“ anknüpfen und dieses Thema vertiefen.
Hans-Georg Stork
5. Datenstrukturierter Programmentwurf
Zusammenfassung
Im vorigen Kapitel haben wir eine Möglichkeit kennengelernt, Programme ausgehend von einer Beschreibung ihrer beabsichtigten Wirkung zu entwickeln. In Betracht gezogen haben wir dabei allerdings nur die erste jener „Wirkungsarten“, von denen in der Einleitung des Abschnitts 4.1 die Rede war: die Veränderung interner Zustände. Dies ist eine Sichtweise, die dem Programmierer für viele interessante Probleme sicher zu eleganten Lösungen verhilft. Für eine große Klasse von Aufgabenstellungen jedoch ist sie völlig unzureichend und unpraktikabel. Es handelt sich hierbei um solche Aufgaben, die sich sehr viel leichter und „natürlicher“ durch die Angabe der Struktur eines gewünschten Outputs oder eines aufzunehmenden Inputs spezifizieren lassen, als mit Hilfe prädikativer Beschreibungen interner Speicherzustände.
Hans-Georg Stork
6. Aspekte der Programmierung im Großen
Zusammenfassung
Wie durch die Überschrift unseres zweiten Kapitels und in dessen Einleitung bereits angedeutet, können die bisher in diesem Buch angeschnittenen Problemkreise und behandelten Methoden als einer „Programmierung im Kleinen“ zugehörig angesehen werden. Sie betreffen die Überlegungen, welche ein Programmierer bei der Konstruktion kleiner Programme oder elementarer Programmteile (wie Prozeduren und Funktionsprozeduren) anstellen sollte, um jenen Qualitätsansprüchen gerecht zu werden, die wir im zweiten Kapitel formuliert haben.
Hans-Georg Stork
Backmatter
Metadaten
Titel
Methoden der imperativen Programmierung
verfasst von
Dr. rer. nat. Hans-Georg Stork
Copyright-Jahr
1993
Verlag
Vieweg+Teubner Verlag
Electronic ISBN
978-3-322-94660-7
Print ISBN
978-3-519-02416-3
DOI
https://doi.org/10.1007/978-3-322-94660-7