22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Wir könnten natürlich auch die Prozedur an<strong>der</strong>s definieren:<br />

Schicht(i): if i>1<br />

then Schicht einlegen;<br />

Schicht (i-1)<br />

else Schicht einlegen<br />

Hier wird die Prozedur noch einmal aufgerufen, bevor sie fertig ist. Man nennt diese Prozedur deshalb rekursiv.<br />

Mit den Parametern und <strong>der</strong> Rekursion haben wir die Strukturierungsmöglichkeiten von Pascal erreicht.<br />

Mit diesen Möglichkeiten <strong>der</strong> Ablaufstrukturierung und den noch zusätzlichen Möglichkeiten <strong>der</strong> Datenstrukturierung<br />

kann man alle Verfahren beschreiben, die sich überhaupt beschreiben lassen. Die Untersuchung,<br />

welche Verfahren sich algorithmisch beschreiben lassen, ist ein Thema <strong>der</strong> theoretischen <strong>Informatik</strong>.<br />

1.3.5 Modularisierung<br />

Es zeigt sich nun in <strong>der</strong> Praxis, daß man weitere Strukturierungsmöglichkeiten braucht, um einen zuverlässigen<br />

Betrieb zu gewährleisten. Stellen Sie sich vor, <strong>der</strong> Koch darf in die Kasse greifen, obwohl nur <strong>der</strong> Kassierer<br />

für die Kasse verantwortlich ist, und <strong>der</strong> Kassierer greift ins heisse Öl, da er nicht als Koch ausgebildet ist. In<br />

unseren Burger-Betrieb hat je<strong>der</strong> seine Aufgaben und kein an<strong>der</strong>er kann in seinen Bereich eingreifen. Daraus<br />

ergibt sich, daß <strong>der</strong> Betrieb eine Sammlung von Teilbetrieben (Küche, Kasse, Buchhaltung) ist, die sich<br />

gegenseitig Leistungen anbieten, aber je<strong>der</strong> in seinem Bereich strikt autonom ist. Es gibt nun zwei extreme<br />

Ansätze <strong>der</strong> Kommunikation und des Materialflusses dieser Teilbetriebe:<br />

• Zentral: Je<strong>der</strong> Teilbetrieb empfängt Anweisungen und Materialien vom Chef und liefert alles an den Chef.<br />

Der Chef or<strong>der</strong>t einen einfachen Burger und stellt dafür ein Brötchen, ein tiefgekühltes Hacksteak, eine<br />

Portion Salatblätter, Tomaten, Essiggurken und KetchUp zur Verfügung. Der Koch gibt den fertigen<br />

Burger an den Chef zurück, <strong>der</strong> ihn ins Fach stellt. Eine solche zentrale Organisation <strong>der</strong> Kommunikation<br />

und des Materialflusses nennt man Top-Down.<br />

• Dezentral: Je<strong>der</strong> Teilbetrieb macht und verwaltet das, was er eben kann. Die Kommunikation erfolgt<br />

direkt zwischen den Teilbetrieben. Die Kasse or<strong>der</strong>t bei <strong>der</strong> Küche einen Burger. Die Küche verlangt<br />

vom Lager ein Brötchen, ein tiefgekühltes Hacksteak, eine Portion Salatblätter, Tomaten, Essiggurken<br />

und KetchUp. Das Lager liefert das Gewünschte, Die Küche macht den Burger fertig und liefert ihn<br />

an die Kasse. Ein Chef in obiger Form ist nicht notwendig. Je<strong>der</strong> Burgerbetrieb ist nach dieser Form<br />

organisiert. Man nennt diese Organisationsform <strong>der</strong> Komunikation und des Materialflusses objektbasiert.<br />

Der Unsinn einer zentralistischen Organisation ist im obigen Beispiel evident. Trotzdem wurde bis etwa 1980<br />

nach diesem Konzept programmiert(, was aber nicht nur ein Fehler <strong>der</strong> <strong>Informatik</strong> war). Das Subsidiaritätsprinzip,<br />

daß jede Einheit das leistet, was sie selbst leisten und verantworten kann, und sich nicht entmündigen<br />

läßt, hat in <strong>der</strong> <strong>Informatik</strong> die Namen Geheimnisprinzip o<strong>der</strong> Datenkapselung, Dies drückt aber nur aus: “den<br />

Koch geht die Art, wie die Kasse arbeitet, nichts an und umgekehrt”. Die schärfere For<strong>der</strong>ung “die Kasse<br />

macht alles, was eine Kasse eben zu tun hat” muß man sich stets dazu denken. In <strong>der</strong> <strong>Informatik</strong> heißen die<br />

Teilbetriebe Moduln o<strong>der</strong> Units. Modula, Ada und Turbo Pascal 5.0 unterstützen das objektbasierte Konzept.<br />

1.3.6 Klassifizierung<br />

Bis jetzt haben wir nur über eine Küche und eine Kasse gesprochen. Das ist aber unökonomisch, da eine<br />

Küche mehr produziert, als eine Kasse verkaufen kann. Daher müssen wir mehrere Kassen einrichten, die<br />

unabhängig voneinan<strong>der</strong> mit <strong>der</strong> Küche zusammenarbeiten. D.h. wir haben zwar nur eine Beschreibung <strong>der</strong><br />

Kasse, aber mehrere Kassen, die nach dieser Beschreibung arbeiten. Die Beschreibung nennen wir Klasse. Die<br />

einzelnen Kassen sind Objekte dieser Klasse, die sich genau nach dem vorgegeben Konzept <strong>der</strong> Klasse Kasse<br />

richten. Das Klassenkonzept wird von Simula67, Smalltalk, Eiffel und von Turbo Pascal 5.5 unterstützt.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!