Exp: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:
  exp('[var=a]')
  exp('[var=a]')


====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Test
public void testExp(){
  assertTrue(1 == getEvaluator().getNumberResult("exp(0)"));
  assertTrue(2.71828182845 < getEvaluator().getNumberResult("exp(1)") && getEvaluator().getNumberResult("exp(1)") < 2.71828182846);
  assertTrue(0 == getEvaluator().getNumberResult("exp(-1000)"));
  assertTrue(0.9048374180359595 == getEvaluator().getNumberResult("exp(-0.1)"));
}
@Test
public void testExpWithInput(){
  assertTrue(1 == getEvaluator().getNumberResult("exp([pos=1])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([pos=2])"));
}
@Test
public void testExpWithVariables(){
  assertTrue(1 == getEvaluator().getNumberResult("exp([var=a])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([var=b])"));
}
@Test
public void testExpWithPointNumber(){
  assertTrue(getEvaluator().getNumberResult("exp(0.1)") == getEvaluator().getNumberResult("exp(.1))"));
}
@Test
public void testExpWithExpressions(){
  assertTrue(1 == getEvaluator().getNumberResult("exp(exp(-1000))"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testExpWithWrongInputCharacter(){
  getEvaluator().getNumberResult("exp(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithTwoArguments(){
  getEvaluator().getNumberResult("exp(0, 1)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithThreeArguments(){
  getEvaluator().getNumberResult("exp(1, 2.71,  2)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testExpWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("exp([var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testExpWithMissingInput(){
  getEvaluator().getNumberResult("getDenominator([pos=42])");
}
</syntaxhighlight>
=== Hinweise ===
=== Hinweise ===
* Aufgrund von der Rechengenauigkeit des Computers, wird in jedem Fall eine rationale Zahl zurückgegeben. Sollte der tatsächliche Funktionswert irrational sein, wird entsprechend gerundet.
* Aufgrund von der Rechengenauigkeit des Computers, wird in jedem Fall eine rationale Zahl zurückgegeben. Sollte der tatsächliche Funktionswert irrational sein, wird entsprechend gerundet.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 20. Juni 2017, 09:16 Uhr

Beschreibung

Die Funktion exp repräsentiert die Exponentialfunktion, sie gibt den Wert <math>e^x</math> an der Stelle x an. Die Funktion erwartet eine Zahl und gibt eine Zahl zurück.

Syntax

exp(float x)

Parameter

  • x - der x-Wert der Exponentialfunktion

Return Value

  • Gibt eine rationale Zahl zurück

Beispiele

Standardfälle

exp('1')   --> returns 2.71828182845
exp('-0.1')   --> returns 0.9048374180359595

Benutzung mit Variablen

exp('[pos=1]')
exp('[var=a]')

JUnit Tests

 @Test
 public void testExp(){
   assertTrue(1 == getEvaluator().getNumberResult("exp(0)"));
   assertTrue(2.71828182845 < getEvaluator().getNumberResult("exp(1)") && getEvaluator().getNumberResult("exp(1)") < 2.71828182846);
   assertTrue(0 == getEvaluator().getNumberResult("exp(-1000)"));
   assertTrue(0.9048374180359595 == getEvaluator().getNumberResult("exp(-0.1)"));
 }
 
 @Test
 public void testExpWithInput(){
   assertTrue(1 == getEvaluator().getNumberResult("exp([pos=1])"));
   assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([pos=2])"));
 }
 
 @Test
 public void testExpWithVariables(){
   assertTrue(1 == getEvaluator().getNumberResult("exp([var=a])"));
   assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([var=b])"));
 }
 
 @Test
 public void testExpWithPointNumber(){
   assertTrue(getEvaluator().getNumberResult("exp(0.1)") == getEvaluator().getNumberResult("exp(.1))"));
 }
 
 @Test
 public void testExpWithExpressions(){
   assertTrue(1 == getEvaluator().getNumberResult("exp(exp(-1000))"));
 }	
 
 @Test(expected=InvalidEvaluatorFunctionArgumentException.class)
 public void testExpWithWrongInputCharacter(){
   getEvaluator().getNumberResult("exp(a)");
 }
 
 @Test(expected=UnsupportedEvaluatorFunctionException.class)
 public void testExpWithTwoArguments(){
   getEvaluator().getNumberResult("exp(0, 1)");
 }
 
 @Test(expected=UnsupportedEvaluatorFunctionException.class)
 public void testExpWithThreeArguments(){
   getEvaluator().getNumberResult("exp(1, 2.71,  2)");
 }
 
 @Test(expected=UndefinedExerciseVariableException.class)
 public void testExpWithMissingExerciseVariable(){
   getEvaluator().getNumberResult("exp([var=j])");
 }
 
 @Test(expected=UndefinedFillInVariableException.class)
 public void testExpWithMissingInput(){
   getEvaluator().getNumberResult("getDenominator([pos=42])");
 }

Hinweise

  • Aufgrund von der Rechengenauigkeit des Computers, wird in jedem Fall eine rationale Zahl zurückgegeben. Sollte der tatsächliche Funktionswert irrational sein, wird entsprechend gerundet.