Numeralia in Python (Numeralia in Python), Lektion, Seite 723758
https://www.purl.org/stefan_ram/pub/numeralia_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Dezimalnumeralia in Python 

Einführendes Beispiel

Eine Folge von Ziffern kann als Zeichenfolgenliteral wie »'32767'« geschrieben werden. Bei einer Folge, die nur  aus Ziffern besteht, dürfen die umschließenden Apostrophe aber auch weggelassen werden, und die Folge gilt trotzdem meist als ein Ausdruck!

Die Ziffernfolge »32767« steht für die Zahl ‹ 32767 ›. (Eine Schreibweise wie ‹ 32767 › mit einfachen Guillemets [gijəmɛ] "‹" und "›" soll eine mathematische Schreibweise kennzeichnen – hier die aus der Schulmathematik bekannte Zahlenschreibweise).

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
32767
32767

Als Eingabe ist also auch eine Folge von Dezimalziffern  erlaubt, die eine Zahl  angeben kann.

Dezimalnumeralia

Ein Dezimalnumerale  (Plural: „Dezimalnumeralia“) ist eine Schreibweise einer bestimmten Zahl (vor allem im Quelltext) im Dezimalsystem (Zahlensystem zur Basis 10).

Ein Numerale  ist allgemein eine Schreibweise einer Zahl.

Ein Beispiel für ein Dezimalnumerale hatten wir schon kennengelernt: »32767«.

Aufbau von Dezimalnumeralia

Unter einer „Dezimalziffer außer 0“ verstehen wir die Ziffern »1«, »2«, »3«, »4«, »5«, »6«, »7«, »8« oder »9«.

Lernhinweis Es ist nicht nötig, den genauen Aufbau, wie er durch die Aufbaudiagramme vermittelt wird, auswendig zu lernen. Die Aufbaudiagramme sind eher dafür gedacht, sie in Zweifelsfällen heranziehen zu können.

Produktionsregel
Jede Dezimalziffer ausser 0
.-.
|-|---.--->( 1 )---.--->|-|
| '-' ^
| .-. |
'--->( 2 )---'
| '-' ^
| .-. |
'--->( 3 )---'
| '-' ^
| .-. |
'--->( 4 )---'
| '-' ^
| .-. |
'--->( 5 )---'
| '-' ^
| .-. |
'--->( 6 )---'
| '-' ^
| .-. |
'--->( 7 )---'
| '-' ^
| .-. |
'--->( 8 )---'
| '-' ^
| .-. |
'--->( 9 )---'
'-'

Eine Dezimalziffer  ist eines der zehn Schriftzeichen »0«, »1«, »2«, »3«, »4«, »5«, »6«, »7«, »8« oder »9«.

Produktionsregel
Dezimalziffer
.-.
|-|---.-------->( 0 )----------.--->|-|
| '-' |
| .---------------. |
| | Jede | |
'--->| Dezimalziffer |---'
| ausser 0 |
'---------------'

Ein Dezimalnumerale kann folgendermaßen aufgebaut sein:

Es beginnt mit einer der Ziffern »1«, »2«, »3«, »4«, »5«, »6«, »7«, »8« oder »9«. Danach können nun noch beliebig viele der Ziffern »0«, »1«, »2«, »3«, »4«, »5«, »6«, »7«, »8« oder »9« folgen. Zwischen zwei Ziffern darf immer ein Grundstrich »_« eingefügt werden.

Beispiele: »32767« und »32_767«.

Produktionsregel

Dezimalnumerale

.---------------.
| Jede |
|-|--->| Dezimalziffer |---.---------------------------------------.--->|-|
| ausser 0 | ^ |
'---------------' | |
| .---------------. |
'---| Dezimalziffer |----<--------------'
'---------------' ^ |
| .-. |
'---( _ )---'
'-'

Es gibt aber auch noch eine weitere Produktionsregel für ein Dezimalnumerale:

Das Dezimalnumerale kann auch mit einer Null »0« beginnen, der noch beliebig viele Nullen »0« folgen dürfen. Wie zuvor, so darf auch hier zwischen zwei Ziffern immer noch ein Grundstrich eingefügt werden.

Beispiele: »0« und »00«.

Produktionsregel

Dezimalnumerale

.-.
.---( _ )---.
| '-' |
V |
.----<----------'---.
| |
V .-. |
|-|---'------>( 0 )-------'--->|-|
'-'

Semantik

Die Auswertung eines Dezimalnumerales ergibt ein Objekt, das eine Zahl darstellt.

Die von einem Dezimalnumerale dargestellte Zahl erhält man, indem man etwaige Grundstriche entfernt und dann den auch aus dem Alltag für Dezimalnumeralia geläufige Bedeutung abliest. Beispielsweise steht das Dezimalnumerale »10« für die Zahl ‹ 10 ›. Auch das Dezimalnumerale »1_0« steht für die Zahl ‹ 10 ›.

Ausdrückliche Formulierung

Der Wert eines Dezimalnumerales kann auch wie folgt ausdrücklich beschrieben werden:

Zur Ermittlung des Wertes eines Dezimalnumerales werden zunächst alle Grundstriche »_« entfernt.

Falls das Dezimalnumerale nur aus einer Ziffer besteht, ist sein Wert der Zahlenwert jener Ziffer. So ergibt sich für das Dezimalnumerale »6« beispielsweise der Wert Sechs.

