Root: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
K (Spobel verschob die Seite Sqrt nach Root)
(kein Unterschied)

Version vom 25. Oktober 2017, 13:28 Uhr

Beschreibung

Die Funktion sqrt ermittelt die Wurzel einer Zahl. Die Funktion erwartet eine Zahl und gibt die Wurzel dieser Zahl zurück.

Syntax

sqrt(Gleitkommazahl zahl)

Parameter

  • zahl - die Zahl, zu der die Wurzel berechnet werden soll

Return Value

  • Gibt die Wurzel der Zahl zurück

Beispiele

Standardfälle

sqrt(16)   --> returns 4
sqrt(9)   --> returns 3

Benutzung mit Variablen

sqrt([pos=1])
sqrt([var=a])

JUnit Tests

[Anzeigen]

@Before
public void beforeTest(){
  placeFillInVariable(2,OMParser.parse("4"));
  placeFillInVariable(34,OMParser.parse("34.3333"));
		
  placeExerciseVariable("a",OMParser.parse("16"));
  placeExerciseVariable("c",OMParser.parse("34.3333"));
}

@Test public void testSqrt(){
  assertTrue(2 == getEvaluator().getNumberResult("sqrt(4)"));
  assertTrue(3 == getEvaluator().getNumberResult("sqrt(9)"));
  assertTrue(2 == getEvaluator().getNumberResult("sqrt(sqrt(16))"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt(34.3333)"));
  assertTrue(0 == getEvaluator().getNumberResult("sqrt(0)"));
}

@Test public void testSqrtWithInput(){
  assertTrue(2 == getEvaluator().getNumberResult("sqrt([pos=2])"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt([pos=34])"));
}
	
@Test public void testSqrtWithVariable(){
  assertTrue(4 == getEvaluator().getNumberResult("sqrt([var=a])"));
  assertTrue(Math.sqrt(34.3333) == getEvaluator().getNumberResult("sqrt([var=c])"));	
}

@Test
public void testSqrtWithPointNumbers(){
  assertTrue(Math.sqrt(.2) == getEvaluator().getNumberResult("sqrt(.2)"));	
  assertTrue(Math.sqrt(.2) == getEvaluator().getNumberResult("sqrt(.1)"));	
}

@Test
public void testSqrtWithWrongInputNegativeNumber(){
  assertTrue("NaN".equals(getEvaluator().getResultAsEvaluatorString("sqrt(-2)")));	
  assertTrue("NaN".equals(getEvaluator().getResultAsEvaluatorString("sqrt(-1)")));	
}

@Test
public void testSqrtWithExpressions(){
  assertTrue(Math.sqrt(2) == getEvaluator().getNumberResult("sqrt(sqrt(4))"));
  assertTrue(Math.sqrt(Math.sqrt(2)) == getEvaluator().getNumberResult("sqrt(sqrt(sqrt(4)))"));
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testSqrtWithWrongInputCharacter(){
  getEvaluator().getNumberResult("sqrt(a)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testSqrtWithTwoArguments(){
  getEvaluator().getNumberResult("sqrt(4, 3)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testSqrtWithThreeArguments(){
  getEvaluator().getNumberResult("sqrt(2, 3, 4)");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testSqrtWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("sqrt('[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testSqrtWithMissingInput(){
  getEvaluator().getNumberResult("sqrt('[pos=42]')");
}

Hinweise