Product: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion des JACK3-Systems.}}
==Zugehörige Evaluatoren==
==Zugehörige Evaluatoren==
*'''MathEvaluator'''
*'''MathEvaluator'''
Zeile 18: Zeile 16:


===Beispiele===
===Beispiele===
  product(integerInterval(0,10), lambda(x+1, x)) --> Gibt \(\prod_{x=0}^{10} {x+1}\) zurück.
'''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\)


  product(integerInterval(-10,0), lambda(n+1+a, n)) --> Gibt \(\prod_{n=-10}^{0} {n+1+a}\) zurück.
'''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===
===Vollständiges Testen einer Produkt-Eingabe===
Zeile 42: Zeile 46:
  [input=produkt]==39916800 --> TRUE
  [input=produkt]==39916800 --> TRUE


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

Version vom 12. April 2024, 13:23 Uhr

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