|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|

---------------------------------------------------------------------------------------------------------------------------------------

$\textsf{Los geht's!}$

$\textsf{Weiter}$

$\textsf{\bold{Nochmal!}}$

$\textsf{Zurück}$

\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.}

$\textsf{Lösung anzeigen}$

\textsf{Mein Name ist Melli Mathemagicus und ich möchte \
dir heute meinen magischen Zaubertrick zeigen.

\textsf{Wähle aus wie viele Stellen dein Produkt hat.
}

3Stellen

4Stellen

\textsf\colorbox{ebe7f8}{Trage jeweils nur 1 Ziffer ein.

$\textsf{Zauber starten}$

\textsf{Hilf mir deine fehlende Ziffer zu erraten, indem du auswählst, ob \deine fehlende Ziffer größer oder kleiner als 5 ist.

\textsf{Die fehlende Ziffer ist \phantom{(kleiner als,er als)} 5. }

\textsf{Lass uns gemeinsam überprüfen, ob mein Zauber und dein \
Ergebnis richtig sind.\
Gib deine gewählte Zahl ein und ich multipliziere sie mit 9.}

$\textsf{\bold{Neue Zahl}}$

\textsf{Du hast deine gewählte Zahl zu Beginn mit 9 multipliziert.\Daher ist dein Produkt sicher durch 9 teilbar. }

\textsf\colorbox{ebe7f8}{Eine Zahl ist durch 9 teilbar, wenn ihre \
\bold{Ziffernsumme} durch 9 teilbar ist.

\textsf{Hinter dem Zaubertrick steckt die Teilbarkeitsregel \
der Zahl 9.\Ich kann daher ausrechnen, welche Ziffer fehlt.\Lass uns das an einem Beispiel betrachten.

\textsf{Ich wähle die Zahl 485.\485 multipliziere ich mit 9.}

\textsf{Meine gewählte Zahl: 485           485 · 9 = 4 365
}

\textsf{Nun trage ich 3 beliebige der 4\
Ziffern meines Ergebnisses ein.}

\textsf{3}

\textsf{6}

\textsf{4}

\textsf{Hilf mir die Ziffernsumme der bekannten Ziffern zu berechnen. 
}

\textsf{3 + 6 + 4 = }

\textsf{Die Ziffernsumme der bekannten Ziffern ist 13.\Die \bold{nächstgrößere} Zahl, die durch 9 teilbar ist, ist 18.\Die Ziffernsumme des Ergebnisses muss also 18 sein.\\bold{Überlege, welche Ziffer zu 13 addiert werden \muss, damit 
die Summe 18 ist. 
}

\textsf{3 + 6 + 4 + \phantom{assdf} = 13 + \phantom{assdf} = 18}

\textsf{Super, die fehlende Ziffer lautet 5.

\textsf{5}

\textsf{Hurra, du kennst jetzt alle Ziffern des Ergebnisses.}

\textsf{Der Zaubertrick funktioniert wegen der Teilbarkeitsregel der Zahl 9.\Eine Zahl ist durch 9 teilbar, wenn die Ziffernsumme durch 9 teilbar ist.
}

\textsf\colorbox{ebe7f8}{Deine beliebige Zahl sollte dreistellig sein.

\textsf{\colorbox{ebe7f8}{Deine eingetragenen Ziffern und das Produkt \
deiner gewählten Zahl mit 9 stimmen nicht \überein. 
Rechne nochmal nach und starte \
den Zauber dann von vorne.}

$\textsf{Nochmal zaubern!}$

step = 1
maxstep: 19
StepAnzeige: "Step: " + step + " / " + maxstep + ""
input1 = NaN
input2 = NaN
input3 = NaN
input4 = NaN
InputBox1 = Textfield(input1)
InputBox2 = Textfield(input2)
InputBox3 = Textfield(input3)
InputBox4 = Textfield(input4)
attemptCount = 0
input5 = NaN
input6 = NaN
input7 = NaN
correct: step ≟ 15 ∧ input5 ≟ 13 ∨ step ≟ 16 ∧ input6 ≟ 5 ∧ input7 ≟ 5
A = (-3.61, -2)
B = (0.18, -2)
C = (0.84, 1.14)
SpeechStep1 = SpeechBubbleLeft(C, 9, 2)
D = (-0.82, 3.08)
SpeechStep2 = SpeechBubbleLeft(D, 10.4, 1.5)
DropDown1: {"$\textsf{\phantom{ 3 }}$", "$\textsf{ 3 }$", "$\textsf{ 4 }$"}
stellen = If(SelectedIndex[DropDown1] ≟ 2, 3, SelectedIndex[DropDown1] ≟ 3, 4, NaN)
step4eingabecorrect: IsInteger[input1] ∧ 0 ≤ input1 ≤ 9 ∧ IsInteger[input2] ∧ 0 ≤ input2 ≤ 9 ∧ (stellen ≟ 3 ∨ IsInteger[input3] ∧ 0 ≤ input3 ≤ 9)
DropDown2: {"$\textsf{Wähle aus!}$", "$\textsf{kleiner als}$", "$\textsf{größer als}$"}
E = (-0.54, 2.38)
Vieleck1 = SpeechBubbleLeft(E, 10, 1)
Step5Text2: "\textsf{" + (LaTeX[input1]) + "}"
Step5Text3: "\textsf{" + (LaTeX[input2]) + "}"
Step5Text4: "\textsf{" + (LaTeX[input3]) + "}"
zs = If(stellen ≟ 3, input1 + input2, stellen ≟ 4, input1 + input2 + input3)
neunteiltzs: Mod[zs, 9] ≟ 0
F = (-1.36, 3.24)
Vieleck2 = SpeechBubbleLeft(F, 12, 1)
kleiner5: SelectedIndex[DropDown2] ≟ 2
zauberZiffer = If(¬neunteiltzs, 9 - Mod[zs, 9], kleiner5 ∧ neunteiltzs, 0, (¬kleiner5) ∧ neunteiltzs, 9)
Step7Text1: "\textsf{Die fehlende Ziffer deines Ergebnisses lautet: " + (LaTeX[zauberZiffer]) + ".}"
G = (-0.64, 2.28)
Vieleck3 = SpeechBubbleLeft(G, 11, 2)
lap = 1
H = (-0.76, 3.28)
Vieleck4 = SpeechBubbleLeft(H, 11, 1)
I = (8.8, 1.4)
J = (10.18, 1.26)
K = (-0.3, 2.42)
Vieleck5 = SpeechBubbleLeft(K, 10, 2.3)
L = (0.4, 2.52)
Vieleck6 = SpeechBubbleLeft(L, 5.4, 1)
M = (2.3, -2.445)
N = (4.56, -2.48)
O = (5.54, -2.225)
P = (7.62, -2.3)
Q = (6.18, -0.325)
R = (8.64, -0.48)
S = (2.52, -0.425)
T = (4.64, -0.46)
U = (3.66, -1.585)
V = (6.38, -1.54)
W = (7.68, -1.245)
Z = (10.24, -1.32)
A_1 = (5.76, 0.875)
B_1 = (8.48, 0.76)
C_1 = (2.08, 0.335)
D_1 = (4.7, 0.32)
E_1 = (-0.94, 3.28)
Vieleck7 = SpeechBubbleLeft(E_1, 11, 1)
InputBox5 = Textfield(input5)
helpernum: (input4 * 9)
helpernumstelle1: floor(helpernum / 1000)
helpernumstelle2: floor((helpernum - (helpernumstelle1 * 1000)) / 100)
helpernumstelle3: floor((helpernum - (helpernumstelle1 * 1000) - (helpernumstelle2 * 100)) / 10)
helpernumstelle4: floor(helpernum - (helpernumstelle1 * 1000) - (helpernumstelle2 * 100) - (helpernumstelle3 * 10))
HelperNumSeperate = If(stellen ≟ 4, {helpernumstelle1, helpernumstelle2, helpernumstelle3, helpernumstelle4}, {helpernumstelle2, helpernumstelle3, helpernumstelle4})
InputSeperate = If(stellen ≟ 4, {input1, input2, input3, zauberZiffer}, {input1, input2, zauberZiffer})
correctCalc: HelperNumSeperate ⊆ InputSeperate
fixed: step ∈ Sequence[i, i, 1, 20] \ {3, 4, 6, 8, 15, 16} ∨ step ≟ 3 ∧ Defined[stellen] ∨ step ≟ 4 ∧ step4eingabecorrect ∨ step ≟ 6 ∧ SelectedIndex[DropDown2] ≠ 1 ∨ step ≟ 8 ∧ correctCalc ∨ step ≟ 15 ∧ correct ∨ step ≟ 16 ∧ correct
F_1 = (-0.76, 2.32)
Vieleck8 = SpeechBubbleLeft(F_1, 10, 2.7)
InputBox6 = Textfield(input6)
InputBox7 = Textfield(input7)
G_1 = (-0.06, 2.94)
Vieleck9 = SpeechBubbleLeft(G_1, 7, 1)
H_1 = (0, 3.14)
Vieleck10 = SpeechBubbleLeft(H_1, 9, 1)
I_1 = (-0.48, 3.02)
J_1 = (-3.1, 5.56)
K_1 = (9.96, 3.8)
L_1: (x(J_1), y(K_1))
M_1: (x(K_1), y(J_1))
N_1: (0.32, y(L_1))
O_1: (1.5, y(L_1))
HintStrecken: {Segment[J_1, L_1], Segment[N_1, L_1], Segment[I_1, N_1], Segment[O_1, I_1], Segment[K_1, O_1], Segment[M_1, K_1], Segment[J_1, M_1]}
HintFlaeche: {Polygon[J_1, L_1, N_1, I_1, O_1, K_1, M_1]}
P_1 = (-0.235, 1.415)
Q_1 = (1.46, 1.14)
Text4: "\textsf{" + (LaTeX[zauberZiffer]) + "}"
R_1 = (-0.58, 2.34)
Vieleck11 = SpeechBubbleLeft(R_1, 11, 2)
Step3Text2: "\textsf{Das Ergebnis hat \phantom{" + (LaTeX[If[stellen ≟ 3, "asdff3ff", stellen ≟ 4, "asdff4ff", "asdff4ff"]]) + "} Stellen. }"
S_1 = (-0.54, 2.46)
Vieleck12 = SpeechBubbleLeft(S_1, 10, 2)
Step5Text1: "\textsf{
Ich versuche nun anhand deiner " + (LaTeX[If[stellen ≟ 3, "2", "3"]]) + " Ziffern zu erraten, wie \\
die fehlende Ziffer deines Ergebnisses lautet.\\Hilf mir, meinen Zauber zu starten."
a: 4500 / 9
b: 432 / 9
c: 1332 / 9
Text5: "\textsf{" + (LaTeX[If[step < 13, lap, 3]]) + "/3}"
Step4Text1: "\textsf{
Wähle beliebig " + (LaTeX[If[stellen ≟ 3, "2", "3"]]) + " deiner " + (LaTeX[If[stellen ≟ 3, "3", "4"]]) + " Ziffern aus und trage diese in die \\Wolken ein. \\
Ich versuche danach deine fehlende Ziffer zu erraten. 
}"
V_1 = (-0.54, -2.4)
W_1 = (3.02, -1.14)
Z_1 = (3.56, 0.96)
A_2 = (2.2, 1.54)
B_2 = (1.26, 0.18)
C_2 = (3.44, -2.54)
d = Spline({V_1, W_1, Z_1, A_2, B_2, C_2}, 3)
anim1 = 0 (slider from 0 to 1, step 0.01)
T_1: d(anim1)
U_1: T_1 + (1.25, -0.16)
speed: 4
Step8Text2: "\textsf{\bold{Deine gewählte \\
dreistellige Ausgangszahl:}\\\\\\\\" + (LaTeX[If[step ≟ 8, "\phantom{         }", (("" * input4) * " ")]]) + "\cdot 9 = " + (LaTeX[If[Defined[input4], ("" * NumberSeperation[helpernum])]]) + "}"
Step2Text1: "\textsf{Denke an eine " + (LaTeX[If[lap > 1, "andere ", ""]]) + "beliebige dreistellige Zahl und \\
multipliziere 
diese auf einem Blatt Papier mit der Zahl 9.}"
Step9Text1: "\textsf{" + (LaTeX[If[lap ≟ 1, "Super, mein Trick hat funktioniert.\\Lass ihn uns mit einer anderen Zahl ausprobieren.", "Super, mein Trick hat wieder funktioniert.\\Lass uns nun überlegen, warum der Trick funktioniert."]]) + "
}"

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)

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)