Exp: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
 
Die Funktion ''exp'' repräsentiert die Exponentialfunktion, sie gibt den Wert \(e^x\) an der Stelle x an. Die Funktion erwartet eine Zahl und gibt eine Zahl zurück.
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 ===
=== Syntax ===
  exp(float x)
  exp([[Gleitkommazahl]] x)


=== Parameter ===
=== Parameter ===
Zeile 10: Zeile 12:


=== Return Value ===
=== Return Value ===
*Gibt eine rationale Zahl zurück
*Gibt eine [[Gleitkommazahl]] zurück


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  exp('1')  --> returns 2.71828182845
  exp(1)  --> returns e
  exp('-0.1')  --> returns 0.9048374180359595
  exp(-0.1)  --> returns 0.90483741803596


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
  exp('[pos=1]')
  exp([var=a])
exp('[var=a]')
 
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("10"));
 
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("b", OMParser.parse("10"));
}
 
@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)
==== Benutzung mit studentischen Eingaben ====
public void testExpWithMissingExerciseVariable(){
'''Jack2:'''
  getEvaluator().getNumberResult("exp([var=j])");
exp([pos=1])
}


@Test(expected=UndefinedFillInVariableException.class)
'''Jack3:'''
public void testExpWithMissingInput(){
exp([input=fillin1])
  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.
* 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:Math-Evaluatorfunktion]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 16. April 2024, 12:50 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion exp repräsentiert die Exponentialfunktion, sie gibt den Wert \(e^x\) an der Stelle x an. Die Funktion erwartet eine Zahl und gibt eine Zahl zurück.

Syntax

exp(Gleitkommazahl x)

Parameter

  • x - der x-Wert der Exponentialfunktion

Return Value

Beispiele

Standardfälle

exp(1)   --> returns e

exp(-0.1)   --> returns 0.90483741803596

Benutzung mit Variablen

exp([var=a])

Benutzung mit studentischen Eingaben

Jack2:
exp([pos=1])
Jack3:
exp([input=fillin1])

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