IsMathematikerRealNumber: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 27: Zeile 27:
=== Beispiele ===
=== Beispiele ===
  //Kein Operant
  //Kein Operant
  isMathematikerRealNumber(5.5)  --> returns true
  isMathematikerRealNumber(5.5)  --> returns ''true''
  isMathematikerRealNumber(5)  --> returns true
  isMathematikerRealNumber(5)  --> returns ''true''
  isMathematikerRealNumber(constE())  --> returns true
  isMathematikerRealNumber(constE())  --> returns ''true''
  isMathematikerRealNumber(constPi())  --> returns true
  isMathematikerRealNumber(constPi())  --> returns ''true''
   
   
  isMathematikerRealNumber(infinity())  --> returns false, da Unendlich nicht als Zahl definiert ist
  isMathematikerRealNumber(infinity())  --> returns ''false'', da Unendlich nicht als Zahl definiert ist
   
   
  // Ein Operant
  // Ein Operant
  isMathematikerRealNumber(sqrt(3))  --> returns true
  isMathematikerRealNumber(sqrt(3))  --> returns ''true''
  isMathematikerRealNumber(ln(4))  --> returns true
  isMathematikerRealNumber(ln(4))  --> returns ''true''
  isMathematikerRealNumber(cos(4))  --> returns true
  isMathematikerRealNumber(cos(4))  --> returns ''true''
  isMathematikerRealNumber(sin(2))  --> returns true
  isMathematikerRealNumber(sin(2))  --> returns ''true''
  isMathematikerRealNumber(tan(1))  --> returns true
  isMathematikerRealNumber(tan(1))  --> returns ''true''
  isMathematikerRealNumber(-6)  --> returns true
  isMathematikerRealNumber(-6)  --> returns ''true''
  isMathematikerRealNumber(constE()^2)  --> returns true  
  isMathematikerRealNumber(constE()^2)  --> returns ''true''
  isMathematikerRealNumber(constPi()/2)  --> returns true
  isMathematikerRealNumber(constPi()/2)  --> returns ''true''
   
   
  isMathematikerRealNumber(2*3)  --> returns false, der Ausdruck lässt sich weiter vereinfachen
  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(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(sqrt(4))  --> returns ''false'', der Ausdruck lässt sich weiter vereinfachen
  isMathematikerRealNumber(3^5)  --> returns false, der Ausdruck lässt sich weiter vereinfachen
  isMathematikerRealNumber(3^5)  --> returns ''false'', der Ausdruck lässt sich weiter vereinfachen
   
   
  // Zwei Operanden
  // Zwei Operanden
  isMathematikerRealNumber(-1/5)  --> returns true
  isMathematikerRealNumber(-1/5)  --> returns ''true''
  isMathematikerRealNumber(1/-5)  --> returns true
  isMathematikerRealNumber(1/-5)  --> returns ''true''
  isMathematikerRealNumber(-sqrt(3))  --> returns true
  isMathematikerRealNumber(-sqrt(3))  --> returns ''true''
  isMathematikerRealNumber(sqrt(4/9))  --> returns true
  isMathematikerRealNumber(sqrt(4/9))  --> returns ''true''
  isMathematikerRealNumber(sqrt(3)/2)  --> returns true
  isMathematikerRealNumber(sqrt(3)/2)  --> returns ''true''
  isMathematikerRealNumber(sqrt(sqrt(3)))  --> returns true
  isMathematikerRealNumber(sqrt(sqrt(3)))  --> returns ''true''
  isMathematikerRealNumber(((3)^0.5)^0.5)  --> returns true
  isMathematikerRealNumber(((3)^0.5)^0.5)  --> returns ''true''
  isMathematikerRealNumber(2^(1/3))  --> returns true
  isMathematikerRealNumber(2^(1/3))  --> returns ''true''
  isMathematikerRealNumber(sqrt(2)*constPi())  --> returns true
  isMathematikerRealNumber(sqrt(2)*constPi())  --> returns ''true''
  isMathematikerRealNumber(1+sqrt(3))  --> returns true
  isMathematikerRealNumber(1+sqrt(3))  --> returns ''true''
   
   
  isMathematikerRealNumber(sqrt(-1))  --> returns false, es handelt sich um eine komplexe Zahl
  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(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
  isMathematikerRealNumber(0.5/(1/2))  --> returns ''false'', der Ausdruck lässt sich weiter vereinfachen
   
   
  // Drei Operanden
  // Drei Operanden
  isMathematikerRealNumber(1/2*sqrt(3))  --> returns true
  isMathematikerRealNumber(1/2*sqrt(3))  --> returns ''true''
  isMathematikerRealNumber(sqrt(3^2+5))  --> returns false, der Ausdruck lässt sich weiter vereinfachen
  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
  isMathematikerRealNumber((1/2)/(1/2))  --> returns ''false'', der Ausdruck lässt sich weiter vereinfachen
   
   
  // Vier Operanden
  // Vier Operanden
  isMathematikerRealNumber(-1/2*sqrt(3))  --> returns true
  isMathematikerRealNumber(-1/2*sqrt(3))  --> returns ''true''


==== Benutzung von Variablen ====
==== Benutzung von Variablen ====

Version vom 12. April 2024, 07:02 Uhr

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.


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 und
  • Die Eingabe kann nicht weiter vereinfacht werden.

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

Die Überprüfung mit Textfeldern funktioniert nur, wenn man den Formeleditor verwendet.

Gibt man keinen Editor an, wird für ein Textfeld ([input=fillin1] usw.) ein OpenMath String zurückgegeben. Dadurch gibt isMathematikerRealNumber([input=fillin1]) sowie isMathematikerRealNumber('[input=fillin1]') immer false zurück. Um ein richtiges Ergebnis zu erlangen, muss Matches genutzt werden.