Degree: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''deg'' gibt den Grad einer Funktion in einer Variable zurück. Sie erwartet zwei Strings, nämlich die Funktion und die Variable. Sie gibt den Grad als numerischen Ausdruck zurück.
Die Funktion ''deg'' gibt den Grad einer Funktion in einer Variable zurück. Sie erwartet zwei Strings, nämlich die Funktion und die Variable. Sie gibt den Grad als numerischen Ausdruck zurück.
Zeile 13: Zeile 16:


===Beispiele===
===Beispiele===
  deg('x^2+2x','x')    --> returns 2
==== Standardfälle ====
  deg(x^2+2*x, x)    --> returns 2
deg(x^2+2*x, y)    --> returns 0
 
==== Benutzung mit Variablen ====
deg([var=a], [var=b])
deg([var=a], x)
deg(x^2+2*x, [var=b])


  deg('x^2+2x','y')   --> returns 0
==== Benutzung mit studentischen Eingaben ====
'''Jack2:'''
deg([pos=1], x)
  deg(x^2+2*x, [pos=1])


====JUnit Tests====
'''Jack3:'''
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
deg([input=field1], x)
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
deg(x^2+2*x, [input=field1])
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("1"));
  placeFillInVariable(1, OMParser.parse("x"));
 
  placeExerciseVariable("a", OMParser.parse("x"));
  placeExerciseVariable("b", OMParser.parse("2"));
}
@Test
public void testDegree() {
  assertTrue(2 == getEvaluator().getNumberResult("deg('x^2 + 2x','x')"));
  assertTrue(2 == getEvaluator().getNumberResult("deg('x^2 + 0.2x','x')"));
  assertTrue(2 == getEvaluator().getNumberResult("deg('x^2 + x + 1','x')"));
 
  assertTrue(0 == getEvaluator().getNumberResult("deg(x^2 + x + 1, y)"));
  assertTrue(0 == getEvaluator().getNumberResult("deg(x^2 + x + 1.3, y)"));
  assertTrue(1 == getEvaluator().getNumberResult("deg(3x + 4, x)"));
}
@Test
public void testDegreeWithInput() {
  assertTrue(1 == getEvaluator().getNumberResult("deg('[pos=1]','x')"));
  assertTrue(1 == getEvaluator().getNumberResult("deg('x + 1','[pos=1]')"));
}


@Test
public void testDegreeWithVariables() {
  assertTrue(3 == getEvaluator().getNumberResult("deg('[var=a]^3 + x + 3','x')"));
  assertTrue(3 == getEvaluator().getNumberResult("deg('x^3 + x + 3','[var=a]')"));
}
@Test
public void testDegreeWithExpression(){
  assertTrue(2 == getEvaluator().getNumberResult("deg(x^deg(x^2, x), x)"));
  assertTrue(2 == getEvaluator().getNumberResult("deg(x^deg(x^deg(x^2, x), x), x)"));
}
@Test
public void testDegreeWithVariablesAsExponent() {
  assertTrue("'x'".equals(getEvaluator().getResultAsEvaluatorString("deg(y^[var=a], y)")));
}
@Test
public void testDegreeWithONECharacter() {
  assertTrue(1 == getEvaluator().getNumberResult("deg(a, a)"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testDegreeWithEmptyStringArguments() {
  getEvaluator().getNumberResult("deg('', '')");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testDegreeWithEmptyArgument() {
  getEvaluator().getNumberResult("deg()");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testDegreeWithoutExerciseVariable() {
  getEvaluator().getNumberResult("deg(x^3 + [var=j], [var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testDegreeWithoutInput() {
  getEvaluator().getNumberResult("deg(x^3 + [pos=42], [pos=42])");
}
</syntaxhighlight>
===Hinweise===
===Hinweise===
* 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:Evaluatorfunktion]][[Kategorie:Ausdruckfunktionen]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Ausdruckfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 16. April 2024, 07:04 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion deg gibt den Grad einer Funktion in einer Variable zurück. Sie erwartet zwei Strings, nämlich die Funktion und die Variable. Sie gibt den Grad als numerischen Ausdruck zurück.

Syntax

deg(Ausdruck term, Zeichen variable)

Parameter

  • term - Die zu untersuchende Funktion.
  • variable - die Variable

Return Value

  • Gibt den Grad als numerischen Ausdruck zurück.

Beispiele

Standardfälle

deg(x^2+2*x, x)    --> returns 2

deg(x^2+2*x, y)    --> returns 0

Benutzung mit Variablen

deg([var=a], [var=b])
deg([var=a], x)
deg(x^2+2*x, [var=b])

Benutzung mit studentischen Eingaben

Jack2:
deg([pos=1], x)
deg(x^2+2*x, [pos=1])
Jack3:
deg([input=field1], x)
deg(x^2+2*x, [input=field1])

Hinweise

  • 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.