Gadgets
Copyright © 2024 Jiri Kriz, www.nosco.ch

Benutzung

Sie benutzen den Rechner in der gleichen Art, als ob Sie auf einem Blatt Papier rechnen würden. Schreiben Sie einen Ausdruck, drücken Sie die Eingabe-Taste, und Sie erhalten das Resultat auf der nächsten Zeile. Verwenden Sie '*' für die Multiplikation, '/' für die Division, und '^' für das Exponentieren. Zahlen können Exponenten 'e' oder 'E' haben, z.B. 1.0e-2 bedeutet 0.01. Sie können Variablen zum Speichern von Zwischenresultaten verwenden. Bitte beachten Sie, dass die Variablen ihre Werte behalten, nur solange Sie die Seite nicht verlassen.

Sie können auch vorherige Zeilen wiederverwenden: setzen Sie den Cursor auf die gewünschte Linie und drücken Sie die Eingabe-Taste. Die Zeile wird auf den Schluss kopiert, dort kann sie editiert und durch Drücken der Eingabe-Taste an den Interpreter geschickt werden. Das Resultat wird darunter angezeigt.

Sie können die üblichen mathematischen Funktionen und Konstanten im PHP Stil verwenden. Die häufigsten Funktionen und Konstanten sind in den Auswahlmenus vorbereitet und können dort selektiert werden. Andere PHP Funktionen und Konstanten müssen manuell in das Eingabeformular geschrieben werden.

Beispiel

1 + 2 <ENTER>
= 3
x = (1 + 2) * 3 <ENTER>
= 9
y = (x - 1) / 2 <ENTER>
= 4
z = x - sqrt(y) <ENTER>
= 7
Radius = 1 <ENTER>
= 1
A = M_PI * M_PI * Radius^2 <ENTER>
= 3.1415926535898
Area = M_PI * pow(Radius, 2) <ENTER>
= 3.1415926535898

Referenzen

PHP Funktionen
PHP Konstanten

Technologie

Die Interaktion mit dem Benutzer ist mit Javascript gemacht. Der eigentliche Rechner ist als "top-down recursive descent" Parser und Interpreter in PHP realisiert. Javascript kommuniziert mit PHP mit der Ajax Methode.

Die BNF der benutzten Grammatik ist:

program := statement
statement := assignment | expression
assignment := variable_name = expression
expression := term | term + term | term - term
term := power | term * power | term / power
power := factor | factor ^ factor
factor := number | variable_name | function_name ( function_call ) | - factor | + factor | ( factor )