5.6. Programmstrukturen, Struktogramme und Programm-Ablaufpläne - PAP |
![]() |
![]() |
Letztmalig dran rumgefummelt: 14.03.18 10:13:52 |
![]() |
So komplex Programme in ihrer Logik auch sein mögen - sie sind auf nur drei Grundstrukturen zurück zu führen. Zwei davon kennen noch jeweils Unterordnungen, auf die man aber teilweise auch verzichten könnte. Diese allerdings als Laie noch datenflusstechnisch verfolgen zu können, kann schon mit wenigen Programmzeilen unmöglich werden. Klar ist, dass hier Erfahrung nur durch Erfahrung sowie der geschulte Blick nur durch eben selbigen zu ersetzen ist. | |||||||
![]() |
1. Allgemeines |
|||||||
![]() |
|
|||||||
![]() |
Quellen:
|
|||||||
![]() |
Ablaufplan, wie ich mich morgens anziehe ;-) |
|||||||
![]() |
Nassi-Shneiderman Diagramme sind ein graphisches Hilfsmittel, den teilweise komplexen Ablauf von Ereignissen zu beschreiben. In der Informatik werden Diagramme verwendet, um die Struktur von Programmen darzustellen. Außerdem benutzt man Flow-Charts. Eine genaue Beschreibung kann in [I. Nassi and B. Shneidermann, "Flowchart techniques for structured programming", ACM SIGPLAN Notices, vol. 8, pp. 12-26, Aug. 1973] nachgelesen werden. | |||||||
![]() |
|
1. Allgemeines |
![]() |
![]() |
![]() |
![]() |
Nur drei wirklich verschiedene "Denkstrukturen" und somit auch Strukturen für "Ablaufpläne" - denn nichts anderes sind Programme - sind notwendig, um unsere Welt in Zusammenhängen komplex und doch mathematisch fassbar zu beschreiben. | ||||||
![]() |
|
||||||
![]() |
|
||||||
![]() |
|
2. Geradeausprogramme - Sequenzen |
![]() |
![]() |
![]() |
![]() |
Das ist am Anfang die wohl häufigste Programmstruktur - man kennt sie von jeder Schrittfolge zur Lösung jeder Aufgabe aus der Mathematik oder Geometrie. Wichtig ist, das einzelne Schritte evtl. austauschbar, jedoch keine Entscheidungen innerhalb des Ablaufes zu treffen sind. |
![]() |
3. Verzweigungen - Alternativen |
![]() |
![]() |
![]() |
![]() |
Verzweigungen können entweder
einfach oder aber mehrfach sein - in jedem Falle wird jedoch eine logische
Aussage, welche auch noch extrem komplex verknüpft sein kann, zur
Entscheidung herangezogen. Jede Logikaufgabe funktioniert nach diesem
Schema. Wir unterscheiden einfache unvollständige sowie einfache vollständige und mehrfache Alternativen. |
![]() |
|
![]() |
|
![]() |
|
![]() |
Einfache Alternative unvollständig - IF bedingung THEN anweisungen
if bedingung |
![]() |
Einfache Alternative vollständig - IF bedingung THEN anweisungen
ELSE anweisungen
if bedingung |
![]() |
Mehrfache Alternative - CASE selector OF anweisungen ELSE
anweisungen
case selector
|
4. Programmschleifen - Zyklen |
![]() |
![]() |
![]() |
![]() |
Das zweite Stützbein der strukturierten Programmierung - das Wiederholen des ewig gleichen mit nur geringfügig anderen Parametern. Das ist fast so wie der Urlaub auf Ibiza, jedes Jahr gleich, aber doch jeweils um ein Jahr älter!!! | ||||
![]() |
|
||||
![]() |
|
||||
![]() |
|
5. Unterprogramme - Subroutinen |
![]() |
![]() |
![]() |
![]() |
Unterprogramme und diese als solche zu erkennen, sind das Salz in der Suppe der Programmierung. In den Hochsprachen faktisch von vornherein so aufgebaut, muss man solche wiederkehrenden Strukturen auf Maschinenebene erst einmal finden und geschickte Parameter-Weitergabe organisieren. |
![]() |
Subroutinen sind der große Bruder der Zyklen - sie werden wiederholt ausgeführt. Im Gegensatz zu diesen allerdings an nicht gleicher Programmstelle. Einige Programmiersysteme unterscheiden zwischen Prozeduren und Funktionen - andere, wie BASIC nehmen das in einem Aufwasch |
![]() |
Funktionen - besonders interessant, da rekursiv sinnvoll einsetzbar |
![]() |
Prozeduren - sie können mehr als einen Parameter zwischen Hauptprogramm sowie rufender Prozedur auch mit verschiedenen Datentypen vermitteln - wir unterscheiden dann Werteparameter (Value-Parameters) und Übergabeparameter (Referenz-Parameters) |
6. Interrupt-Service-Routinen |
![]() |
![]() |
![]() |
![]() |
... das sind auch Subrotinen, allerdings mit einer etwas erweiterten Eigenschaft. Sie sind nämlich in der Lage |
![]() |
Subroutinen sind der große Bruder der Zyklen - sie werden wiederholt ausgeführt. Im Gegensatz zu diesen allerdings an nicht gleicher Programmstelle. |
7. Editoren für Struktogramme und Ablaufpläne |
![]() |
![]() |
![]() |
![]() |
Struktogramme sind grafische Veranschaulichungen von Programmabläufen - man kann sie einfach per Hand oder mit einem Grafikprogramm wie CorelDraw entwickeln, Dabei sind sind besonders Ablaufpläne gar keine Erfindung der Informatik - jeder Bauablauf oder technologische Plan unterliegt genau den selben Anforderungen - und das allerschönste ist, das er auch genau die selben Strukturen nutzt, was allerdings nur kurzzeitig wundern darf, denn schließlich sollen Programme ja reale Abläufe nachbilden bzw. vordenken ;-) | ||||
![]() |
Schaltjahr Definition:
Die erste Daumenregel (die wir Gaius Julius Caesar immerhin bereits aus dem Jahre 46 v. Chr. zu verdanken haben) lautet: Ist eine Jahreszahl ohne Rest durch 4 teilbar, ist das Jahr ein Schaltjahr. Da diese Definition später als zu ungenau erkannt wurde, wurde (erst am 24. Februar 1582) von Papst Gregor XIII der Gregorianische Kalender verkündet, der nicht nur die Berechnung des Ostersonntags komplizierter als zuvor regelte, sondern auch die bis dahin bestehende 10-minütige Ungenauigkeit eines Jahres korrigierte: Ab diesem Datum galten neben der bekannten Definition nur solche restfrei durch 100 teilbare Jahre als Schaltjahre, die auch durch 400 glatt teilbar waren.
Teilbar heißt in diesem Fall ohne Rest teilbar. Der Gregorianische Kalender |
||||
![]() |
|
||||
![]() |
insgesamt arbeit eich mit diesen drei kleinen Teilen, welche Freeware sind und sich für die Lösung meiner Softwareentwicklungs-Probleme hervorragend eignen, andere Probleme lösen wir mit anderen Werkzeugen ;-) |
||||
![]() |
8. Weblinks zum Thema |
![]() |
![]() |
![]() |
![]() |
|
![]() |
9. Verwandte Themen |
![]() |
![]() |
![]() |
![]() |
Hier kann man eigentlich hinschreiben: Pauschal alles, was mit Programmierung zu tun hat - einschließlich der Worst-Case-Planung. Wir beschränken uns auf das, was in diesem bereich ausgearbeitet und einigermaßen auf Stand ist. | ||||||||||||
![]() |
|
||||||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Juni 2006 |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |
Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-) |