Product

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion product erzeugt das math. Produktzeichen.

Syntax

product(IntegerInterval interval, LambdaFunktion lambda)

Parameter

  • interval - das IntegerInterval, welches die Laufvariable der Summe bestimmt
  • lambda - die LambdaFunktion, welche die Laufvariable als Bindungsvariable und den Ausdruck enthält

Return Value

  • Gibt das Produktzeichen zurück

Beispiele

JACK3:
product(integerInterval(0,10), lambda(x+1, x))   --> returns \(39.916.800\)

product(integerInterval(-10,0), lambda(n+1+a, n))   --> returns \(a^{11} - 44\cdot a^{10} + 825 \cdot a^9 - 8580 \cdot a^8 + 53823 \cdot a^7 - 206052 \cdot a^6 + 454355 \cdot a^5 - 449020 \cdot a^4 - 146124 \cdot a^3 + 663696 \cdot a^2 - 362880 \cdot a\)
JACK2:
product(integerInterval(0,10), lambda(x+1, x))   --> returns \(\prod_{x=0}^{10} {x+1}\)

product(integerInterval(-10,0), lambda(n+1+a, n))   --> returns \(\prod_{n=-10}^{0} {n+1+a}\)

Vollständiges Testen einer Produkt-Eingabe

[input=produkt] := \(\prod_{x=0}^{10} {x+1}\)
getParameter(0, [input=produkt]) --> integerInterval(0, 10)
isIntegerInterval( getParameter(0, [input=produkt]) ) --> TRUE
getParameter(0,  getParameter(0, [input=produkt])) --> 0 //startIndex
getParameter(1,  getParameter(0, [input=produkt])) --> 10  //endIndex
getParameter(1, [input=produkt]) --> lambda(x+1, x)
isLambdaFunction(getParameter(1, [input=produkt])) --> TRUE
lambdaHasBindingVars(getParameter(1, [input=produkt]), x) --> TRUE
lambdaExprEqualsExpr(getParameter(1, [input=produkt]), x+1) --> TRUE
approx([input=produkt]) --> 39916800
[input=produkt]==39916800 --> TRUE