Wie bringe ich dem Computer das Rechnen bei?

Computer heisst ja eigentlich auf Deutsch Rechner (von lat. computare = (be)rechnen). Aber ein Computer kann ohne Anleitung nicht einmal 1+1 zusammenzählen. Er braucht Anleitung in der Form eines Programms. In diesem Artikel werde ich ihm anhand eines Beispielprogramms das Rechnen beibringen. Das Beispielprogramm ist in der Programmiersprache Python geschrieben. Als erstes werde ich dem Computer das Zählen beibringen. Dann in rekursiver Form die Addition und die Multiplikation.

Das Zählen

Unter Zählen verstehen wir, dass auf die 1 die 2 folgt und auf die 2 die 3 usw. Das versteht sich als Vorwärtszählen. Das Rückwärtszählen wird dadurch ausgedrückt, dass sich z.B. vor der 3 die 2 und vor der 2 die 1 befindet. Wie bringe ich diese beiden Umstände nun dem Computer bei? In Python benutze ich dazu zwei Module. Mit dem Modul successor definiere ich das Vorwärtszählen und mit dem Modul precessor das Rückwärts-zählen.

def successor(number):
    return number+1

def precessor(number):
    return number-1

print(successor(1)) #Output 2
print(precessor(1)) #Output 0

Somit bringe ich dem Computer das Zählen bei. Dies verwende ich nun für die Addition und die Multiplikation.

Die Addition

Für die Addition von 3 + 2 benutze ich beide Hände. Ich strecke auf der linken Hand 3 Finger aus und auf der Rechten 2 Finger. Wenn ich auf der Rechten einen Finger einziehe, strecke ich auf der Linken wieder einen. Dies muss ich zweimal tun, somit komme ich auf das Resultat von 5. Mit diesem Trick bringe ich dem Computer das Addieren bei. Ich schreibe ihn im Modul add und gebrauche die beiden im Abschnitt «Das Zählen» entworfenen Module successor und precessor.

def add(x,y):
    if(y==0):
        return x
    else:
        return add(successor(x),precessor(y))

print(add(3,2)) #Output 5

Die Multiplikation

Die Multiplikation ist komplexer, wenn diese in rekursiver Form geschrieben werden soll. In der iterativen Form kann einfach eine Hilfsvariable mit 0 definiert werden und wir sind bei dem Zahlenstrahl. Für 3 * 2 heisst das, eine Länge der Einheit 3 zweimal hintereinander legen. In der rekursiven Form wird zuerst das Multiplikationsmodul aufgerufen und dann das Additionsmodul. Das Additionsmodul wird bei 3 * 2 einmal durchlaufen.

def mult(x,y):
    if(y==1):
        return x
    else:
        return add(x, mult(x,precessor(y)))

print(mult(3,2)) #Output 6

Zusammenfassung

So habe ich dem Computer das Rechnen beigebracht. Dieses Programm läuft nur mit den natürlichen Zahlen ohne die Null.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.