Abs: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''abs'' berechnet den Betrag einer Zahl. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.
Die Funktion ''abs'' berechnet den Betrag einer Zahl. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.


=== Syntax ===
=== Syntax ===
  abs(float zahl)
  abs([[Gleitkommazahl]] zahl)


=== Parameter ===
=== Parameter ===
Zeile 9: Zeile 12:


=== Return Value ===
=== Return Value ===
*Gibt eine Ganzzahl zurück
*Gibt den Betrag zurück


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  abs(1)        --> returns 1
  abs(1)        --> returns 1
  abs(-2.5)      --> returns 2.5
  abs(-2.5)      --> returns 2.5
  abs(-abs(5))  --> returns 5
  abs(-abs(5))  --> returns 5


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
abs('[pos=1]')
abs('[var=a]')
====JUnit Tests====
<div class="mw-collapsible mw-collapsed">
@Test public void testAbs() {
  assertTrue(1 == getEvaluator().getNumberResult("abs(1)"));
  assertTrue(1 == getEvaluator().getNumberResult("abs('-1')"));
  assertTrue(0.5 == getEvaluator().getNumberResult("abs(-0.5)"));
  assertTrue(0 == getEvaluator().getNumberResult("abs(-0)"));
}
   
   
  @Test public void testAbsWithInput() {
  abs([var=a])
  assertTrue(1 == getEvaluator().getNumberResult("abs('[pos=2]')"));
  assertTrue(8.43 == getEvaluator().getNumberResult("abs('[pos=1]')"));
}
   
   
  @Test public void testAbsWithVariables() {
  abs([var=c])
  assertTrue(1 == getEvaluator().getNumberResult("abs('[var=b]')"));
 
  assertTrue(8.43 == getEvaluator().getNumberResult("abs('[var=a]')"));
==== Benutzung mit studentischen Eingaben ====
}
 
  '''Jack2:'''
@Test public void testAbsWithExpressions() {
  abs([pos=1])
  assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(5))"));
 
  assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(abs(-5)))"));
  '''Jack3:'''
}
  abs([input=field1])
@Test (expected=ParserMismatchException.class)
public void testAbsWithWrongInputCharacter() {
  getEvaluator().getNumberResult("abs(a)");
}
   
  @Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testAbsWithTwoArguments() {
  getEvaluator().getNumberResult("abs(-2.2, 3.3)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testAbsWithThreeArguments() {
  getEvaluator().getNumberResult("abs(2.123, -3.55, -1)");
}
   
@Test (expected=UndefinedExerciseVariableException.class)
public void testAbsWithMissingExcerciseVariable() {
  getEvaluator().getNumberResult("abs('[var=j]')");
}
  @Test (expected=UndefinedFillInVariableException.class)
public void testAbsWithMissingInput() {
  getEvaluator().getNumberResult("abs('[pos=42]')");
}
</div>


=== Hinweise ===
=== Hinweise ===
* In JACK3 können auch komplexe Zahlen eingesetzt werden. Dabei sollte beachtet werden, das [[Imaginary]] genutzt wird.
* 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:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 15. April 2024, 13:22 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion abs berechnet den Betrag einer Zahl. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.

Syntax

abs(Gleitkommazahl zahl)

Parameter

  • zahl - eine rationale Zahl, deren Betrag berechnet werden soll

Return Value

  • Gibt den Betrag zurück

Beispiele

Standardfälle

abs(1)         --> returns 1

abs(-2.5)      --> returns 2.5

abs(-abs(5))   --> returns 5

Benutzung mit Variablen

abs([var=a])

abs([var=c])

Benutzung mit studentischen Eingaben

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

Hinweise

  • In JACK3 können auch komplexe Zahlen eingesetzt werden. Dabei sollte beachtet werden, das Imaginary genutzt wird.
  • 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.