IsMathematikerRealNumber: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
K (Angleichung Number-Funktionen und Hinweis auf JACK3)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 7: Zeile 7:
Die Funktion ''isMathematikerRealNumber'' prüft, ob es sich bei einem gegebenen [[Objekt]] um eine reelle Zahl handelt '''und''' der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.
Die Funktion ''isMathematikerRealNumber'' prüft, ob es sich bei einem gegebenen [[Objekt]] um eine reelle Zahl handelt '''und''' der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.


'''Hinweis:''' Nicht zu verwechseln mit [[isRealNumber|IsRealNumber]]. [[Übersicht Numberfunktionen|Hier]] findet sich eine Übersicht aller Number-Funktionen.
'''Hinweis:''' Nicht zu verwechseln mit [[isRealNumber|IsRealNumber]]. Siehe [[Übersicht Numberfunktionen]].




'''Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:'''
'''Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:'''
* Die Eingabe lässt sich nicht zu Unendlich ausrechnen,
* Die Eingabe lässt sich nicht zu Unendlich ausrechnen,
* Die Eingabe lässt sich zu einer reellen Zahl ausrechnen und
* Die Eingabe lässt sich zu einer reellen Zahl ausrechnen,
* Die Eingabe kann nicht weiter vereinfacht werden.
* Die Eingabe kann nicht weiter vereinfacht werden und
* Die Eingabe ist kein Doppelbruch oder ein Bruch mit Fließkommazahlen.


Eine Eingabe ist weiter vereinfachbar, wenn
Eine Eingabe ist weiter vereinfachbar, wenn
Zeile 82: Zeile 83:


=== Hinweise ===
=== Hinweise ===
Die Überprüfung mit Textfeldern funktioniert nur, wenn man den [[Formeleditor (JACK3)|Formeleditor]] verwendet.
Für die Überprüfung von Fill-In Feldern kann der ''[[Formeleditor (JACK3)|Formeleditor]]'' verwendet werden oder ''Number'' für das Fill-In Feld eingestellt werden. Beispiel: <code>isMathematikerRealNumber([input=fillin1])</code>
 
Gibt man keinen Editor an, wird für ein Textfeld (<code>[input=fillin1] usw.</code>) ein OpenMath String zurückgegeben. Dadurch gibt <code>isMathematikerRealNumber([input=fillin1])</code> sowie <code> isMathematikerRealNumber('[input=fillin1]')</code> immer false zurück.
Um ein richtiges Ergebnis zu erlangen, muss [[Matches#Benutzung von Textfeldern|Matches]] genutzt werden.
 
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:JACK3]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:JACK3]]

Aktuelle Version vom 8. August 2024, 17:32 Uhr

Diese Seite beinhaltet eine Evaluator-Funktion im JACK3 System.

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion isMathematikerRealNumber prüft, ob es sich bei einem gegebenen Objekt um eine reelle Zahl handelt und der eingegebene Term nicht weiter vereinfachbar ist. Die Funktion gibt einen Boolean zurück.

Hinweis: Nicht zu verwechseln mit IsRealNumber. Siehe Übersicht Numberfunktionen.


Für diese Funktion ist die Eingabe dann eine reelle Zahl, wenn die folgenden Kriterien erfüllt sind:

  • Die Eingabe lässt sich nicht zu Unendlich ausrechnen,
  • Die Eingabe lässt sich zu einer reellen Zahl ausrechnen,
  • Die Eingabe kann nicht weiter vereinfacht werden und
  • Die Eingabe ist kein Doppelbruch oder ein Bruch mit Fließkommazahlen.

Eine Eingabe ist weiter vereinfachbar, wenn

  • sie mindestens einen Operanten enthält (+, -, *, /, ^, sqrt) und
  • sich zu einer Ganzzahl ausrechnen lässt.

Syntax

isMathematikerRealNumber(Objekt objekt)

Parameter

  • objekt - das zu überprüfende Objekt

Return Value

  • Gibt einen Boolean zurück. True, wenn es sich um eine reelle Zahl nach obigen Kriterien handelt.

Beispiele

//Kein Operant
isMathematikerRealNumber(5.5)   --> returns true
isMathematikerRealNumber(5)   --> returns true
isMathematikerRealNumber(constE())   --> returns true
isMathematikerRealNumber(constPi())   --> returns true

isMathematikerRealNumber(infinity())   --> returns false, da Unendlich nicht als Zahl definiert ist

// Ein Operant
isMathematikerRealNumber(sqrt(3))   --> returns true
isMathematikerRealNumber(ln(4))   --> returns true
isMathematikerRealNumber(cos(4))   --> returns true
isMathematikerRealNumber(sin(2))   --> returns true
isMathematikerRealNumber(tan(1))   --> returns true
isMathematikerRealNumber(-6)   --> returns true
isMathematikerRealNumber(constE()^2)   --> returns true 
isMathematikerRealNumber(constPi()/2)   --> returns true

isMathematikerRealNumber(2*3)   --> returns false, der Ausdruck lässt sich weiter vereinfachen
isMathematikerRealNumber(0.5/0.5)   --> returns false, der Ausdruck lässt sich weiter vereinfachen
isMathematikerRealNumber(sqrt(4))   --> returns false, der Ausdruck lässt sich weiter vereinfachen
isMathematikerRealNumber(3^5)   --> returns false, der Ausdruck lässt sich weiter vereinfachen

// Zwei Operanden
isMathematikerRealNumber(-1/5)   --> returns true
isMathematikerRealNumber(1/-5)   --> returns true
isMathematikerRealNumber(-sqrt(3))   --> returns true
isMathematikerRealNumber(sqrt(4/9))   --> returns true
isMathematikerRealNumber(sqrt(3)/2)   --> returns true
isMathematikerRealNumber(sqrt(sqrt(3)))   --> returns true
isMathematikerRealNumber(((3)^0.5)^0.5)   --> returns true
isMathematikerRealNumber(2^(1/3))   --> returns true
isMathematikerRealNumber(sqrt(2)*constPi())   --> returns true
isMathematikerRealNumber(1+sqrt(3))   --> returns true

isMathematikerRealNumber(sqrt(-1))   --> returns false, es handelt sich um eine komplexe Zahl
isMathematikerRealNumber(sqrt(2^2))   --> returns false, der Ausdruck lässt sich weiter vereinfachen
isMathematikerRealNumber(0.5/(1/2))   --> returns false, der Ausdruck lässt sich weiter vereinfachen

// Drei Operanden
isMathematikerRealNumber(1/2*sqrt(3))   --> returns true
isMathematikerRealNumber(sqrt(3^2+5))   --> returns false, der Ausdruck lässt sich weiter vereinfachen
isMathematikerRealNumber((1/2)/(1/2))   --> returns false, der Ausdruck lässt sich weiter vereinfachen

// Vier Operanden
isMathematikerRealNumber(-1/2*sqrt(3))   --> returns true

Benutzung von Variablen

isMathematikerRealNumber([input=fillin1])

isMathematikerRealNumber([var=a])

Hinweise

Für die Überprüfung von Fill-In Feldern kann der Formeleditor verwendet werden oder Number für das Fill-In Feld eingestellt werden. Beispiel: isMathematikerRealNumber([input=fillin1])