Exp

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

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.