Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
• um eine Kopie des aktuellen Exemplars zu erzeugen (x:=clone(Current)),<br />
• um einem Routinenargument einen Verweis auf das aktuelle Exemplar zu übergeben (x.r(Current)),<br />
• um zu prüfen, ob eine Größe auf das aktuelle Exemplar verweist (x=Current), o<strong>der</strong><br />
• um den Typ einer Größe bei Vererbung an das aktuelle Exemplar zu binden (x:like Current).<br />
4.4.4 Funktionsaufrufe<br />
Bisher haben wir die elementaren Grundformen von Ausdrücken vorgestellt. Die Möglichkeit, existierende<br />
Ausdrücke zu neuen Ausdrücken zusammenzustellen, wird durch Funktionsaufrufe und Operatoren geboten.<br />
Die äußere Form von Funktionsaufrufen haben wir bereits zusammen mit Prozeduraufrufen im Abschnitt 4.3.2<br />
besprochen. Gültige Aufrufe (und damit syntaktisch korrekte Ausdrücke) sind zum Beispiel<br />
empty, fib(n), a.fib(23), a.f(g(x,23,z)), a.f(g(x,23,z)).fib(2)<br />
Man beachte aber die Bemerkungen über die Rolle formaler Parameter und die Einschränkungen bei entfernten<br />
Funktionsaufrufen.<br />
4.4.5 Ausdrücke mit Operatoren<br />
Mit Operatoren können Ausdrücke in an<strong>der</strong>er Form zusammengesetzt werden als durch Funktionsaufrufe mit<br />
Klammerung <strong>der</strong> Argumente. Es gibt einstellige Operatoren, die vor einen Ausdruck gesetzt werden können<br />
(prefix) und zweistellige Operatoren, die zwischen zwei Ausdrücke gesetzt werden können (infix).<br />
• Die wichtigsten vordefinierten einstellige Operatoren sind + und -, die vor INTEGER- und REAL Ausdrücken<br />
stehen dürfen, und not, was auf Boolesche Ausdrücke anwendbar ist. Darüber hinaus dürfen beliebige<br />
(nullstellige) Funktionen als Prefix-Operatoren deklariert wie zum Beispiel in <strong>der</strong> Deklaration<br />
prefix "+":NUMERIC<br />
Eine solche Deklaration vereinbart das Zeichen + als freien Operator, <strong>der</strong> auf ein Objekt vom Typ<br />
NUMERIC angewandt werden darf.<br />
• Die wichtigsten zweistelligen Operatoren sind die Vergleichsoperatoren =, /=, , =, <strong>der</strong>en<br />
Operanden vom Typ INTEGER, REAL o<strong>der</strong> CHARACTER sein dürfen. Ausdrücke mit diesen Operatoren<br />
bilden einen Booleschen Ausdruck. Aus diesem Grunde akzeptieren diese Operatoren – ebenso wie <strong>der</strong><br />
Exponentialoperator ˆ – genau 2 Operanden.<br />
An<strong>der</strong>s ist dies bei den numerischen Operanden +,-,*,/ und den Booleschen Junktoren and, or, implies,<br />
xor, and then und or else. 42 Diese dürfen auch in mehrstelligen Ausdrücken benutzt werden wie in<br />
4+3*15/5 und 4=5 and 3+4=7 or 7