0 Daumen
2k Aufrufe

Eine Kommazahl mit Vorzeichen besteht aus einem optionalen Vorzeichen + oder -, den Vorkommastellen, einem Dezimalpunkt und den Nachkommastellen. Führende Nullen sind nicht erlaubt.

Beispiel:

-2.305  ,       +2.00000  ,        3.141592


Geben Sie eine Grammatik an, mit der sich vorzeichenbehaftete Kommazahlen darstellen lassen.


Ansatz:

$$\mathrm { G } _ { \mathrm { E } } = \left( \mathrm { V } _ { \mathrm { E } } , \Sigma _ { \mathrm { E } } , \mathrm { S } _ { \mathrm { E } } , \mathrm { P } _ { \mathrm { E } } \right) \mathrm { mit } \\ V _ { E } = V _ { N } u \left\{ S _ { E } \right\} \\ \Sigma _ { E } = \Sigma _ { N } u \{ + , - , ( , ) \} \\ P _ { E } = P _ { N } \cup \left\{ S _ { G }\right. → - \left( S _ { E } \right) \left| + \left( S _ { E } \right) \right| \left( S _ { E } \right) | S _ { N } \} $$

Avatar von

Wenn da Dezimalpunkt steht, solltest du vermutlich kein Kommas ausgeben.

Ist das Beispiel korrekt? D.h. ist plus optional?

Dann brauchst du 3 Fälle:

(MINUS oder PLUS oder NICHTS) und ERSTEZiffer und weitere Ziffern oder Punkt (maximal ein Punkt!) weitere Ziffern.

Man muss ausserdem wissen, wie viele Vor- oder Nachkommaziffern vorkommen müssen und dürfen.

Führende Nullen sind nicht erlaubt.

Was bedeutet das genau?

-0.5 ist verboten?

Soll man -.5 schreiben oder eine Exponentialschreibweise benutzen?

1 Antwort

0 Daumen

Verwende doch die BNF zu einer sehr ähnlichen Aufgabe gibt es sogar ein Beispiel auf Wikipedia!

Avatar von
Made by a lovely Community