Tan: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Der Tangens wird durch die Funktion ''tan'' beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.
Der Tangens wird durch die Funktion ''tan'' beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.
Zeile 12: Zeile 15:


===Beispiele===
===Beispiele===
====Standardfälle====
tan(0)    --> returns 0
'''JACK2:'''
  tan([var=PI]/4)    --> returns 1
  tan([var=PI]/4)    --> returns 1
'''JACK3:'''
tan(constPi()/4)    --> returns 1


tan(0)    --> 0
====Benutzung mit Variablen====
 
tan([var=a])
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() {
fillInVariableMap.put(2, OMCreator.createOMOBJ(OMSymbol.NUMS1_PI));
}
 
@Test
public void testTan1() {
assertEquals(0, Evaluator.getNumberResult("tan('0')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTan2() {
assertEquals(0, Evaluator.getNumberResult("tan('[var=PI]')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTan3() {
assertEquals(0, Evaluator.getNumberResult("tan('-[var=PI]')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTan4() {
assertEquals(1, Evaluator.getNumberResult("tan('[var=PI]/4')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTan5() {
assertEquals(-1, Evaluator.getNumberResult("tan('-[var=PI]/4')", exerciseVariableMap, fillInVariableMap),
0.0001);
}
 
@Test
public void testTanWithInput1() {
assertEquals(0, Evaluator.getNumberResult("tan('[pos=1]')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTanWithInput2() {
assertEquals(1, Evaluator.getNumberResult("tan('[pos=2]/4')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTanWithVariables1() {
assertEquals(0, Evaluator.getNumberResult("tan('[var=a]')", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTanWithVariables2() {
assertEquals(1, Evaluator.getNumberResult("tan('[var=PI]/4')", exerciseVariableMap, fillInVariableMap), 0.0001); // Rounding
// Error
}
 
@Test
public void testTanWithExpressions1() {
assertEquals(0, Evaluator.getNumberResult("tan(tan(0))", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test
public void testTanWithExpressions2() {
assertEquals(0, Evaluator.getNumberResult("tan(tan(tan(0)))", exerciseVariableMap, fillInVariableMap), 0.0001);
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testTanWithONECharacter() {
Evaluator.getNumberResult("tan(a)", exerciseVariableMap, fillInVariableMap);
fail();
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testTanWithEmptyStringArgument() {
Evaluator.getNumberResult("tan('')", exerciseVariableMap, fillInVariableMap);
fail();
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testTanWithEmptyArgument() {
Evaluator.getNumberResult("tan()", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test(expected = UndefinedExerciseVariableException.class)
====Benutzung mit studentischen Eingaben====
public void testTanWithoutExerciseVariable() {
'''JACK2:'''
Evaluator.getNumberResult("tan('[var=j]')", exerciseVariableMap, fillInVariableMap);
tan([pos=1])
fail();
}


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


===Hinweise===
===Hinweise===
* Berechnet nur den Tangens mit Werten im Bogenmaß. Der Gradmaß muss ggf. vorher umgewandelt werden.
* Berechnet nur den Tangens mit Werten im Bogenmaß. Der Gradmaß muss ggf. vorher umgewandelt werden.
* 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 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 17. April 2024, 09:27 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Der Tangens wird durch die Funktion tan beschrieben. Sie erwartet einen Parameter und gibt einen Wert zurück.

Syntax

tan(Gleitkommazahl zahl)

Parameter

  • zahl - ein Wert im Bogenmaß

Return Value

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

Beispiele

Standardfälle

tan(0)    --> returns 0 

JACK2:
tan([var=PI]/4)    --> returns 1

JACK3:
tan(constPi()/4)    --> returns 1

Benutzung mit Variablen

tan([var=a])

Benutzung mit studentischen Eingaben

JACK2:
tan([pos=1])
JACK3:
tan([input=field1])

Hinweise

  • Berechnet nur den Tangens mit Werten im Bogenmaß. Der Gradmaß muss ggf. vorher umgewandelt werden.
  • 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 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.