PYTHON-MINI-DOC

Kokavecz, 2000


Datum: 25.10.2000 (Mittwoch)
Uhrzeit: 18:50:47
Bearbeiter: Bernd Kokavecz
Projekt:
Ort: /usr2/home/l/koka/Aprogramme/DIVERSE_PROJEKTE/python/hp21/quellen
Dateiname: rechner.py

import math

class Register:

/* Realisiert einen Speicherplatz für eine REAL-Zahl

def __init__(self):

/* Kommentar

def set(self,Zahl):

/* Schreibt eine Zahl in den Speicherplatz

def get(self):

/* Fragt den Zahlenwert im Speicher ab


class Stapel:

/* Realisiert einen Stapel aus 4 Registern bestehend. Als
/* Methoden werden reine Stapeloperatinen implementiert.
/* Die Register heissen X , Y , Z , T
/* Die Methoden sind in Anlehnung an die Programmiersprache FORTH
/* benannt.

def __init__(self):

/* Kommentar

def dup(self):

/* alle Registerinhalte werden um 1 Register nach unten geschoben,
/* der Inhalt von X bleibt erhalten (in y liegt ein Duplikat)

def drop(self):

/* alle Registerinhalte werden um 1 Register nach oben geschoben,
/* der Inhalt von T bleibt erhalten, der Inhalt von X geht verloren.

def swap(self):

/* Die Inhalte der Register X und Y werden vertauscht.

def rotate(self):

/* Die Inhalte der Register werden nach oben verschoben, der
/* Inhalt des Registers X wird nach T transferiert.

def output(self):

/* Der Inhalt des X-Registers wird zurückgegeben, alle Registerinhalte
/* wandern im Stapel um 1 nach oben (der Inhalt von T bleibt erhalten).

def input(self,Zahl):

/* Alle Stapelinhalte wandern nach unten, Zahl wird in das X-Register
/* geschrieben.

def getX(self):

/* Liefert den aktuellen X-Wert (keine Stapelbewegungen)

def setX(self,Wert):

/* Ersetzt den aktuellen X-Wert, ohne dass Stapelbewegungen erfolgen.


class Rechner(Stapel):

/* Kommentar

def __init__(self):

/* Der Rechner besteht im Wesentlichen aus einem Stapel mit zusätzlichen
/* Rechenmethoden. Er erbt deshalb von Stapel. Hier wird für jede Taste
/* eine entsprechende Methode deklariert.

def addieren(self):

/* X wird X+Y

def subtrahieren(self):

/* X wird Y-X

def multiplizieren(self):

/* X wird X*Y

def dividieren(self):

/* X wird X:Y

def radizieren(self):

/* X wird SQRT(X)

def invertieren(self):

/* X wird 1:X

def loeschen(self):

/* X wird 0