EvalPolynomialCplx: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
===Beschreibung===
===Beschreibung===
Diese Funktion wertet einen [[Ausdruck]] aus und ersetzt ihn anschließend.


===Syntax===
===Syntax===
  evalPolynomialCplx(string1,string2,string3)
  evalPolynomialCplx([[Ausdruck]] term, [[Zeichenkette]] ziel ,[[Zeichenkette]] ersetzung)


===Parameter===
===Parameter===
* '''Ausdruck''' - der eingegebene Ausdruck
* '''Zeichenkette''' - Die Zeichenkette (oder [[Variable]]), welche subtitueiert werden soll
* '''Zeichenkette''' - Die Zeichenkette (oder [[Variable]]), welche  nachher im '''term''' substituiert werden soll


===Return Value===
===Return Value===
* Gibt ein [[Objekt]] zurück.


===Beispiele===
===Beispiele===
 
evalpolynomial('2*i','i', '-1')   --> returns -2
====JUnit Tests====
evalpolynomial('3*a*b','b', 'a')   --> returns 3*a*a
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("1"));
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("b", OMParser.parse("1"));
}
@Test
public void testEvalPolynomial() {
  assertTrue(18 == getEvaluator().getNumberResult("evalpolynomial('3x^2+4x-2','2')"));
  assertTrue(3 == getEvaluator().getNumberResult("evalpolynomial('y^2+2y','1')"));
  assertTrue(10 == getEvaluator().getNumberResult("evalpolynomial('2a+8','1')"));
  assertTrue(4 == getEvaluator().getNumberResult("evalpolynomial('b^2-4b+8','2')"));
  assertTrue(4 == getEvaluator().getNumberResult("evalpolynomial('b^2-4b+8','2')"));
}
@Test
public void testEvalPolynomialWithInput() {
  assertTrue(3 == getEvaluator().getNumberResult("evalpolynomial('y^2+2y','[pos=2]')"));
}
@Test
public void testEvalPolynomialWithVariables() {
  assertTrue(10 == getEvaluator().getNumberResult("evalpolynomial('[var=a]a+2a+8','1')"));
}
@Test
public void testEvalPolynomialWithDifferentVariableNamesInPolynom() {
  assertTrue(2 == getEvaluator().getNumberResult("evalpolynomial('(x1)^2+(x2)^4', '1')"));
  assertTrue(3 == getEvaluator().getNumberResult("evalpolynomial('(x)^2+(y)^4+(z)^5', '1')"));
  assertTrue(3 == getEvaluator().getNumberResult("evalpolynomial('(a)^2+(b)^4+(c)^5', '1')"));
  assertTrue(4 == getEvaluator().getNumberResult("evalpolynomial('(ü)^2', '2')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalPolynomialWithCharacterAsSecondArgument() {
  getEvaluator().getNumberResult("evalpolynomial('a+2a+8','a')");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalPolynomialWithONECharacter() {
  getEvaluator().getNumberResult("evalpolynomial(a, a)");
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalPolynomialWithEmptyStringArgument() {
  getEvaluator().getNumberResult(("evalpolynomial('', '')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalPolynomialWithEmptyArgument() {
  getEvaluator().getNumberResult(("evalpolynomial()"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testEvalPolynomialWithoutExerciseVariable() {
  getEvaluator().getNumberResult("evalpolynomial([var=j], '3')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testEvalPolynomialWithoutInput() {
  getEvaluator().getNumberResult("evalpolynomial([pos=42], '3')");
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
 
* Hier wird nur die erst beste Treffer ersetzt! Das heißt: Enthält ein [[Ausdruck]] mehrmals das '''ziel''' wird hier nur der erste Treffer ersetzt!
[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 23. Oktober 2017, 14:42 Uhr

Beschreibung

Diese Funktion wertet einen Ausdruck aus und ersetzt ihn anschließend.

Syntax

evalPolynomialCplx(Ausdruck term, Zeichenkette ziel ,Zeichenkette ersetzung)

Parameter

  • Ausdruck - der eingegebene Ausdruck
  • Zeichenkette - Die Zeichenkette (oder Variable), welche subtitueiert werden soll
  • Zeichenkette - Die Zeichenkette (oder Variable), welche nachher im term substituiert werden soll

Return Value


Beispiele

evalpolynomial('2*i','i', '-1')    --> returns -2
evalpolynomial('3*a*b','b', 'a')    --> returns 3*a*a

Hinweise

  • Hier wird nur die erst beste Treffer ersetzt! Das heißt: Enthält ein Ausdruck mehrmals das ziel wird hier nur der erste Treffer ersetzt!