ToDegree: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Zugehörige Evaluatoren ===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===


Die Funktion ''toDegrees'' wandelt Radiant-Werte in Grad um. Die Funktion erwartet einen Radiant und gibt den entsprechenden Grad zurück.
Die Funktion ''toDegree'' wandelt Radiant-Werte in Grad um. Die Funktion erwartet einen Radiant und gibt den entsprechenden Grad zurück.


=== Syntax ===
=== Syntax ===
  toDegrees(float radiant)
  toDegree([[Gleitkommazahl]] radiant)


=== Parameter ===
=== Parameter ===
Zeile 14: Zeile 17:
=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  toDegrees(3.14159)  --> returns 180
  '''JACK2:'''
  toDegrees(6.28319)  --> returns 360
toDegree([var=PI])    --> returns 180
toDegree(2*[var=PI])    --> returns 360
 
'''JACK3:'''
toDegree(constPi())  --> returns 180
   
toDegree(2*constPi())  --> returns 360


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
  toDegrees([pos=1])
  toDegree([var=a])
toDegrees([var=a])


====JUnit Tests====
==== Benutzung mit studentischen Eingaben ====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
'''JACK2:'''
@Before
toDegree([pos=1])
public void beforeTest(){
  placeFillInVariable(45, OMParser.parse(Double.toString(PI/4)));
  placeFillInVariable(90, OMParser.parse(Double.toString(PI/2)));
  placeFillInVariable(1, OMParser.parse("1"));
  placeExerciseVariable("degc", OMParser.parse(Double.toString(PI)));
  placeExerciseVariable("degd", OMParser.parse(Double.toString(2*PI)));
  placeExerciseVariable("b",OMParser.parse("1"));
}


@Test public void testToDegrees(){
'''JACK3:'''
  assertTrue(540 == getEvaluator().getNumberResult("toDegrees("+3*PI+")"));
toDegree([input=field1])
  assertTrue(360 == getEvaluator().getNumberResult("toDegrees("+2*PI+")"));
  assertTrue(180 == getEvaluator().getNumberResult("toDegrees("+PI+")"));
  assertTrue(-180 == getEvaluator().getNumberResult("toDegrees("+-PI+")"));
  assertTrue(90 == getEvaluator().getNumberResult("toDegrees("+PI/2+")"));
  assertTrue(45 == getEvaluator().getNumberResult("toDegrees("+PI/4+")"));
  assertTrue(180/PI == getEvaluator().getNumberResult("toDegrees(1)"));
}
@Test public void testToDegreesWithInput(){
  assertTrue(90 == getEvaluator().getNumberResult("toDegrees('[pos=90]')"));
  assertTrue(45 == getEvaluator().getNumberResult("toDegrees('[pos=45]')"));
  assertTrue(180/PI == getEvaluator().getNumberResult("toDegrees('[pos=1]')"));
}
@Test public void testToDegreesWithVariables(){
  assertTrue(360 == getEvaluator().getNumberResult("toDegrees('[var=degd]')"));
  assertTrue(180 == getEvaluator().getNumberResult("toDegrees('[var=degc]')"));
  assertTrue(180/PI == getEvaluator().getNumberResult("toDegrees('[var=b]')"));
  assertTrue(180 == getEvaluator().getNumberResult("toDegrees('[var=PI]')"));
}
@Test
public void testToDegreesWithPointNumbers(){
  assertTrue(180/(PI*.2) == getEvaluator().getNumberResult("toDegrees(.2)"));
  assertTrue(180/(-PI*.1) == getEvaluator().getNumberResult("toDegrees(-.1)"));
}
@Test
public void testToDegreesWithExpressions(){
  assertTrue(0 == getEvaluator().getNumberResult("toDegrees(toDegrees(0))"));
  assertTrue(0 == getEvaluator().getNumberResult("toDegrees(toDegrees(toDegrees(0)))"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testToDegreesWithWrongInputCharacter(){
  getEvaluator().getNumberResult("toDegrees(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testToDegreesWithTwoArguments(){
  getEvaluator().getNumberResult("toDegrees(4, 3)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testToDegreesWithThreeArguments(){
  getEvaluator().getNumberResult("toDegrees(2, 3, 4)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testToDegreesWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("toDegrees('[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testToDegreesWithMissingInput(){
  getEvaluator().getNumberResult("toDegrees('[pos=42]')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Wenn die Konstante \(\pi\) genutzt werden soll muss in JACK2 [var=PI] und in JACK3 [[constPi|constPi()]] verwendet werden.


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

Aktuelle Version vom 17. April 2024, 09:29 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion toDegree wandelt Radiant-Werte in Grad um. Die Funktion erwartet einen Radiant und gibt den entsprechenden Grad zurück.

Syntax

toDegree(Gleitkommazahl radiant)

Parameter

  • radiant - der umzuwandelnde Radiant-Wert

Return Value

  • Gibt den Radiant-Wert in Grad zurück

Beispiele

Standardfälle

JACK2:
toDegree([var=PI])    --> returns 180

toDegree(2*[var=PI])    --> returns 360
JACK3:
toDegree(constPi())   --> returns 180

toDegree(2*constPi())   --> returns 360

Benutzung mit Variablen

toDegree([var=a])

Benutzung mit studentischen Eingaben

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

Hinweise

  • Wenn die Konstante \(\pi\) genutzt werden soll muss in JACK2 [var=PI] und in JACK3 constPi() verwendet werden.