zur Übersicht nächste Seite

Lernspiel binomische Formeln
(funktioniert unter Xorg aber nicht unter Wayland)

Die Ausführungen der vorherigen Seiten über Programmfenster werden hier weitergeführt.
Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein - dann drückt man die Eingabetaste. 
Oder man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Editors ein.  
Dann drückt man zum Abspeichern gleichzeitig Strg und O 
dann drückt man die Eingabetaste um den Dateinamen zu bestätigen 
dann drückt man zum Verlassen des Editors gleichzeitig Strg und X.


Hier gibt es ein weiteres Lernspiel.
Mathematik lebt von der Anwendung folgerichtigen Denkens und der Verwendung von Bausteinen. Das ist auch beim Schreiben von scripten so, denn es werden
yad-Fenster-Bausteine
sed-Bausteine
Bausteine zum Erzeugen zufälliger Zahlen
Bausteine zum Schließen von Fenstern
usw.
benutzt. Die Kombination von Bausteinen durch folgerichtiges Denken ist beinahe universell. Hier wird die Verwendung von den Bausteinen
binomische Formeln
geübt. Beim Aufruf des script wird die Aufgabenstellung angezeigt:

Die binomischen Formeln sind ganz oben nochmals notiert.
Es werden 5 zufällige Zahlen zwischen -9 und +9 erzeugt und damit eine Aufgabe mit bestimmtem Typ angezeigt. 
Es gibt eine Schaltfläche um die Lösung anzuzeigen

Nun kann man entscheiden ob man eine zufällige neue Aufgabe haben will oder das Spiel beenden will. 

Das script wird wieder in dem Ordner ~/Bla abgelegt:
nano ~/Bla/binomischeFORMEL.sh
Eingabe in den Editor
#!/bin/bash

Uu=$(whoami)

aA=9
while (( $aA == 9 ))
do

aXa=$(echo -e "1\n-1\n1\n-2\n1\n2\n1\n-3\n1\n3" | sort -R | head -n 1)
aAb=$(echo -e "1\n-1\n2\n-2\n3\n-3\n4\n-4\n5\n-5\n6\n-6\n7\n-7\n8\n-8\n9\n-9" | sort -R | head -n 2 | tail -n 1)
aAc=$(echo -e "1\n-1\n2\n-2\n3\n-3\n4\n-4\n5\n-5\n6\n-6\n7\n-7\n8\n-8\n9\n-9" | sort -R | head -n 4 | tail -n 1)
aAe=$(echo -e "1\n-1\n2\n-2\n3\n-3\n4\n-4\n5\n-5\n6\n-6\n7\n-7\n8\n-8\n9\n-9" | sort -R | head -n 6 | tail -n 1)
aAd=$(echo $(($RANDOM % 9 + 1)) )
aGa=$( echo "(${aXa}x+$aAb)² = (${aXa}x+$aAd)(${aXa}x-$aAd)+${aAc}x+$aAe" | sed 's/+-/-/g' | sed 's/1x/x/g' | sed 's/-1x/-x/g' )

yad --title "ony" --picture --geometry=780x500+160+160 --no-focus --no-buttons --undecorated --borders=0 --filename=/home/$Uu/Bla/dea63-91.gif & sleep 0.2s; GTK_THEME=Adwaita-dark yad --title "faq" --geometry=700x120+200+240 --no-focus --undecorated --no-buttons --borders=0 --justify=center --text-info --back='#DD91D3' --fore=black --fontname="Monospace bold 20" <<<$(echo -e "\n $aGa \n verwende obige binomische Formeln") & aT=$(GTK_THEME=Adwaita-dark yad --title "prt" --geometry=700x60+200+360 --on-top --no-buttons --undecorated --columns="3" --form --field='!/home/'"$Uu"'/Bla/dea63-02.png!BEENDEN:BTN' ' bash -c "echo 5 ; wmctrl -F -c ony; sleep 0.1s; wmctrl -F -c faq; sleep 0.1s; wmctrl -F -c prt" ' --field='!/home/'"$Uu"'/Bla/dea63-18.jpg!:BTN' '' --field='!/home/'"$Uu"'/Bla/dea63-03.png!Loesung:BTN' ' bash -c "echo 9 ; wmctrl -F -c ony; sleep 0.1s; wmctrl -F -c faq; sleep 0.1s; wmctrl -F -c prt" ')

