Workshop Gesellschaft für Didaktik der Mathematik Schweiz
PHBern
PHBern
19.01.2024
import random
import time
anzahlRichtige = 0
while anzahlRichtige < 10:
startzeit = time.time ()
x = int (50000 * random.random())
y = int (50000 * random.random())
z = x+y # korrekte Lösung = z
Lösung = input("Was ergibt " + str (x) + " + " + str(y) + "? ")
endzeit = time.time()
anzahl_sekunden = int (endzeit - startzeit)
if int(Lösung) < z*1.03 and int (Lösung) > z*0.97:
anzahlRichtige = anzahlRichtige + 2
print("sehr gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
elif int(Lösung) < z*1.06 and int (Lösung) > z*0.94:
anzahlRichtige = anzahlRichtige + 1
print("gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
else:
print("Zu ungenau, dass wäre die korrekte Lösung: " + str (z) + " , du hast " + str(anzahl_sekunden) + " Sekunden gebraucht.")
print (anzahlRichtige)
Inhalt
Ausgangslage
Hands on!
Mathematikverständnis stärken
können Programme mit Schleifen, bedingten Anweisungen und Parametern schreiben und testen.
können selbstentwickelte Algorithmen in Form von lauffähigen und korrekten Computerprogrammen mit Variablen und Unterprogrammen formulieren.
Grundansprüche müssen erfüllt sein, damit die Basis für das Weiterlernen im Fachbereich gelegt ist.
Registration and Access Minimum Age. You must be at least 13 years old or the minimum age required in your country to consent to use the Services. If you are under 18 you must have your parent or legal guardian’s permission to use the Services.
(openai?)
Inhalt
Ausgangslage
Hands on!
Mathematikverständnis stärken
Wir benutzen heute folgende Webseiten:
Probiert eigene Ideen aus.
Inhalt
Ausgangslage
Hands on!
Mathematikverständnis stärken
Ich empfand Mathematik als anstrengend, weil sie einen ungeheuer kreativen Umgang mit lose definierten formalen Systemen erfordert, während einem die Informatik Kreativität mit streng definierten formalen Systemen abverlangt.
Geoff Huston, in (ermert2023?)
https://phbern.padlet.org/richardconrardy/workshop-gdm-f7fukgt5ggad1j13
Es folgt ein Python-Programm, welches mit Ihnen das Überschlagen von Summen und Differenzen von Dezimalzahlen übt.
Eine “sehr gute” Lösung liegt +/- 3% von der richtigen Lösung weg, eine “gute” Lösung liegt +/- 6% von der richtigen Lösung weg.
Üben Sie, bis Sie regelmässig gute Lösungen erreichen.
Herausforderung: Schreiben Sie das Programm selbst! Benutzen Sie dazu die random library mit import random und generieren Sie eine zufällige Zahl zwischen 0 und 1 mit random.random() und mit random.choice(+,-) eine zufällige Operation.
Herausforderung: Bauen Sie eine Stoppuhr in den Code ein, welche die Zeit bis zur Antwort zählt und ausgibt. (Tipp: import time und time.time() gibt die Zeit in Unixzeit aus.)
import random
import time
anzahlRichtige = 0
while anzahlRichtige < 10:
startzeit = time.time ()
x = int (50000 * random.random())
y = int (50000 * random.random())
z = x+y # korrekte Lösung = z
Lösung = input("Was ergibt " + str (x) + " + " + str(y) + "? ")
endzeit = time.time()
anzahl_sekunden = int (endzeit - startzeit)
if int(Lösung) < z*1.03 and int (Lösung) > z*0.97:
anzahlRichtige = anzahlRichtige + 2
print("sehr gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
elif int(Lösung) < z*1.06 and int (Lösung) > z*0.94:
anzahlRichtige = anzahlRichtige + 1
print("gut gemacht!" + "Du hast " + str (anzahl_sekunden) + " Sekunden gebraucht.")
else:
print("Zu ungenau, dass wäre die korrekte Lösung: " + str (z) + " , du hast " + str(anzahl_sekunden) + " Sekunden gebraucht.")
print (anzahlRichtige)
PHBern, Institut Sekundarstufe 1, Joel Adler, Richard Conrardy