Ceil: Unterschied zwischen den Versionen

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


Zeile 4: Zeile 7:


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


=== Parameter ===
=== Parameter ===
Zeile 14: Zeile 17:
=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  ceil('7.3')  --> returns 8
  ceil(7.3)  --> returns 8
  ceil('-2.4')  --> returns -2
 
  ceil(-2.4)  --> returns -2
==== Benutzung von Variablen ====
ceil('[pos=1]')
ceil('[var=a]')
 
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("4.5"));
 
  placeExerciseVariable("a", OMParser.parse("4.5"));
}
 
@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() {
  assertTrue(1 == getEvaluator().getNumberResult("abs('[pos=2]')"));
  assertTrue(8.43 == getEvaluator().getNumberResult("abs('[pos=1]')"));
}
 
@Test public void testAbsWithVariables() {
  assertTrue(1 == getEvaluator().getNumberResult("abs('[var=b]')"));
  assertTrue(8.43 == getEvaluator().getNumberResult("abs('[var=a]')"));
}
 
@Test public void testAbsWithExpressions() {
  assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(5))"));
  assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(abs(-5)))"));
}
 
@Test (expected=ParserMismatchException.class)//(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testAbsWithWrongInputCharacter() {
  getEvaluator().getNumberResult("abs(a)");
}


@Test (expected=UnsupportedEvaluatorFunctionException.class)
==== Benutzung mit Variablen ====
public void testAbsWithTwoArguments() {
  getEvaluator().getNumberResult("abs(-2.2, 3.3)");
}


@Test (expected=UnsupportedEvaluatorFunctionException.class)
ceil([var=a])
public void testAbsWithThreeArguments() {
ceil([var=b])
  getEvaluator().getNumberResult("abs(2.123, -3.55, -1)");
}


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


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


=== Hinweise ===
=== Hinweise ===
* Weitere Funktionen zum Thema runden sind [[floor]], [[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 15. April 2024, 12:31 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion ceil rundet eine rationale Zahl auf die nächstgrößere ganze Zahl auf. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.

Syntax

ceil(Gleitkommazahl zahl)

Parameter

  • zahl - eine aufzurundende rationale Zahl

Return Value

  • Gibt eine Ganzzahl zurück

Beispiele

Standardfälle

ceil(7.3)   --> returns 8

ceil(-2.4)   --> returns -2

Benutzung mit Variablen

ceil([var=a])
ceil([var=b])

Benutzung mit studentischen Eingaben

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

Hinweise

  • Weitere Funktionen zum Thema runden sind floor, 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.