zur Übersicht nächste Seite

Lernspiel 2 Brüche addieren
(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 wird ein Lernspiel zur Addition von zwei Brüchen aufgeschrieben. Dazu das folgende Info:

Beim Aufruf des script wird die Aufgabenstellung angezeigt.

Es werden 4 zufällige Zahlen zwischen 1 und 50 erzeugt. Man kann einen Taschenrechner benutzen, die Multiplikation zweistelliger Zahlen braucht man nicht im Kopf durchzuführen. 
Es gibt eine Schaltfläche um die Lösung und einen Rechenweg 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/BruchZWEI.sh
Eingabe in den Editor
#!/bin/bash

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

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

zZ=$(seq 50 | sort -R)
zZa=$(echo "$zZ" | head -n 10 | tail -n 1)
zZb=$(echo "$zZ" | head -n 20 | tail -n 1)
zZc=$(echo "$zZ" | head -n 30 | tail -n 1)
zZe=$(echo "$zZ" | head -n 40 | tail -n 1)

if (( zZa < zZb )); then
rTW=$zZa
rNW=$zZb
else
rTW=$zZb
rNW=$zZa
fi

if (( zZc < zZe )); then
sTW=$zZc
sNW=$zZe
else
sTW=$zZe
sNW=$zZc
fi

rT=$(( rTW/$(gcd $rTW $rNW) ))
rN=$(( rNW/$(gcd $rTW $rNW) ))
sT=$(( sTW/$(gcd $sTW $sNW) ))
sN=$(( sNW/$(gcd $sTW $sNW) ))

Aufg=$(echo $rTW/$rNW + $sTW/$sNW)

yad --title "ony" --picture --geometry=300x400+360+160 --no-focus --no-buttons --undecorated --borders=0 --filename=/home/$Uu/Bla/dea62-20.gif & sleep 0.3s; GTK_THEME=Adwaita-dark yad --title "faq" --geometry=220x140+400+195 --undecorated --no-buttons --borders=0 --on-top --justify=center --text-info --back='#C6D8E6' --fore=black --fontname="Monospace bold 18" <<<$(echo -e "\nBerechne\n $Aufg") & sleep 0.1s; aT=$(GTK_THEME=Adwaita-dark yad --title "but" --geometry=220x60+400+380 --on-top --no-buttons --undecorated --columns="1" --form --field='!/home/'"$Uu"'/Bla/dea62-02.png!BEENDEN:BTN' ' bash -c "echo 5 ; wmctrl -F -c but; wmctrl -F -c faq; wmctrl -F -c ony" ' --field='!/home/'"$Uu"'/Bla/dea62-03.png!Loesung:BTN' ' bash -c "echo 9 ; wmctrl -F -c but; wmctrl -F -c faq; wmctrl -F -c ony" ')

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

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

hN=$(( rN*sN/$(gcd $rN $sN) ))

zU=$( echo $rT\x$(( sN/$(gcd $rN $sN) ))+$sT\x$(( rN/$(gcd $rN $sN) )) )
zV=$(( $rT*$(( sN/$(gcd $rN $sN) ))+$sT*$(( rN/$(gcd $rN $sN) )) ))

rNN=$(factor $rN | cut -f1 -d" " --complement | sed s'/ /x/g')
sNN=$(factor $sN | cut -f1 -d" " --complement | sed s'/ /x/g')
hNN=$(factor $hN | cut -f1 -d" " --complement | sed s'/ /x/g')
zVV=$(factor $zV | cut -f1 -d" " --complement | sed s'/ /x/g')

aIa=$(echo -e "$Aufg = $(( zV/$(gcd $zV $hN) ))/$(( hN/$(gcd $zV $hN) ))\nRechenweg\nKürzen der einzelnen Brüche\n = $rT/$rN + $sT/$sN\nNenner 1.Bruch $rN =$rNN\nNenner 2.Bruch $sN =$sNN\nHauptnenner $hN =$hNN\nErgebnis Zähler\n $zU = $zV =$zVV")

yad --title "any" --picture --geometry=780x400+160+160 --no-focus --no-buttons --undecorated --borders=0 --filename=/home/$Uu/Bla/dea62-50.gif & sleep 0.2s; GTK_THEME=Adwaita-dark yad --title "haq" --geometry=700x270+200+200 --undecorated --no-buttons --borders=0 --on-top --justify=center --text-info --back='#C6D8E6' --fore=black --fontname=" Monospace bold 16" <<<"$aIa" & sleep 0.1s; aT=$(GTK_THEME=Adwaita-dark yad --title "xut" --geometry=400x60+360+480 --on-top --no-buttons --undecorated --columns="2" --form --field='!/home/'"$Uu"'/Bla/dea62-02.png!BEENDEN:BTN' ' bash -c "echo 5 ; wmctrl -F -c haq; sleep 0.1s; wmctrl -F -c any; sleep 0.1s; wmctrl -F -c xut" ' --field='!/home/'"$Uu"'/Bla/dea62-04.png!Aufgabe:BTN' ' bash -c "echo 9 ; wmctrl -F -c haq; sleep 0.1s; wmctrl -F -c any; sleep 0.1s; wmctrl -F -c xut" ')

Ax=$(echo $aT)
aA=$(echo $aT)

done
Nun muß man das script ausführbar machen.
chmod +x ~/Bla/BruchZWEI.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