Min: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
 
Die Funktion ''min'' ermittelt den kleinsten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die kleinere Zahl zurück. Alternativ kann eine Liste von Zahlen angegeben werden.
Die Funktion ''min'' ermittelt den kleinsten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die kleinere Zahl zurück.


=== Syntax ===
=== Syntax ===
  min(float zahl1, float zahl2)
  min([[Gleitkommazahl]] zahl1, [[Gleitkommazahl]] zahl2)
oder
min([[List]] liste)


=== Parameter ===
=== Parameter ===
* '''zahl1''' - der erste zu vergleichende Wert
* '''zahl1''' - der erste zu vergleichende Wert
* '''zahl2''' - der zweite zu vergleichende Wert
* '''zahl2''' - der zweite zu vergleichende Wert
oder
* '''liste''' - eine Liste von Zahlen


=== Return Value ===
=== Return Value ===
Zeile 16: Zeile 22:
==== Standardfälle ====
==== Standardfälle ====
  min(12,3)  --> returns 3
  min(12,3)  --> returns 3
  min(9.568,100)  --> returns 9.568
  min(9.568,100)  --> returns 9.568
min(list(1,2,3,-123))  --> returns -123


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
  min([pos=1],[pos=3])
  min([pos=1],[pos=3])
  min([var=a],[var=b])
  min([var=a],[var=b])
 
====JUnit Tests====
min([var=c])
<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(1, OMConverter.toObject("<OMOBJ><OMI>1</OMI></OMOBJ>"));
fillInVariableMap.put(2, OMConverter.toObject("<OMOBJ><OMI>2</OMI></OMOBJ>"));
fillInVariableMap.put(3, OMConverter.toObject("<OMOBJ><OMI>-1</OMI></OMOBJ>"));
 
exerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMI>1</OMI></OMOBJ>"));
exerciseVariableMap.put("b", OMConverter.toObject("<OMOBJ><OMI>2</OMI></OMOBJ>"));
exerciseVariableMap.put("c", OMConverter.toObject("<OMOBJ><OMI>-1</OMI></OMOBJ>"));
}
 
@Test
public void testMin1() {
assertEquals(1, Evaluator.getNumberResult("min(1, 2)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMin2() {
assertEquals(2, Evaluator.getNumberResult("min(3, 2)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMin3() {
assertEquals(1, Evaluator.getNumberResult("min(1, 1)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMin4() {
assertEquals(0, Evaluator.getNumberResult("min(0, 0)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMin5() {
assertEquals(-2, Evaluator.getNumberResult("min(-2, 0)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMin6() {
assertEquals(-2, Evaluator.getNumberResult("min(-2, 2)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test
public void testMinWithVariables1() {
assertEquals(1, Evaluator.getNumberResult("min([var=a], [var=b])", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithVariables2() {
assertEquals(-1, Evaluator.getNumberResult("min([var=a], [var=c])", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithInput1() {
assertEquals(1, Evaluator.getNumberResult("min([pos=1], [pos=2])", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithInput2() {
assertEquals(-1, Evaluator.getNumberResult("min([pos=1], [pos=3])", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithExpressions1() {
assertEquals(-12, Evaluator.getNumberResult("min(min(-12,2), 4)", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithExpressions2() {
assertEquals(-12,
Evaluator.getNumberResult("min(min(-12,2), min(5, 8))", exerciseVariableMap, fillInVariableMap),
0.0);
}
 
@Test
public void testMinWithExpressions3() {
assertEquals(-13, Evaluator.getNumberResult("min(min(-12,min(13,-13)), min(5, 8))", exerciseVariableMap,
fillInVariableMap), 0.0);
}
 
@Test
public void testMinWithPointNumbers1() {
assertEquals(1.0, Evaluator.getNumberResult("min(1.0, 1.3)", exerciseVariableMap, fillInVariableMap), 0.0);
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testMinWithWrongInputCharacter() {
Evaluator.getNumberResult("min(a, a)", exerciseVariableMap, fillInVariableMap);
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testMinWithOneArgument() {
Evaluator.getNumberResult("min(2)", exerciseVariableMap, fillInVariableMap);
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testMinWithThreeArguments() {
Evaluator.getNumberResult("min(1, 23, 4)", exerciseVariableMap, fillInVariableMap);
}
 
@Test(expected = UndefinedExerciseVariableException.class)
public void testMinWithMissingExerciseVariable() {
Evaluator.getNumberResult("min('[var=j]', '[var=j]')", exerciseVariableMap, fillInVariableMap);
}
 
@Test(expected = UndefinedFillInVariableException.class)
public void testMinWithMissingInput() {
Evaluator.getNumberResult("min('[pos=42]', '[pos=42]')", exerciseVariableMap, fillInVariableMap);
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet
* Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet.
* Die Funktion [[Max]] gibt alternativ die größte Zahl zurück.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Listfunktionen]][[Kategorie:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 18. April 2024, 12:51 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion min ermittelt den kleinsten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die kleinere Zahl zurück. Alternativ kann eine Liste von Zahlen angegeben werden.

Syntax

min(Gleitkommazahl zahl1, Gleitkommazahl zahl2)

oder

min(List liste)

Parameter

  • zahl1 - der erste zu vergleichende Wert
  • zahl2 - der zweite zu vergleichende Wert

oder

  • liste - eine Liste von Zahlen

Return Value

  • Gibt die kleinere Zahl zurück

Beispiele

Standardfälle

min(12,3)   --> returns 3

min(9.568,100)   --> returns 9.568

min(list(1,2,3,-123))   --> returns -123

Benutzung mit Variablen

min([pos=1],[pos=3])

min([var=a],[var=b])

min([var=c])

Hinweise

  • Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet.
  • Die Funktion Max gibt alternativ die größte Zahl zurück.