$\text{Überprüfen}$

$\text{Neuer Versuch}$

$\text{\bold{Neue Aufgabe}}$

\textsf\colorbox{ebe7f8}{This text shows a hint for the student.\\It is shown after the second wrong answer\and is displayed during the third try.}

No selection allowed for all input boxes

Selection allowed for all input boxes

\textsf{Kreuze für das Zahlenmonster die passende Lösung an.\
Entscheide dich mithilfe einer Überschlagsrechnung.

Fix position and allow selection for all text objects

Empty all input boxes

\text{Lösung:\
\(1+1=2\)}

\underline\text{Helper scripts for template}

\underline\text{Helper scripts for authors}

$\textsf{input1=}$

$\textsf{input2=}$

\textsf\colorbox{ebe7f8}{This hint is for typical misconceptions of\students. It is shown after any wrong answer\that shows the typical error.}

Auflösung X

Auflösung Y

DevReset

$\textsf{Nochmal!}$

\textsf{\bold\vphantom{✘}✓

$\textsf{Los geht's!}$

\textsf{Das Zahlenmonster will die Multiplikation einer Dezimalzahl mit einer\{natürlichen} Zahl üben.\\
Hilf dem Zahlenmoster dabei!

\textsf{\infty}

sby = 0.6 (slider from -5 to 5)
sbx = 3.4 (slider from -5 to 5)
D = (-2.6924505135529695, 5.371763778095921)
questionCount = 0 (slider from 0 to 110, step 1)
listPos = Transpose(Sequence[Shuffle[{1, 2, 3, 4}], i, 1, 100])
posNum3: listPos(4, Mod[questionCount, 100] + 1)
posNum2: listPos(3, Mod[questionCount, 100] + 1)
posNum1: listPos(2, Mod[questionCount, 100] + 1)
posSol: listPos(1, Mod[questionCount, 100] + 1)
listPosEx: {posSol, posNum1, posNum2, posNum3}
inputsol = false
inputnum1 = false
inputnum2 = false
inputnum3 = false
listInputs: {inputsol, inputnum1, inputnum2, inputnum3}
listNumsSortiert: {listInputs(IndexOf[1, listPosEx]), listInputs(IndexOf[2, listPosEx]), listInputs(IndexOf[3, listPosEx]), listInputs(IndexOf[4, listPosEx])}
absypoint = 1.02 (slider from 0.5 to 2, step 0.01)
PosFB0 = (-1.6376889529146346, 5.568658098262447)
listPosFeedbackRectangle = Sequence(PosFB0 + (0, ((-m) * absypoint)), m, 0, 3)
fby = 0.9 (slider from -5 to 5)
selectedPos = IndexOf(true, listNumsSortiert)
PtopLeftCornerFeedback: listPosFeedbackRectangle(selectedPos)
fbx = 2.9 (slider from -5 to 5)
Blue = (-5.32, 4.5)
Green = (-5.28, 3.68)
Orange = (-5.2, 2.86)
Red = (-5.32, 2.04)
Purple = (-5.34, 1.12)
Gray = (-5.34, 0.32)
GrayDark = (-5.36, -0.7)
validate = false
showanswer = false
showsolution = false
attemptCount = 0
correctCount = 0
textCountCorrect: "\text{Richtig gelöste Aufgaben: " + (LaTeX[correctCount]) + " }"
showButtonNew = false
showButtonTryAgain = false
showButtonValidate = true
showhint = false
input1 = NaN
InputBox1 = Textfield(input1)
input2 = NaN
InputBox2 = Textfield(input2)
correct: inputsol
showcorrecttext = false
PbottomRightCornerFeedback: PtopLeftCornerFeedback + (fbx, (-fby))
PbottomLeftCornerFeedback: PtopLeftCornerFeedback + (0, (-fby))
PtopRightCornerFeedback: PtopLeftCornerFeedback + (fbx, 0)
rectangleCorrect, rectangleCorrectS3, rectangleCorrectS4, rectangleCorrectS2, rectangleCorrectS1 = Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback)
showhinttypicalerror = false
allowCountIncrement = true
randomNos123 = Join(Sequence[Shuffle[{1, 2, 3}], i, 1, 100])
randomNosForX1: Shuffle[Sequence[(Random[1, 10] * 0.1), i, 1, 150]] \ {1}
randomNosForX3: Shuffle[Sequence[(Random[100, 199] * 0.1), i, 1, 150]] \ {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
randomNosForX2: Shuffle[Sequence[(Random[10, 100] * 0.1), i, 1, 150]] \ {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
randomNosForX = Zip(If[n ≟ 1, a, If[n ≟ 2, b, c]], a, randomNosForX1, b, randomNosForX2, c, randomNosForX3, n, randomNos123)
numX = Element(randomNosForX, Mod[questionCount, 100] + 1)
randomNosForY = Shuffle(Sequence[Random[2, 50], i, 1, 100])
numY = Element(randomNosForY, Mod[questionCount, 100] + 1)
stayX = Append(true, Sequence[If[randomNosForX(i) ≟ randomNosForX(i - 1), false, true], i, 2, 100])
stayY = Append(true, Sequence[If[randomNosForY(i) ≟ randomNosForY(i - 1), false, true], i, 2, 100])
randomNosForXwithoutRepeat = Remove(Sequence[If[stayX(i), randomNosForX(i), 0], i, 1, 100], Sequence[0, i, 1, 100])
randomNosForYwithoutRepeat = Remove(Sequence[If[stayY(i), randomNosForY(i), 0], i, 1, 100], Sequence[0, i, 1, 100])
numXwithoutRepeat = Element(randomNosForXwithoutRepeat, Mod[questionCount, Length[randomNosForXwithoutRepeat]] + 1)
numYwithoutRepeat = Element(randomNosForYwithoutRepeat, Mod[questionCount, Length[randomNosForYwithoutRepeat]] + 1)
isTypicalError: false
showbuttons: true
isFlink: true
tries: attemptCount
resx = 800 (slider from 0 to 1000, step 10)
resy = 600 (slider from 0 to 1000, step 10)
correctpartially: false
correctText: "\textsf{" + (LaTeX[If[correct, "\vphantom{✘}✓ Richtig", If[correctpartially, "\vphantom{✓}✘ Teilweise richtig", "\vphantom{✓}✘ Falsch"]]]) + ""
showButtonRestart = false
ResX: "|\\|" + (LaTeX[If[resy > 60, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 150, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 240, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 330, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 420, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 510, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 600, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 690, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 780, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 870, "\\|\\|\\|"]]) + "" + (LaTeX[If[resy > 960, "\\|\\|"]]) + ""
ResY: "" + (If[resx > 0, "------------------", ""]) + "" + (If[resx > 100, "-----------------", ""]) + "" + (If[resx > 200, "----------------", ""]) + "" + (If[resx > 300, "-----------------", ""]) + "" + (If[resx > 400, "-----------------", ""]) + "" + (If[resx > 500, "----------------", ""]) + "" + (If[resx > 600, "-----------------", ""]) + "" + (If[resx > 700, "-----------------", ""]) + "" + (If[resx > 800, "----------------", ""]) + "" + (If[resx > 900, "-----------------", ""]) + ""
sol: (numX * numY)
num1: (sol * 10)
num2: sol / 10
num3a: sol / 100
num3b: (sol * 100)
case0: sol < 1
case1: 1 ≤ sol < 10
case2: 10 ≤ sol < 100
case3: 100 ≤ sol < 1000
num3 = If(case0 ∨ case3, num3a, If[case1, num3b, RandomElement[{num3a, num3b}]])
Text2: "\textsf{" + (LaTeX[sol]) + "\\" + (LaTeX[num1]) + "\\" + (LaTeX[num2]) + "\\" + (LaTeX[num3]) + ""
listNums: {sol, num1, num2, num3}
TextSol1 = NumberSeparationComma(sol)
TextNum11 = NumberSeparationComma(num1)
TextNum21 = NumberSeparationComma(num2)
TextNum31 = NumberSeparationComma(num3)
absy = 62 (slider from 0 to 100, step 1)
resx0 = 345 (slider from 0 to 600, step 1)
resy0 = 210 (slider from 1 to 500, step 1)
fixed: inputsol ∨ inputnum1 ∨ inputnum2 ∨ inputnum3
Text3: "\textsf{" + (LaTeX[If[correct, "\vphantom{✘}✓", If[correctpartially, "\vphantom{✓}", "\vphantom{✓}✘"]]]) + ""
A = (-6.576454817091582, 1.5323245348486738)
B: A + (4.5, 0)
C = (-0.47273089192936935, -0.14127718656679245)
f = OrthogonalLine(C, xAxis)
Vieleck1 = SpeechBubbleLeft(D, sbx, sby)
PCorrectTopLeft: listPosFeedbackRectangle(posSol)
PCorrectBottomLeft: PCorrectTopLeft + (0, (-fby))
PCorrectTopRight: PCorrectTopLeft + (fbx, 0)
PCorrectBottomRight: PCorrectTopLeft + (fbx, (-fby))
v1, pcorrecttopleft, pcorrectbottomleft, pcorrectbottomright, pcorrecttopright = Polygon(PCorrectTopLeft, PCorrectBottomLeft, PCorrectBottomRight, PCorrectTopRight)
step = 1
E = (-4.743433015287594, 2.04029481620862)
F: E + (4.5, 0)
listLeftRight = Sequence(Random[1, 2], m, 1, 100)
leftright: listLeftRight(Mod[questionCount, 100] + 1)
Text1: "\textsf{" + (LaTeX[If[leftright ≟ 1, ReplaceAll[("" * numX), ".", ","], ("" * numY)]]) + " \cdot " + (LaTeX[If[leftright ≟ 1, ("" * numY), ReplaceAll[("" * numX), ".", ","]]]) + " ="
TextNum1: "$\textsf{" + (LaTeX[TextNum11]) + "}$"
TextNum2: "$\textsf{" + (LaTeX[TextNum21]) + "}$"
TextNum3: "$\textsf{" + (LaTeX[TextNum31]) + "}$"
TextSol: "$\textsf{" + (LaTeX[TextSol1]) + "}$"

Tool: NumberSeparationComma
NumberSeparationComma[ <Zahl> ]
Input: inputnumber
Output: outputtext

inputnumber: -1234.5678
inputtext: "" + inputnumber + ""
inputlist = Sequence(Take[inputtext, i, i], i, 1, Length[inputtext])
negativ: First[inputlist] ≟ {"-"}
comma = Defined(IndexOf[".", inputlist])
point = If(comma ≟ true, IndexOf[".", inputlist], Length[inputlist] + 1)
dezimal = Take(inputlist, point + 1)
prepend = Take(inputlist, If[negativ ≟ true, 2, 1], point - 1)
prependsep = Reverse(Join[Sequence[If[Mod[Length[prepend] - 2 - i, 3] ≟ 0, Append[Take[prepend, i, i], " "], Take[prepend, i, i]], i, Length[prepend], 1, -1]])
outputlist = RemoveUndefined(Join[{If[negativ ≟ true, {"-"}], If[First[prependsep] ≟ {" "}, Take[prependsep, 2], prependsep], If[comma ≟ true, Append[",", dezimal]]}])
outputtext = Take(Sum[Zip[f, f, outputlist]], 1)

Tool: SpeechBubbleLeft
SpeechBubbleLeft(<Point>,<width>,<hight>)
Input: C, width, hight
Output: poly1

width: 5
hight: 2
C: (-2, 2)
BLLC: (x(C) + 0.2, y(C) + 1)
BLC = Rotate(BLLC, -40°, C)
BRC: (x(BLC) + width, y(BLC))
TLC: (x(BLLC), y(BLLC) + hight)
TRC: (x(BRC), y(TLC))
poly1, c, bllc, tlc, trc, brc, blc = Polygon(C, BLLC, TLC, TRC, BRC, BLC)

Tool: SpeechBubbleRight
SpeechBubbleRight(<Point>,<width>,<hight>)
Input: C, width, hight
Output: poly1

width: 5
hight: 2
C: (-2, 2)
BLLC: (x(C) - 0.2, y(C) + 1)
BLC = Rotate(BLLC, 40°, C)
BRC: (x(BLC) - width, y(BLC))
TLC: (x(BLLC), y(BLLC) + hight)
TRC: (x(BRC), y(TLC))
poly1, c, bllc, tlc, trc, brc, blc = Polygon(C, BLLC, TLC, TRC, BRC, BLC)