Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Unqualified call ::= Identifier [ ( [ Actuals ] ) ]<br />
Actuals ::= Actual [ , Actuals ]<br />
Actual ::= Expression | $ Identifier<br />
Call ::= [ ( Expression ) . ] Call chain<br />
Call chain ::= Unqualified call [ .Call chain ]<br />
Conditional ::= if Then part list [ Else part ] end<br />
Then part list ::= Then part [ elseif Then part list ]<br />
Then part ::= Expression then Compound<br />
Else part ::= else Compound<br />
Multi branch ::= inspect Expression<br />
[ When part list ]<br />
[ Else part ]<br />
end<br />
When part list ::= when Whenpart [ When part list ]<br />
When part ::= Choices then Compound<br />
Choices ::= Choice [ , Choices ]<br />
Choice ::= Manifest constant<br />
| Identifier<br />
| Integer constant .. Integer constant<br />
| Character constant .. Character constant<br />
Loop ::= from Compound<br />
[ invariant [ Assertions ] ]<br />
[ variant [ Identifier : ] Integer expression ]<br />
until Expression<br />
loop Compound<br />
end<br />
Debug ::= debug Compound end<br />
4.4 Ausdrücke: Grundbausteine von Eiffel-Programmen<br />
In je<strong>der</strong> mo<strong>der</strong>nen Programmiersprache wird die Berechnung von numerischen Werten unterstützt und die<br />
Auswertung einfacher (Boolescher) logischer Formeln bereitgestellt. Da das eigentliche Rechnen fast ausschließlich<br />
in <strong>der</strong> Auswertung arithmetischer und Boolescher Ausdrücke besteht, bilden Ausdrücke (expressions) die<br />
Grundbausteine aller Programmierung. 40 Im wesentlichen wird für die Bildung von Ausdrücken auf allgemein<br />
übliche Notationen zurückgegriffen und die meisten Ausdrücke sind eigentlich selbsterklärend. Die einzige<br />
Einschränkung besteht darin, daß man sich auf den Zeichensatz, <strong>der</strong> auf <strong>der</strong> Computertastatur zur Verfügung<br />
steht, beschränken muß und daß je<strong>der</strong> Ausdruck in einer (beliebig langen) Zeile nie<strong>der</strong>geschrieben werden<br />
können muß.<br />
Daraus ergibt sich, daß boolesche Junktoren wie ∧, ∨, ⇒ und ¬ durch Schlüsselworte and, or, implies<br />
und not ersetzt werden müssen, Vergleichsoperatoren wie ≥, ≤, = durch Doppelsymbole = und /=<br />
und Funktionen wie √ durch einen Namen (sqrt. Da Bruchstriche nicht erkannt werden, muß eine Division<br />
Fracab durch einen Schrägstrich getrennt nebeneinan<strong>der</strong> geschrieben werden: a/b. Ähnliches gilt für Exponenten.<br />
Statt x 3 müssen wir xˆ3 schreiben. Damit dies nicht zur Verwirrung führt, spielen Klammern und<br />
Prioritätenregelungen (“Punktrechnung geht vor Strichrechnung” etc.) eine große Rolle.<br />
40 Funktionale Programmiersprachen benutzen sogar fast ausschließlich Ausdrücke, um Algorithmen zu beschreiben. Anstelle<br />
von Schleifen werden rekursive Funktionsaufrufe benutzt, bedingte Anweisungen haben als Gegenstück bedingte Ausdrücke und<br />
Folgen von Anweisungen die Komposition von Funktionen.