$\text{Überprüfen}$

$\text{Neuer Versuch}$

$\text{Neue Aufgabe}$

\text{Mulitpliziere jede Stelle des 1. Faktors mit dem 2. Faktor.\
Schreibe jede Ziffer einzeln in ein Feld.}

No selection allowed for all input boxes

Selection allowed for all input boxes

\text{Question text}

Fix position and allow selection for all text objects

Empty all input boxes

#EDEDED

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

\underline\text{Helper scripts for template}

\underline\text{Helper scripts for authors}

$a=$

$b=$

\text{Hinweis: Denke an den Übertrag!}

Zehntausenderinput

\textsf{Führe die schriftliche Multiplikation aus!}

\textsf{Achtung: in jedes Eingabefeld gehört nur \bold{eine} Zahl.}

\textsf{Platz für Übertrag →}

\textsf{Achte auf den Übertrag!}

ubervar2: NaN
ubervar1 = NaN
cInput: NaN
bInput: NaN
aInput: NaN
eInput = NaN
count: 1
randomNos = Shuffle(Sequence[Random[100, 999], i, 1, 100])
num = Element(randomNos, Mod[count, 100] + 1)
Einer = Mod(num, 10)
Zehner = Mod(floor(num / 10), 10)
Hunderter = Mod(floor(num / 100), 10)
randomNos2 = Shuffle(Sequence[Random[2, 9], i, 1, 100])
num2 = Element(randomNos2, Mod[count, 100] + 1)
inp1: (Einer * num2)
loes1 = Mod(floor(inp1), 10)
c1: aInput ≟ loes1
uber1 = Mod(floor(inp1 / 10), 10)
c6: ubervar2 ≟ uber1 ∨ (¬Defined[ubervar2])
inp2: (Zehner * num2) + uber1
loes2 = Mod(floor(inp2), 10)
c2: bInput ≟ loes2
uber2 = Mod(floor(inp2 / 10), 10)
c7: ubervar1 ≟ uber2 ∨ (¬Defined[ubervar1])
inp3: (Hunderter * num2) + uber2
loes3 = Mod(floor(inp3), 10)
c3: cInput ≟ loes3
loes5 = Mod(floor(inp3 / 100), 10)
loes4 = Mod(floor(inp3 / 10), 10)
loesgesamt: (num * num2)
sho1 = Mod(floor(loesgesamt / 10000), 10)
c5: eInput ≟ loes5 ∨ sho1 ≟ 0
sho2 = Mod(floor(loesgesamt / 1000), 10)
dInput: NaN
c4: dInput ≟ loes4 ∨ sho2 ≟ 0
Blue: (-5.32, 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
showButtonNew = false
showButtonTryAgain = false
showButtonValidate = true
showhint = false
Hunderterinput = Textfield(cInput)
Zehnerinput = Textfield(bInput)
correct = If(sho2 ≟ 0, c1 ∧ c2 ∧ c3 ∧ c5 ∧ c6 ∧ c7, c1 ∧ c2 ∧ c3 ∧ c5 ∧ c6 ∧ c7 ∧ c4)
showcorrecttext = false
questionCount: 0
PtopLeftCornerFeedback = (-2.56474, 7.13)
PbottomRightCornerFeedback = (-2.09399, 6.49)
PtopRightCornerFeedback: (x(PbottomRightCornerFeedback), y(PtopLeftCornerFeedback))
PbottomLeftCornerFeedback: (x(PtopLeftCornerFeedback), y(PbottomRightCornerFeedback))
rectangleCorrect, ptopleftcornerfeedback, ptoprightcornerfeedback, pbottomrightcornerfeedback, pbottomleftcornerfeedback = Polygon(PtopLeftCornerFeedback, PtopRightCornerFeedback, PbottomRightCornerFeedback, PbottomLeftCornerFeedback)
showhinttypicalerror = false
A = (-3.9097226565428356, 7.13193409842553)
B = (-1.0626418172602046, 7.131936385755079)
f = Segment(A, B)
Einerinput = Textfield(aInput)
Tausenderinput = Textfield(dInput)
InputBox1 = Textfield(eInput)
Ubertrag3 = Textfield(ubervar1)
Ubertrag2 = Textfield(ubervar2)
text4 = LaTeX(hintTypicalError, true, true)
isTypicalError: (bInput ≟ Mod[floor(inp2 - uber1), 10] ∨ cInput ≟ Mod[floor(inp3 - uber2), 10]) ∧ validate ≠ true ∧ hintText ≠ true ∧ uber1 ≠ 0 ∧ uber2 ≠ 0
PtopLeftCornerFeedback_{1} = (-3.338246483213297, 7.127877288450118)
PbottomRightCornerFeedback_{1}: (-2.95774, 6.49)
PtopRightCornerFeedback_{1}: (x(PbottomRightCornerFeedback_{1}), y(PtopLeftCornerFeedback_{1}))
PbottomLeftCornerFeedback_{1}: (x(PtopLeftCornerFeedback_{1}), y(PbottomRightCornerFeedback_{1}))
rectangleCorrect_{1}, ptopleftcornerfeedback_{1}, ptoprightcornerfeedback_{1}, pbottomrightcornerfeedback_{1}, pbottomleftcornerfeedback_{1} = Polygon(PtopLeftCornerFeedback_{1}, PtopRightCornerFeedback_{1}, PbottomRightCornerFeedback_{1}, PbottomLeftCornerFeedback_{1})
PtopLeftCornerFeedback_{2} = (-2.961249244585719, 7.127877288450119)
PbottomRightCornerFeedback_{2}: (-2.565, 6.49)
PtopRightCornerFeedback_{2}: (x(PbottomRightCornerFeedback_{2}), y(PtopLeftCornerFeedback_{2}))
PbottomLeftCornerFeedback_{2}: (x(PtopLeftCornerFeedback_{2}), y(PbottomRightCornerFeedback_{2}))
rectangleCorrect_{2}, ptopleftcornerfeedback_{2}, ptoprightcornerfeedback_{2}, pbottomrightcornerfeedback_{2}, pbottomleftcornerfeedback_{2} = Polygon(PtopLeftCornerFeedback_{2}, PtopRightCornerFeedback_{2}, PbottomRightCornerFeedback_{2}, PbottomLeftCornerFeedback_{2})
PtopLeftCornerFeedback_{3} = (-3.8797028081418983, 7.231011826531758)
PbottomRightCornerFeedback_{3} = (-3.3058217315798446, 6.506594611299443)
PtopRightCornerFeedback_{3}: (x(PbottomRightCornerFeedback_{3}), y(PtopLeftCornerFeedback_{3}))
PbottomLeftCornerFeedback_{3}: (x(PtopLeftCornerFeedback_{3}), y(PbottomRightCornerFeedback_{3}))
PtopLeftCornerFeedback_{4} = (-3.9183782599225108, 7.114985471189913)
PbottomRightCornerFeedback_{4} = (-3.4347363553418426, 6.49)
PtopRightCornerFeedback_{4}: (x(PbottomRightCornerFeedback_{4}), y(PtopLeftCornerFeedback_{4}))
PbottomLeftCornerFeedback_{4}: (x(PtopLeftCornerFeedback_{4}), y(PbottomRightCornerFeedback_{4}))
rectangleCorrect_{4}, ptopleftcornerfeedback_{4}, ptoprightcornerfeedback_{4}, pbottomrightcornerfeedback_{4}, pbottomleftcornerfeedback_{4} = Polygon(PtopLeftCornerFeedback_{4}, PtopRightCornerFeedback_{4}, PbottomRightCornerFeedback_{4}, PbottomLeftCornerFeedback_{4})
text3: "" + (LaTeX[Hunderter]) + "\:\:\:" + (LaTeX[Zehner]) + "\:\:\:" + (LaTeX[Einer]) + "\:\:\:\cdot\:\:" + (LaTeX[num2]) + ""
PtopLeftCornerFeedback_{5} = (-2.899924696366333, 7.540415440776681)
PbottomRightCornerFeedback_{5} = (-2.545204513227762, 7.125401839789286)
PtopRightCornerFeedback_{5}: (x(PbottomRightCornerFeedback_{5}), y(PtopLeftCornerFeedback_{5}))
PbottomLeftCornerFeedback_{5}: (x(PtopLeftCornerFeedback_{5}), y(PbottomRightCornerFeedback_{5}))
rectangleCorrect_{3}, ptopleftcornerfeedback_{3}, ptoprightcornerfeedback_{3}, pbottomrightcornerfeedback_{3}, pbottomleftcornerfeedback_{3} = Polygon(PtopLeftCornerFeedback_{5}, PtopRightCornerFeedback_{5}, PbottomRightCornerFeedback_{5}, PbottomLeftCornerFeedback_{5})
PtopLeftCornerFeedback_{6} = (-3.3124628486928858, 7.566199075297091)
PbottomRightCornerFeedback_{6}: (-2.95774, 7.1254)
PtopRightCornerFeedback_{6}: (x(PbottomRightCornerFeedback_{6}), y(PtopLeftCornerFeedback_{6}))
PbottomLeftCornerFeedback_{6}: (x(PtopLeftCornerFeedback_{6}), y(PbottomRightCornerFeedback_{6}))
rectangleCorrect_{5}, ptopleftcornerfeedback_{5}, ptoprightcornerfeedback_{5}, pbottomrightcornerfeedback_{5}, pbottomleftcornerfeedback_{5} = Polygon(PtopLeftCornerFeedback_{6}, PtopRightCornerFeedback_{6}, PbottomRightCornerFeedback_{6}, PbottomLeftCornerFeedback_{6})
hinweis1 = If(aInput / 10 ≥ 1 ∨ bInput / 10 ≥ 1 ∨ cInput / 10 ≥ 1 ∨ dInput / 10 ≥ 1, true, false)
hinweis2 = If(uber1 ≠ 0 ∧ bInput ≟ Mod[(Zehner * num2), 10] ∨ uber2 ≠ 0 ∧ cInput ≟ Mod[(Hunderter * num2), 10], true, false)
answerText: "\textsf{Lösung: \\
\textsf{
\begin{tabular}{c r} \," + (LaTeX[num]) + "\:\,\cdot\:\," + (LaTeX[num2]) + "\\
\:\,\footnotesize{" + (LaTeX[uber2]) + "}\,\footnotesize{" + (LaTeX[uber1]) + "}        
\\\hline" + (LaTeX[NumberSeperation[loesgesamt]]) + "      
\end{tabular}"
text9: "\textsf{Lösung: \\
\textsf{
\begin{tabular}{c r} \," + (LaTeX[num]) + "\:\,\cdot\:\," + (LaTeX[num2]) + "\\
\:\,\,\footnotesize{" + (LaTeX[uber1]) + "}\:\footnotesize{" + (LaTeX[uber2]) + "}        
\\\hline\:\:" + (LaTeX[loesgesamt]) + "     
\end{tabular}"
textCountCorrect: "\text{Richtig gelöste Aufgaben: " + (LaTeX[correctCount]) + "}"
correctText: "\text{" + (LaTeX[If[sho2 ≠ 0 ∧ (¬correct) ∧ (c1 ∨ c2 ∨ c3 ∨ c4), "✘ Teilweise richtig", If[sho2 ≟ 0 ∧ (¬correct) ∧ (c1 ∨ c2 ∨ c3), "✘ Teilweise richtig", If[correct, "      ✓ Richtig", "      ✘ Falsch"]]]]) + " }"

Tool: NumberSeparationPoint
NumberSeparationPoint[ <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: NumberSeperation
NumberSeperation[ <Number> ]
Input: num1
Output: text1

l1 = Reverse(TextToUnicode[("" * num1)])
m1 = Sequence(Take[l1, i, Min[i + 2, Length[l1]]], i, 1, Length[l1], 3)
l3 = Zip(Append[l, 32], l, m1)
l2 = Take(Reverse[Flatten[l3]], 2)
text1 = UnicodeToText(l2)