Ax=$(echo $aT)
Az=$(echo $aT)

if (( Az == 5 )) ; then
exit
fi

aGb=$( echo "$(( 2*aXa*aAb ))x+$(( aAb*aAb )) = $(( -aAd*aAd+aAe ))+${aAc}x" | sed 's/+-/-/g' )

xS=$(( 2*aAb*aXa-aAc ))
zS=$(( -aAd*aAd-aAb*aAb+aAe ))

if (( xS == 0 )); then
if (( zS == 0 )); then
aIa=$( echo -e "\n$aGa\n\nx läßt sich nicht berechnen \njede Zahl ist Lösung")
else
aIa=$( echo -e "\n$aGa\n\nx läßt sich nicht berechnen \nes gibt keine Lösungen ")
fi
else

gcd() { ! (( $1 % $2 )) && echo $2 || gcd $2 $(( $1 % $2 )); }

ggT=$(gcd $(echo $zS | sed 's/-//') $(echo $xS | sed 's/-//'))

Z/N () { if (( $1%$2==0 )); then echo $1/$2 = $(( $1/$2 )); else echo $1/$2 = $(( $1/$2 )) + $(( $1%$2 ))/$2 ; fi; }

if (( xS < 0 )); then
aIa=$( echo -e "\n$aGa\n\nx=$(Z/N $(( -zS/ggT )) $(( -xS/ggT )) | sed s'#+ -#-#g')\n\nEin Schritt zur Lösung lautet:\n$aGb")
else
aIa=$( echo -e "\n$aGa\n\nx=$(Z/N $(( zS/ggT )) $(( xS/ggT )) | sed s'#+ -#-#g')\n\nEin Schritt zur Lösung lautet:\n$aGb")
fi
fi

yad --title "any" --picture --geometry=780x512+160+160 --no-focus --no-buttons --undecorated --borders=0 --filename=/home/$Uu/Bla/dea63-93.gif & sleep 0.2s; GTK_THEME=Adwaita-dark yad --title "haq" --geometry=700x280+200+200 --undecorated --no-buttons --borders=0 --on-top --justify=center --text-info --back='#DD91D3' --fore=black --fontname=" Monospace bold 20" <<<"$aIa" & aW=$(GTK_THEME=Adwaita-dark yad --title "krt" --geometry=700x60+200+480 --on-top --no-buttons --undecorated --columns="3" --form --field='!/home/'"$Uu"'/Bla/dea63-02.png!BEENDEN:BTN' ' bash -c "echo 5 ; wmctrl -F -c any; sleep 0.1s; wmctrl -F -c haq; sleep 0.1s; wmctrl -F -c krt" ' --field='!/home/'"$Uu"'/Bla/dea63-18.jpg!:BTN' '' --field='!/home/'"$Uu"'/Bla/dea63-05.png!Aufgabe:BTN' ' bash -c "echo 9 ; wmctrl -F -c any; sleep 0.1s; wmctrl -F -c haq; sleep 0.1s; wmctrl -F -c krt" ')

Ax=$(echo $aW)
aA=$(echo $aW)

done
Nun muß man das script ausführbar machen.
chmod +x ~/Bla/binomischeFORMEL.sh
Die yad-Fenster verwenden die unten gezeigten Bild-Dateien die Sie auf Ihren Computer kopieren müssen. Diese Bild-Dateien müssen in dem Ordner liegen auf den das script verweist. Hier ist es der Ordner ~/Bla. Ansonsten müssen Sie die Pfade anpassen.











Sollte ein Info-Bild wie unten angezeigt werden so bedeuted dies daß die CPU zuviel zu tun hat. Man kann auf das Info-Fenster klicken und das Yad-Fenster sichtbar machen. Sollte dies öfters vorkommen so kann man die sleep-Zeiten im script vergrößern damit die CPU etwas durchschnaufen kann.



zur Übersicht nächste Seite

Datenschutzerklärung
Impressum