Equal: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
(Füge Hinweis zu Komplexen Zahlen hinzu)
 
(22 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Zugehörige Evaluatoren==
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktionen ''equal'' vergleicht zwei 'einfache' math. Ausdrücke auf Gleichheit miteinander. Wenn die beiden Ausdrücke übereinstimmen gibt die Funktion ''true'' zurück, ansonsten ''false''.
Die Funktionen ''equal'' vergleicht zwei math. Ausdrücke auf Gleichheit miteinander. Wenn die beiden Ausdrücke übereinstimmen gibt die Funktion ''true'' zurück, ansonsten ''false''.


===Syntax===
===Syntax===
Zeile 9: Zeile 10:


===Parameter===
===Parameter===
* '''a''' - [[Zeichenkette]] oder [[Gleitkommazahl]]
* '''a''' - [[Ausdruck]] oder [[Gleitkommazahl]]
* '''b''' - [[Zeichenkette]] oder [[Gleitkommazahl]]
* '''b''' - [[Ausdruck]] oder [[Gleitkommazahl]]


===Return Value===
===Return Value===
Zeile 16: Zeile 17:


===Beispiele===
===Beispiele===
  2+3 == 5    --> returns true
==== Standardfälle ====
  2+3 == 5    --> returns ''true''
equal(4+3,7)    --> returns ''true''
 
==== Benutzung mit Variablen ====
 
[var=a] == [var=b]
   
   
  equal(4+3,7)   --> returns true
  equal([var=a], [var=b])
 
==== Benutzung mit studentischen Eingaben ====
 
'''Jack2:'''
[pos=1] == 3
equal([pos=1], 3)
 
'''Jack3:'''
[input=fillin1] == 3
equal([input=fillin1], 3)
 
==== Vergleich mit ''equals'' und ''equalsExpr'' ====
 
Es werden die drei Funktion '''equal''', '''[[equalsExpr]]''' und '''[[equals]]''' in Zussammenhang gesetzt, welche Funktion in welcher Situation was zurückgibt. Dabei bekommen die Funktionen entweder einen String Ausdruck oder einen mathematischen Ausdruck als Eingabe. Die Ausgaben ''true'' und ''false'' bedeuten, dass die Eingaben ausgewertet werden können, ''error'' bedeutet, dass die Eingabe nicht ausgewertet kann und ein Fehler zurückgegeben wird.
 
{| class="wikitable"
|+ Ausdrücke ohne Operator
|-
! Eingabe !! <span style="color:#6B8E23"> equal </span> / equalsExpr !! equals
|-
| String, String (Bsp.: 'hello','hello') || Error || True
|-
| String, String (Bsp.: '23','23') || Error || True
|-
| String, math (Bsp.: '23',23) || Error || True
|-
| math, String (Bsp.: 23,'23') || Error || True
|-
| math, math (Bsp.: 23,23) || True || True
|}
 
{| class="wikitable"
|+ Ausdrücke mit Operator
|-
! Eingabe !! <span style="color:#6B8E23"> equal </span> / equalsExpr !! equals
|-
| String, String (Bsp.: '2+3','3+2') || Error || False
|-
| String, String (Bsp.: '2+3','2+3') || Error || True
|-
| String, String (Bsp.: '2+3','5') || Error || False
|-
| String, String (Bsp.: 'sin(2)+sqrt(2)','sin(2)*1+sqrt(2)*1') || Error || False
|-
| String, math (Bsp.: '2+3',3+2) || Error || False
|-
| String, math (Bsp.: '2+3',2+3) || Error || False
|-
| String, math (Bsp.: '2+3',5) || Error || False
|-
| String, math (Bsp.: '5',2+3) || Error || True
|-
| String, math (Bsp.: 'sin(2)+sqrt(2)',sin(2)*1+sqrt(2)*1) || Error || False
|-
| math, math (Bsp.: 2+3,3+2) || True || True
|-
| math, math (Bsp.: sin(2)+sqrt(2),sin(2)*1+sqrt(2)*1) || True || True
|-
| math, math (Bsp.: 3.7,37/10) || True || False
|}
 
{| class="wikitable"
|+ Ausdrücke mit Operator und Variablen
|-
! Eingabe !! <span style="color:#6B8E23"> equal </span> / equalsExpr !! equals
|-
| String, String (Bsp.: '2x','2x') || Error || True
|-
| String, String (Bsp.: 'x+y','y+x') || Error || False
|-
| String, math (Bsp.: '2x',2x) || Error || True
|-
| String, math (Bsp.: 'x+y',y+x) || Error || True
|-
| String, math (Bsp.: '5y',2y+3*y) || Error || True
|-
| math, math (Bsp.: 5x+3x,8*x) || True || True
|-
| math, math (Bsp.: 5x+3x,3x+5x) || True || True
|-
| math, math (Bsp.: sin(x),sin(x)*1) || True || True
|}


===Hinweise===
===Hinweise===
* Als Zeichenketten werden insbesondere auch die Komplexen Zahlen erlaubt. Eine Beschreibung der Vorschrift kann [[:Kategorie:Relationaler_Operator#Besonderheiten|hier]] gefunden werden.
* Die Funktion ''equal'' ist ein Alias für [[equalsExpr]].
* Die Funktion ''equal'' kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. 2+3.
* Die Funktion ''equal'' wird mit Hilfe von Sage evaluiert. Es wird <code>bool(arg1==arg2)</code> in Sage berechnet.
* Mit Strings kann die Funktion ''equal'' nicht umgehen, da String keine Sage-Repräsentation hat, es dürfen also keine Strings in dieser Funktion verwendet werden.
* Als Ausdrücke sind insbesondere auch die Komplexen Zahlen erlaubt. Eine Beschreibung der Vorschrift kann [[:Kategorie:Relationaler_Operator#Besonderheiten|hier]] gefunden werden.
* Die Funktion ''equal'' kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. \(2+3\).
* Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.
* Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
* Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.
 


[[Kategorie:Math-Evaluatorfunktion]][[Category:Operator]][[Category:Binärer_Operator]][[Category:Relationaler_Operator]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Category:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 8. Juli 2024, 13:27 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktionen equal vergleicht zwei math. Ausdrücke auf Gleichheit miteinander. Wenn die beiden Ausdrücke übereinstimmen gibt die Funktion true zurück, ansonsten false.

Syntax

 a == b
 equal(a,b)

Parameter

Return Value

  • Gibt einen Boolean zurück.

Beispiele

Standardfälle

2+3 == 5    --> returns true

equal(4+3,7)    --> returns true

Benutzung mit Variablen

[var=a] == [var=b]

equal([var=a], [var=b])

Benutzung mit studentischen Eingaben

Jack2:
[pos=1] == 3
equal([pos=1], 3)
Jack3:
[input=fillin1] == 3
equal([input=fillin1], 3)

Vergleich mit equals und equalsExpr

Es werden die drei Funktion equal, equalsExpr und equals in Zussammenhang gesetzt, welche Funktion in welcher Situation was zurückgibt. Dabei bekommen die Funktionen entweder einen String Ausdruck oder einen mathematischen Ausdruck als Eingabe. Die Ausgaben true und false bedeuten, dass die Eingaben ausgewertet werden können, error bedeutet, dass die Eingabe nicht ausgewertet kann und ein Fehler zurückgegeben wird.

Ausdrücke ohne Operator
Eingabe equal / equalsExpr equals
String, String (Bsp.: 'hello','hello') Error True
String, String (Bsp.: '23','23') Error True
String, math (Bsp.: '23',23) Error True
math, String (Bsp.: 23,'23') Error True
math, math (Bsp.: 23,23) True True
Ausdrücke mit Operator
Eingabe equal / equalsExpr equals
String, String (Bsp.: '2+3','3+2') Error False
String, String (Bsp.: '2+3','2+3') Error True
String, String (Bsp.: '2+3','5') Error False
String, String (Bsp.: 'sin(2)+sqrt(2)','sin(2)*1+sqrt(2)*1') Error False
String, math (Bsp.: '2+3',3+2) Error False
String, math (Bsp.: '2+3',2+3) Error False
String, math (Bsp.: '2+3',5) Error False
String, math (Bsp.: '5',2+3) Error True
String, math (Bsp.: 'sin(2)+sqrt(2)',sin(2)*1+sqrt(2)*1) Error False
math, math (Bsp.: 2+3,3+2) True True
math, math (Bsp.: sin(2)+sqrt(2),sin(2)*1+sqrt(2)*1) True True
math, math (Bsp.: 3.7,37/10) True False
Ausdrücke mit Operator und Variablen
Eingabe equal / equalsExpr equals
String, String (Bsp.: '2x','2x') Error True
String, String (Bsp.: 'x+y','y+x') Error False
String, math (Bsp.: '2x',2x) Error True
String, math (Bsp.: 'x+y',y+x) Error True
String, math (Bsp.: '5y',2y+3*y) Error True
math, math (Bsp.: 5x+3x,8*x) True True
math, math (Bsp.: 5x+3x,3x+5x) True True
math, math (Bsp.: sin(x),sin(x)*1) True True

Hinweise

  • Die Funktion equal ist ein Alias für equalsExpr.
  • Die Funktion equal wird mit Hilfe von Sage evaluiert. Es wird bool(arg1==arg2) in Sage berechnet.
  • Mit Strings kann die Funktion equal nicht umgehen, da String keine Sage-Repräsentation hat, es dürfen also keine Strings in dieser Funktion verwendet werden.
  • Als Ausdrücke sind insbesondere auch die Komplexen Zahlen erlaubt. Eine Beschreibung der Vorschrift kann hier gefunden werden.
  • Die Funktion equal kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. \(2+3\).
  • Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.
  • Wenn Variablen genutzt werden muss darauf geachtet werden, dass diese die Voraussetzung erfüllen.
  • Wenn die Eingabe der Studierenden genutzt wird muss auch hier darauf geachtet werden, dass die Voraussetzungen erfüllt sind und ob diese an der Stelle genutzt werden können.