Systematisches Entwerfen von (kleineren) Computerprogrammen

[ Verfasser: Prof. Dr. Gerhard Oetzmann / Auf dem Horn 5 / 21220 Seevetal ]

Zum Ingenieurstudium gehören seit langer Zeit die Grundlagen der Computerprogrammierung. In zunehmendem Maße versuchen auch Schulen, insbesondere die Abiturienten mit entsprechenden Grundkenntnissen auszustatten. Üblicherweise werden im Rahmen dieser Programmier-Grundausbildung sequentielle Programme in einer Programmiersprache der 3. Sprachgeneration erstellt. Beispiele solcher 3GL-Sprachen sind BASIC,  C,  COBOL,  FORTRAN  und PASCAL. Sequentielle Programme sind dadurch gekennzeichnet, daß sie genau einen Anfang und genau ein Ende haben. Ferner gilt, daß unmittelbar nach dem Ausführungsende eines Befehls höchstens ein Folgebefehl anläuft.

Sowenig die umfassende Kenntnis von Vokabeln zum aktiven Gebrauch der entsprechenden Fremdsprache befähigt, sowenig bildet die Kenntnis der Befehlsarten einer Programmiersprache eine ausreichende Grundlage für die Erstellung eines Computerprogrammes. Die wesentliche Leistung bei der Erstellung eines sequentiellen Programms liegt nicht in der korrekten Niederschrift der Anweisungen, sondern in der Entwicklung eines dem Problem angemessenen Lösungsweges.

Langjährige Erfahrung in der EDV-Grundausbildung von Ingenieuren, die  der generellen Fachrichtung Maschinenbau zuzurechnen sind, zeigt, daß das Finden von Lösungswegen vielen Studenten große Schwierigkeiten bereitet. Das veranlaßte den Verfasser, ein Lehr- und Übungsbuch ("Programmierübungen, techn.-wiss. Ausrichtung") zu schreiben, in dem an 40 Fallbeispielen das Entwerfen von Lösungswegen demonstriert wird. Die Lösungen und meist mehrere Zwischenstufen aus der Entwurfsphase sind als Struktogramme dargestellt. Für die Steuerung des Programmablaufs werden neben dem Prozeduraufruf nur 3 Grundstrukturen benutzt :
-    Sequenz
-    Alternative (mit 2 oder mehr Wegen)
-    Schleife (mit eingangsseitiger Prüfung) 

Nicht nur die verwendete Symbolik ist sprachneutral, auch die Lösungswege sind grundsätzlich nur vom Problem abhängig. In Programmiersprachen, die die Sprachkonstrukte "Mehr-Wege-Alternative" und "Ereignis-Schleife" enthalten, lassen sich die Lösungen, und das gilt dann für sämtliche sequentiellen Programme, so codieren, daß sie der Programmiermethodik der "Strukturierten Programmierung" genügen. Hierfür ist typisch, daß die textuelle Reihenfolge der Anweisungen im Quellenprogramm und die zeitliche Abfolge bei der Programmausführung weitgehend übereinstimmen.

Besonders pflegeleicht werden die Programme, wenn im Quellenprogramm weder offene noch versteckte Sprunganweisungen auftreten. (Das läßt sich beispielsweise in FORTRAN-90 realisieren; aber auch schon in fast allen FORTRAN-77-Dialekten, sofern das über die 77er Norm hinausgehende "DO-WHILE" verfügbar ist.)

Grundvoraussetzung für ein übersichtliches Quellenprogramm bleibt aber der gut strukturierte Lösungsweg. Ein solcher stellt sich fast von selbst ein, wenn als Darstellungsform das Struktogramm gewählt und neben dem Prozeduraufruf nur die 3 genannten Grundstrukturen genutzt werden (und weitere sind übrigens generell unnötig) - vorausgesetzt, der Bearbeiter ist grundsätzlich zur Bewältigung der aktuellen Programmieraufgabe befähigt. Den GOTO-Freaks zum Trost: Auch nach der vollständigen Trennung vom GOTO geht das Programmiererleben weiter! Hier spricht der Verfasser aus eigener Erfahrung. Als er 1968 mit dem Programmieren begann und auch in den darauf folgenden Jahren, galt der bedingte Sprung als das Nonplusultra der Programmsteuerung. Seit vielen Jahren aber sind die Programme des Verfassers auch bei einem Umfang von mehr als 10.000 Anweisungen 100% GOTO-frei. Das erleichtert die Programmpflege immens! Zugegeben: In der Übergangsphase war Willensstärke nötig. Nach einiger Erfahrung jedoch wird erkennbar, und das zeigt sich auch beim Durcharbeiten der "Programmierübungen", daß das Entwerfen von Struktogrammen viel systematischer ablaufen kann, als bei einem flüchtigen Blick auf das Aufgabenspektrum zu erwarten ist.

Nachfolgend die Inhaltsverzeichnis-Kurzfassung der "Programmierübungen" :
     Seite
    1 -     4                 Einleitung
    5 -   18                  9    Aufgaben für echte Anfänger
  19 -   42                  9    Aufgaben für Ungeübte
  43 -   68                  8    Aufgaben für Fortgeschrittene
  69 - 156                14    Aufgaben für Könner
        157                  Schlußwort
158 - 159                Stichwortverzeichnis

Allein aus den Seitenzahlen läßt sich die wachsende Komplexität der Übungen ablesen. Wem Programmier-Grundkenntnisse genügen, der muß sich auch nicht alle Aufgaben erarbeiten. Neben der Beschäftigung mit den Einzelproblemen gilt es noch, zahlreiche, teils offene, teils als Kryptogramm oder in anderer Form versteckte Tips und Hinweise zu entdecken. Manche dieser Botschaften darf auch außerhalb der EDV und sollte insbesondere von Studenten beachtet werden.


Verlag:  Rita Oetzmann,  Auf dem Horn 5,  21220 Seevetal    
Preis:   16,-  €
 

Stand der Dokumentation:    Januar 2007

Haftungshinweis: Aus rechtlichen Gründen distanziere ich mich ausdrücklich von den Inhalten aller von anderen verfaßten Internetseiten, die von hier per Link erreichbar sind.

[Ggf. zur persönlichen Startseite ]