Floor: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
 
Die Funktion ''floor'' rundet eine rationale Zahl auf die nächstkleinere ganze Zahl ab. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.
Die Funktion ''floor'' rundet eine rationale Zahl auf die nächstgrößere ganze Zahl ab. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.


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


=== Parameter ===
=== Parameter ===
Zeile 10: Zeile 12:


=== Return Value ===
=== Return Value ===
*Gibt eine Ganzzahl zurück.
*Gibt eine [[Ganzzahl]] zurück.


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  floor('7.3')  --> returns 7
  floor(7.3)  --> returns 7
  floor('-2.4')  --> returns -3
  floor(-2.4)  --> returns -3


==== Benutzung mit Variablen ====
==== Benutzung mit Variablen ====
  floor('[pos=1]')
  floor([var=a])
floor('[var=a]')
 
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("2.3"));
  placeFillInVariable(3, OMParser.parse("-4.156665"));
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("b", OMParser.parse("2.3"));
  placeExerciseVariable("c", OMParser.parse("-4.156665"));
}
 
@Test
public void testFloor(){
  assertTrue( 5 == getEvaluator().getNumberResult("floor(5.4)"));
  assertTrue( 5 == getEvaluator().getNumberResult("floor(5.0)"));
  assertTrue( 0 == getEvaluator().getNumberResult("floor(0)"));
  assertTrue(-6 == getEvaluator().getNumberResult("floor(-5.4343664)"));
}
 
@Test
public void testFloorWithInput(){
  assertTrue( 0 == getEvaluator().getNumberResult("floor([pos=1])"));
  assertTrue( 2 == getEvaluator().getNumberResult("floor([pos=2])"));
  assertTrue(-5 == getEvaluator().getNumberResult("floor([pos=3])"));
}
 
@Test
public void testFloorWithVariables(){
  assertTrue( 0 == getEvaluator().getNumberResult("floor([var=a])"));
  assertTrue( 2 == getEvaluator().getNumberResult("floor([var=b])"));
  assertTrue(-5 == getEvaluator().getNumberResult("floor([var=c])"));
}
 
@Test
public void testFloorWithExpressions(){
  assertTrue( 5 == getEvaluator().getNumberResult("floor(floor(5.1354))"));
}
 
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testFloorWithWrongInputCharacter(){
  getEvaluator().getNumberResult("floor(a)");
}
 
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testFloorWithTwoArguments(){
  getEvaluator().getNumberResult("floor(7.4321, 3)");
}
 
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testFloorWithThreeArguments(){
  getEvaluator().getNumberResult("floor(1.434321, 5, 7)");
}


@Test(expected=UndefinedExerciseVariableException.class)
==== Benutzung mit studentischen Eingaben ====
public void testFloorWithMissingExerciseVariable(){
'''Jack2:'''
  getEvaluator().getNumberResult("floor([var=j])");
floor([pos=1])
}


@Test(expected=UndefinedFillInVariableException.class)
'''Jack3:'''
public void testFloorWithMissingInput(){
floor([input=fillin1])
  getEvaluator().getNumberResult("floor([pos=42])");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Weitere Funktionen zum Thema runden sind [[ceil]], [[rint]] und [[round]].
* 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 16. April 2024, 13:55 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion floor rundet eine rationale Zahl auf die nächstkleinere ganze Zahl ab. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.

Syntax

floor(Gleitkommazahl zahl)

Parameter

  • zahl - eine abzurundende rationale Zahl

Return Value

Beispiele

Standardfälle

floor(7.3)   --> returns 7

floor(-2.4)   --> returns -3

Benutzung mit Variablen

floor([var=a])

Benutzung mit studentischen Eingaben

Jack2:
floor([pos=1])
Jack3:
floor([input=fillin1])

Hinweise

  • Weitere Funktionen zum Thema runden sind ceil, rint und round.
  • 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.