Falls das Dezimalnumerale aus mehr als einer Ziffer besteht, zerlegen wir es gedanklich in zwei Teile: die letzte Ziffer und den „vorderen Teil“, also den Teil vor  der letzten Ziffer. Der Zahlenwert ist dann das Zehnfache  des Wertes des vorderen Teils zuzüglich des Wertes der letzten Ziffer. So ergibt sich für das Dezimalnumerale »26« beispielsweise das Zehnfache des Wertes von »2« plus dem Wert von »6«, also Sechsundzwanzig.

Da bei dieser ausdrücklichen Formulierung die Verzehnfachung eine besondere Rolle spielt, spricht man bei dieser Semantik vom „Dezimalsystem“ – das heißt vom „Zehnersystem“.

Anmerkungen

Grundstriche in Dezimalnumeralia

Das Zeichen »_« wird in DIN 32743  Grundstrich genannt. Diese Bezeichnung wird hier übernommen.

Zur optischen Gliederung können auch Grundstriche »_« zwischen zwei Dezimalziffern eingefügt werden. Die Bedeutung  eines Dezimalnumerales ergibt sich dann wieder nach dem Entfernen aller Grundstriche.

Numerale
32_767
Gleichwertiges Dezimalnumerale
32767
Eingabe eines Quelltextes und Ausgabe einer Textdarstellung seines Wertes
32_767
32767

Der Grundstrich »_« ist hier also nur eine Lesehilfe  für Menschen, von einer Python -Implementation wird er ignoriert.

Literale

Der Oberbegriff für Zeichenfolgenliterale und Dezimalnumeralia ist Literal. Ein Literal ist ein einfacher Ausdruck, der ziemlich direkt eine bestimmte Sache (wie eine Zahl oder eine Zeichenfolge) angibt. Sein Wert ist ein Objekt, welches die vom Literal angegebene Sache darstellt.

»'abc'« ist ein Zeichenfolgenliteral und »123« ist ein Dezimalnumerale, beides sind Literale.

Begriffshierarchie der Literale
                  Ausdruck
^
|
Literal
^
|
.-----------'-----------.
| |
Zeichenfolgenliteral Dezimalnumerale
'abc' 123

Übungsfragen ʳ⁴⁴

?   Ausgabe vorhersagen ʳ⁴⁴

Welche Ausgabe erscheint in einer Python -Konsole, welche eine Textdarstellung der Werte eingegebener Quelltexte ausgibt, für die folgende Eingabe?

Eingabe
7

(Dieses ist eine einfache  Übungsfrage, keine Scherz- oder Fangfrage!)

?   Gleichheit von Werten ʳ⁴⁴

Ist der Wert  des Dezimalnumerales »2_2« gleich dem Wert  des Dezimalnumerales »22«?

?   Gleichheit von Dezimalnumeralia ʳ⁴⁴

Ist das Dezimalnumerale  »2_2« gleich dem Dezimalnumerale  »22«?

Aufbaudiagramme der Sprache ⃗

Aufbaudiagramm für Ausdrücke

Ausdruck

.---------.
|-|--->| Literal |--->|-|
'---------'

Literal

.----------------------.
|-|---.--->| Zeichenfolgenliteral |---.--->|-|
| '----------------------' |
| .----------------------. |
'--->| Dezimalnumerale |---'
'----------------------'

Zeichenfolgenliteral
.-. .-.
|-|---.--->( ' )---.------------------------------.--->( ' )---.--->|-|
| '-' ^ | '-' ^
| | .---------------------. | |
| '---| ein Zeichen außer ' |<---' |
| '---------------------' |
| .-. .-. |
'--->( " )---.------------------------------.--->( " )---'
'-' ^ | '-'
| .---------------------. |
'---| ein Zeichen außer " |<---'
'---------------------'

Jede Dezimalziffer ausser 0
.-.
|-|---.--->( 1 )---.--->|-|
| '-' ^
| .-. |
'--->( 2 )---'
| '-' ^
| .-. |
'--->( 3 )---'
| '-' ^
| .-. |
'--->( 4 )---'
| '-' ^
| .-. |
'--->( 5 )---'
| '-' ^
| .-. |
'--->( 6 )---'
| '-' ^
| .-. |
'--->( 7 )---'
| '-' ^
| .-. |
'--->( 8 )---'
| '-' ^
| .-. |
'--->( 9 )---'
'-'

Dezimalziffer
.-.
|-|---.-------->( 0 )----------.--->|-|
| '-' |
| .---------------. |
| | Jede | |
'--->| Dezimalziffer |---'
| ausser 0 |
'---------------'

Dezimalnumerale (0)

.---------------.
| Jede |
|-|--->| Dezimalziffer |---.---------------------------------------.--->|-|
| ausser 0 | ^ |
'---------------' | |
| .---------------. |
'---| Dezimalziffer |----<--------------'
'---------------' ^ |
| .-. |
'---( _ )---'
'-'

Dezimalnumerale (1)

.-.
.---( _ )---.
| '-' |
V |
.----<----------'---.
| |
V .-. |
|-|---'------>( 0 )-------'--->|-|
'-'

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723758 stefan_ram:723758 Numeralia in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723758, slrprddef723758, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/numeralia_python