Atan: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Der Arkustangens wird durch die Funktion ''atan' beschrieben. Er erwartet einen Parameter und gibt einen Wert zurück.
Der Arkustangens wird durch die Funktion ''atan'' beschrieben. Er erwartet einen Parameter und gibt einen Wert zurück.


===Syntax===
===Syntax===
Zeile 12: Zeile 15:


===Beispiele===
===Beispiele===
==== Standardfälle ====
  atan(0)    --> returns 0
  atan(0)    --> returns 0


====JUnit Tests====
==== Benutzung mit Variablen ====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
private double PI = Math.PI;
 
@Test
public void testAtan1() {
assertEquals(0, Evaluator.getNumberResult("atan('0')", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testAtan2() {
assertEquals(0.463647609000806,
Evaluator.getNumberResult("atan('0.5')", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testAtan4() {
assertEquals(PI / 4, Evaluator.getNumberResult("atan('1')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtan5() {
assertEquals(-PI / 4, Evaluator.getNumberResult("atan('-1')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtan6() {
assertEquals(PI / 4, Evaluator.getNumberResult("atan(1)", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtan7() {
assertEquals(-PI / 4, Evaluator.getNumberResult("atan(-1)", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtanWithInput1() {
assertEquals(0, Evaluator.getNumberResult("atan([pos=1])", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testAtanWithInput2() {
assertEquals(PI / 4, Evaluator.getNumberResult("atan([pos=2])", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtanWithVariables1() {
assertEquals(0, Evaluator.getNumberResult("atan([var=a])", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testAtanWithVariables2() {
assertEquals(PI / 4, Evaluator.getNumberResult("atan([var=b])", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testAtanWithExpression1() {
assertEquals(0, Evaluator.getNumberResult("atan(atan(0))", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testAtanWithExpression2() {
assertEquals(0, Evaluator.getNumberResult("atan(atan(atan(0)))", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testAtanWithONECharacter() {
Evaluator.getNumberResult("atan(a)", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test(expected = FunctionInvalidArgumentTypeException.class)
atan([var=a])
public void testAtanWithEmptyStringArgument() {
atan([var=b])
Evaluator.getNumberResult("atan('')", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
==== Benutzung mit studentischen Eingaben ====
public void testAtanWithEmptyArgument() {
Evaluator.getNumberResult("atan()", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test(expected = UndefinedExerciseVariableException.class)
'''Jack2:'''
public void testAtanWithoutExerciseVariable() {
atan([pos=1])
Evaluator.getNumberResult("atan([var=j])", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test(expected = UndefinedFillInVariableException.class)
'''Jack3:'''
public void testAtanWithoutInput() {
atan([input=field1])
Evaluator.getNumberResult("atan([pos=42])", exerciseVariableMap, fillInVariableMap);
fail();
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
* Diese Funktion wird nicht ausgerechnet, außer es gibt eine genaue Repräsentation (z.B. Pi oder eine Ganzzahl). Soll das Ergebnis gerundet ausgegeben werden, muss eine Rundungsfunktion oder die [[Approx|Approx-Funktion]] genutzt werden.
* 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.
* Wenn die Konstante Pi genutzt werden soll muss [[constPi|constPi()]] verwendet werden.
* Die Funktion [[toDegree|toDegree(x)]] wandelt den Radiant-Werte x in Grad um.
* Die Funktion [[toRadian|toRadian(x)]] wandelt den Grad-Wert x in Radiant um.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[category:Trigonometrische Funktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 15. April 2024, 12:26 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Der Arkustangens wird durch die Funktion atan beschrieben. Er erwartet einen Parameter und gibt einen Wert zurück.

Syntax

atan(Gleitkommazahl zahl)

Parameter

  • zahl - einen Zahlenwert

Return Value

  • Gibt den Wert des Arkustangens an der Stelle zurück.

Beispiele

Standardfälle

atan(0)    --> returns 0

Benutzung mit Variablen

atan([var=a])
atan([var=b])

Benutzung mit studentischen Eingaben

Jack2:
atan([pos=1])
Jack3:
atan([input=field1])

Hinweise

  • Diese Funktion wird nicht ausgerechnet, außer es gibt eine genaue Repräsentation (z.B. Pi oder eine Ganzzahl). Soll das Ergebnis gerundet ausgegeben werden, muss eine Rundungsfunktion oder die Approx-Funktion genutzt werden.
  • 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.
  • Wenn die Konstante Pi genutzt werden soll muss constPi() verwendet werden.
  • Die Funktion toDegree(x) wandelt den Radiant-Werte x in Grad um.
  • Die Funktion toRadian(x) wandelt den Grad-Wert x in Radiant um.