Zum Inhalt

01 · Natürliche Zahlen: Null, Nachfolger und Rekursion

Natürliche Zahlen: Null, Nachfolger und Rekursion

Stellen Sie jede natürliche Zahl als Null oder Nachfolger dar und lesen Sie Gleichheit und Addition aus diesen Fällen.

Vor diesem Kapitel

Operatoren rufen spezielle Methoden auf; der Dekorator protokolliert beim Zurückkehren.

Danach können Sie
  • die mathematische Definition von „Natürliche Zahlen: Null, Nachfolger und Rekursion“ in eigenen Worten erklären
  • ihre Darstellung in Python-Daten zeigen
  • aus dem echten Code einen kleinen Ablauf vorhersagen
Mathematische Definition

Null und Nachfolger gehören zu Peanos Ausgangsaxiomen. `n + 0 = n` und `n + S(m) = S(n + m)` sind rekursive Additionsdefinitionen.

Datenrepräsentation

`pre=None` bedeutet Null, `pre=n` bedeutet `S(n)`. Die 2 ist die Kette `S(S(0))`, kein Feld mit dem int 2.

Python-Implementierung

`0` / `S(n)` → `NaturalNumber.pre`; recursive addition → `__add__`

Implementierung und Tests zum Mitlesen

peano/natural_number.py · tests/test_natural_number.py

Mathematische Definition

Mathematische Definition

Null und Nachfolger gehören zu Peanos Ausgangsaxiomen. n + 0 = n und n + S(m) = S(n + m) sind rekursive Additionsdefinitionen.

Datenrepräsentation

Datenrepräsentation

pre=None bedeutet Null, pre=n bedeutet S(n). Die 2 ist die Kette S(S(0)), kein Feld mit dem int 2.

Python-Implementierung

Python-Implementierung

__eq__ trennt Null und Nachfolger und vergleicht Vorgänger; die Zweige von __add__ entsprechen den beiden Gleichungen.

Die im Kurs verwendete genaue Zuordnung:

`0` / `S(n)` → `NaturalNumber.pre`; recursive addition → `__add__`

Ausführungsablauf

Ausführungsablauf

Bei 2 + 2 sinkt der rechte Operand bis Null. Beim Rückweg erscheint der Basisfall vor den äußeren Aufrufen.

Vorhersage vor dem Lauf

Notieren Sie Basiszeile, letzte Rekursionszeile und Endwert.

Experiment · Natürliche Zahlen: Null, Nachfolger und Rekursion Nicht ausgeführt
⌘ / Ctrl + Enter
Ausgabe
Erst vorhersagen, dann ausführen.

Prüfung durch Tests

Prüfung durch Tests

Tests benennen die Trennung der Null, Injektivität des Nachfolgers und Additionsgleichungen; sie ersetzen keine Induktion.

Geltungsbereich und Grenzen

Geltungsbereich und Grenzen

Die unäre Kette zeigt Struktur, wird aber mit dem Wert teurer; verwenden Sie kleine Eingaben.

Welche Aussage beschreibt die Implementierung von „Natürliche Zahlen: Null, Nachfolger und Rekursion“ korrekt?