i

Beispiel - Rechenausdrücke

Die Sprache der Rechenausdrücke

Rechenausdrücke kommen in Programmiersprachen zur Beschreibung von Berechnungen vor. So enthält die Python-Anweisung x = x + y den Rechenausdruck (bzw. Term) x + y zur Berechnung des Wertes, der der Variablen x zugewiesen werden soll.

Unter der Sprache der Rechenausdrücke soll die Menge aller korrekt gebildeten Rechenausdrücke verstanden werden. Zu dieser Sprache soll z.B. der Rechenausdruck x + y gehören, nicht jedoch die Zeichenfolge + - x.

Ziel der folgenden Betrachtungen ist es, die Sprache der Rechenausdrücke möglichst präzise zu beschreiben. Die Beschreibung soll zudem konstruktiv in dem Sinne sein, dass man jedes Element der Sprache (d.h. jeden korrekt gebildeten Rechenausdruck) mit der gegebenen Beschreibung erzeugen kann.

Beschreibung des Aufbaus von Rechenausdrücken mit Syntaxdiagrammen

Die folgenden Syntaxdiagramme beschreiben eine Teilmenge der korrekt gebildeten (Python-) Rechenausdrücke.

Ausdruck:

Syntaxdiagramm

Summand:

Syntaxdiagramm

Faktor:

Syntaxdiagramm

Variable:

Syntaxdiagramm

Zahl:

Syntaxdiagramm

Ziffer:

Syntaxdiagramm

Mit Hilfe dieser Diagramme lassen sich Rechenausdrücke wie folgt erzeugen: Man konstruiert einen Weg durch die Diagramme beginnend im Diagramm Ausdruck so, dass die Folge der Symbole in den abgerundeten Kästchen entlang des Wegs einen Term bilden.

Aufgabe 1

Analysiere die folgende Wegbeschreibung. Welche Wege werden jeweils in den Diagrammen gewählt? In welche Diagramme wird jeweils gewechselt? Welcher Rechenausdruck ergibt sich insgesamt?

Ausdruck ->
Summand + Summand ->
Faktor + Summand ->
Variable + Summand ->
x + Summand ->
x + Faktor * Faktor ->
x + Zahl * Faktor ->
x + Ziffer Ziffer * Faktor ->
x + 2 Ziffer * Faktor ->
x + 2 0 * Faktor ->
x + 2 0 * Variable ->
x + 2 0 * y

Aufgabe 2

Versuche, analog Wegbeschreibungen für folgende Rechenausdrücke zu konstruieren: x-y-2, x-(y-2), (x+y)*(x-y).

Suche

v
4.2.2.1.2
inf-schule.de/automaten-sprachen/sprachenundautomaten/sprachbeschreibung/syntaxdiagramme/beispiel_rechenterme
inf-schule.de/4.2.2.1.2
inf-schule.de/@/page/MJBnXJrkpOY0ExpP

Rückmeldung geben