Tabellenkalkulation im Mathematikunterricht
Vorbemerkung: Es handelt sich hier um eine Sammlung von Ideen und Anregungen, nicht um komplett ausformulierte Aufgaben oder Handreichungen für Lehrer. Meistens wird noch etwas Hilfe und Erläuterung der Algorithmen durch die Lehrkraft nötig sein, besonders in der Klassenstufe 9). Erfahrungsgemäß hilft es den Schülern, wenn man vor der Umsetzung des Algorithmus in ein Rechenblatt ein paar Schritte mit der Hand rechnet, bzw sie rechnen lässt.
Näherung der Kreiszahl pi nach Archimedes
Archimedes wird folgendes Verfahren zur Näherung der Kreiszahl pi zugeschrieben. Zunächst überlegt man sich, wie man aus dem Umfang eines n-Ecks bei Eckenverdopplung den Umfang eines 2n Ecks berechnet. Der Abstand der Ecken zum Mittelpunkt soll sich dabei natürlich nicht ändern. Wie erhält man z.B. aus dem Umfang eines 3-Ecks den eines 6-Ecks, dann den eines 12-Ecks usw. (oder aus dem eines 4-Ecks den eines 8-Ecks usw.)
Dann betracht man zum Einheitskreis das innenliegende n-Eck und das umschließende n-Eck und berechnet deren Umfänge, verdoppelt dann die Eckenzahl und berechnet erneut die Umfänge usw. Man erhält also zwei Zahlenfolgen, die Pi einschließen und eine Intervallschachtelung bilden (warum?).
Auftrag:
Ermittle Formeln für die Umfänge, formuliere den Algorithmus (man nennt dies ein rekursives Verfahren), und berechne dann mit einem Tabellenkalkulationsprogramm Näherungen für Pi, indem du zum Beispiel mit einem 3-Eck (oder einem 4-Eck) startest.
Wieviele Näherungen braucht man jeweils um eine weitere Stelle der Zahl pi zu ermitteln?
Archimedes schaffte es angeblich mit Handrechnung bis zum 96-Eck. Wie genau war seine Näherung?
(Passt zum Mathematikunterricht Klasse 9 Ende oder 10. Anfang/ G8. Wird nur Satz des Pythagoras und Dreiecksgeometrie benötigt)
.....

Pi durch ein Zufallsexperiment nähern
Man kann die Zahl Pi auch durch Zufallsexperimente näherungsweise ermitteln. Zeichne dazu einen Kreis mit Radius 1 und das umschreibende Quadrat in ein kartesisches Koordinatensystem ein. Mittelpunkt Null. Überlege wie die Flächen zueinander im Verhältnis stehen.
Starte dann ein Zufallsexperiment: Zufälliger Wurf eines Steines auf das Quadrat und zähle wie oft dabei der Stein im innenliegenden Kreis landet. Wie kann man aus dieser Anzahl und der Gesamtzahl der Würfe eine Näherung für PI berechnen?
Simuliere diese Würfe dann mit einem Rechenblatt.
Hinweis: Du benötigst Pro Wurf immer zwei Zufallszahlen , die x und die y-Koordinate des gelandeten Steines. Dann musst du testen, ob der Stein im Kreis gelandet ist, oder nicht (wie?). Und aus der Zahl der Landungen im Kreis und der Gesamtzahl der Würfe eine Näherung für Pi ermitteln.
Quadratische Gleichungen lösen
Ermittle mit einem Rechenblatt die Lösung einer quadratischen Gleichung
a x 2 + b x + c = 0
aus den Koeffizienten a,b,c (Eingabegrößen).
Hierzu muss man die WENN() Funktion/bedingte Anweisungen kennen - die Lösung hängt bekanntlich vom Vorzeichen der Diskriminante ab. Für den Fall, dass die Diskriminante kleiner als Null ist, soll angezeigt werden "Keine Lösung" .
Beachte dabei: Der Rechner bzw das Tabellenkalkulationsprogramm stellt intern viele Zahlen (z.B. schon den Bruch 1/3) nur näherungsweise dar. Bei Rechnungen enstehen dadurch Rundungsfehler. Es kann also sein, dass die Diskriminante bei exakter Rechnung Null wäre, aber nicht so angezeigt wird. Was könnte man da machen? Versuche solche Fälle zu finden.
hier weitere Links

Näherungsverfahren für Nullstellen -Numerische Experimente
9.Klassenstufe: Intervallschachtelung/-halbierung , Intervallhalbierung
10. Klassenstufe Sekantenverfahren.
11. Klassenstufe Newtonverfahren.
Sicher hast du im Laufe der Jahre im Mathematikunterricht festgestellt, dass sich manche Nullstellen von Funktionen nur schwer oder gar nicht exakt berechnen lassen, zum Beispiel für f(x)= 2 x - 2x - 2 = 0.
Dies kann man dann oft näherungsweise durch ein geeignetes Näherungsverfahren erledigen.
Implementiere (je nach Klassenstufe, siehe oben) ein solches Verfahren in einem Rechenblatt und teste es an Funktionen, deren Nullstellen du kennst. Zum Beispiel ganzrationale Funktionen, trigonometrische Funktionen oder die Funktion oben.
Numerische Experimente für fortgeschrittene Schüler: Was passiert, wenn man das einfache Newtonverfahren (oder auch das Sekantenverfahren) auf die Gleichung
arctan(x) = 0
anwendet und zum Beispiel mit x=2 (also weit entfernt von der Nullstelle) startet? Wie könnte man das Verfahren modifizieren oder mit einem anderen Verfahren kombinieren, damit es die Nullstelle findet? Wie verhält sich dagegen das Intervallhalbierungsverfahren?
Weitere Anregung: Anhand einer ganzrationalen Funktion vom Grad 3 oder 4 mit bekannten, gut separierten Nullstellen kann man testen, welches das schnellste Verfahren ist. (Startwert in der Nähe einer einfachen Nullstelle).
Alle Verfahren ermitteln zunächst (bestenfalls) nur eine Nullstelle. Was könnte man unternehmen, um mehrere verschiedene Nullstellen zu finden? z.B. von f(x) = (x-1)(x-3) (x-5), x reell.
Was passiert beim Newton- oder Sekantenverfahren, wenn Nullstellen sehr dicht nebeneinander liegen, etwa bei der Funktion
f( x) = (x-1,000000000000001)(x-1))? (Skizze).
Anmerkung: Das Newtonverfahren ist bereits in manchen Taschenrechnern implementiert.

Babylonisches Wurzelziehen
Die alten Babylonier waren bekanntlich schon fleißige Baumeister und da blieb es nicht aus, dass sie die Länge von Diagonalen in Rechtecken aus den Seitenlängen bestimmen mussten. Den Satz des Pythagoras kannten sie schon und so mussten sie also Wurzeln näherungsweise berechnen. Dabei verwendeten sie folgendes Verfahren:
Motivation. Wir wollen die Quadratwurzel der Zahl 7 annähern. Angenommen, wir haben schon eine ganzzahlige Näherung durch Kopfrechnen, zum Beispiel die Zahl x=2 oder x=3. Wurzel(7) liegt dazwischen. Nun suchen wir eine Korrektur d so, dass x+d genau Wurzel(7) ergibt.
(x+d) 2 =7. Also x 2 + 2xd + d 2 =7. (*)
Wir könnten d zwar daraus bestimmen durch Lösung einer quadratischen Gleichung, aber das würde wieder die Berechnung einer Wurzel erfordern, hülfe also hier nicht wirklich weiter. Abgesehen davon kannten die alten Babylonier die Lösungsformel noch gar nicht, mussten sich also anderweitig behelfen. Wenn x eine gute Näherung war, dann ist |d| kleiner 1 und damit d 2 erst recht klein. Also lassen wir den Term in (*) einfach weg und erhalten statt der Gleichung nur eine Näherung
x 2 + 2xd ist ungefähr 7.
Daraus ermitteln wir aus der ersten Näherung x eine Schätzung für die Korrektur:
d ist ungefähr (7-x 2 ) /(2x).
Neue Näherung: x+d. Wiederholung der Schritte. Wir formulieren dies als Algorithmus:
Gesucht ist Wurzel(z) für eine Zahl z größer als 1. Vorgegeben eine Abbruchgenauigkeit eps größer Null.
1. Schritt: Anfangswert bestimmen. Ermittle durch Probieren eine Zahl v so, dass Wurzel(z) mindestens im Intervall ]v; v+1[ liegt. (Gegen bessere Anfangswerte ist auch nichts einzuwenden). Durch Quadrieren stellt man fest, welche der Näherungen v bzw v+1 die bessere ist - diese nimmt man dann als Startwert x(1).
Wenn |z - v 2 | kleiner |z-(v+1) 2 | dann x(1) = v sonst x(1) = v+1.
2. Schleife: Berechne für n=1, 2, 3, ....
die Korrekturen und setze das nächste x. x(n+1) = x(n) + (z-x(n) 2 ) /(2x(n)).
Wenn |x(n+1) 2 -z | kleiner eps dann Abbruch der Iteration.
Man kann dies auch in einem Tabellenkalkulationsprogramm realisieren. Statt einer Schleife muss man dann eben Zeilen "ziehen" bis die Genauigkeit erreicht ist. Beim Testen stellt man fest: Das Verfahren ist überraschend schnell ("quadratische Konvergenz"). Dies verwundert nicht, denn es ist ja das Newtonverfahren (ohne Schrittweitensuche) angewandt auf (x^2 - z) = 0.
Zufallszahlen generieren und analysieren
Projekt für Oberstufenschüler - würde sich auch für Java eignen.
Die Simulation von Zufallsexperimenten mit Tabellenkalkulation hat inzwischen Einzug in die Schulbücher gehalten. Wo zu meiner Schulzeit noch mit Galtonbrett, Würfeln und Münzen hantiert, langwierige Zähl-Statistiken angefertigt wurden, zieht man nun flott eine Zeile im Rechenblatt runter. Ob das besser ist, soll hier nicht diskutiert werden, schneller geht es jedoch meistens als die Handstatistik. Zumindest dann, wenn das Programmieren der Rechenblätter keine zu große Hürde darstellt.
Um solche "Zufallszahlen" zu generieren, wird zum Beispiel die Funktion Zufallszahl() (engl. Version Rand() ) benutzt. Diese liefert scheinbare Zufallszahlen im Intervall [0;1], Die man dann in den gewünschten Zahlraum transformieren kann. Mit welchen Rechenverfahren werden solche Folgen von scheinbaren Zufallszahlen erzeugt - echte sind es ja nicht - und wie kann man ihre Qualität messen? Sehr grundlegende Untersuchungen hat dazu einer der Pioniere der Informatik - Donald E. Knuth - in den 60er Jahren vorgelegt und in der damaligen "Bibel" der Infomatik "The Art of Computer-Programming " ausführlich beschrieben.
Wiki: Knuth: The Art of Computer Programming
Derselbe Donald E. Knuth wurde später noch einmal dem Textsatzsystem TeX weltweit bekannt, das er in den 80er Jahren zusammen mit seinen Studenten programmierte, dann von Leslie Lamport als LaTeX benutzerfreundlicher gestaltet. Ich schreibe deswegen so ausführlich darüber, weil mich dieser Donald Knuth praktisch seit meiner Schulzeit begleitet. Diese Monographie "The Art of .." - damals 3 Bände, stand tatsächlich 1977 schon in unserer Schulbibliothek, einem enorm fortschrittlichen und weitsichtigen Lehrer geschuldet (W. Schupp, Darmstadt ) , der damals mit großer Begeisterung schon Schüler -ebenso wie Referendare - an Themen der Informatik und Programmierung heranführte. Zunächst mit diesem Arbeitsgerät, über das man heute schmunzeln mag (4 KB RAM , Programmiersprache BASIC, Interpreter ) , das aber einen vollprogrammierbaren Digitalrechner und sozusagen den ersten PC darstellte. Einige Jahre vor dem dann sehr populären Commodore Pet. Wang 2200 Immer wenn ich heute ein 8 Zoll-Tablet sehe, fällt mir der 8-Zoll Bildschirm von damals- vor 40 Jahren - wieder ein, der selbstverständlich nur ASCII Zeichen darstellen konnte. Die "normale" Arbeitswelt eines Programmierers waren damals große, stromfressende und laute Mainframes, häufig noch mit Lochkarten gesteuert.

Im Band 2 dieser Monographie geht es unter anderem um Zufallszahlengeneratoren und deren Analyse und sie ist so gut geschrieben, dass selbst Schüler der Oberstufe schon die grundlegenden Algorithmen und einige Basics der Analyse verstehen können.
Eine einfache Klasse von Generatoren - die sogenannten linearen Kongruenzgeneratoren, beruhen nur auf einer Modulo-Rechnung und einer affin linearen Verschiebung (Geradengleichung).
Kurze Erläuterung: Modulo zu rechnen, bedeutet nur, beim Teilen durch eine Zahl den enstehenden Rest zu nehmen-Grundschulmathematik. In der Grundschule lernten wir
11:3 = 3 Rest 2.
In der Modulo-Schreibweise der Informatik liest sich das so:
2 = 11 mod 3.
Der Divisor m=3 heißt auch Modul. Alle natürlichen Zahlen kann man bezüglich dieses Moduls in 3 Klassen einteilen: Die mit Rest 0, die mit Rest 1 und die mit Rest 2 (also m sog. Restklassen).
In Libre-Office/Version Deutsch heißt diese Funktion einfach REST(Dividend, Divisor)
REST-Funktion.
Bei unserem Beispiel: 2 =Rest(11,3).
Der lineare Kongruenzgenerator arbeitet nun wie folgt. Man sucht sich Parameter a,b, m und startet die Folge der Zufallszahlen mit einem Anfangswert x(1) zwischen 0 und m.
Dann rechnet man für n=1, 2, 3 weitere Folgenglieder so aus:
x(n+1) = (ax(n) + b) mod m
also x(n+1) = REST( ax(n) + b, m)

Man nimmt also von der (affin) linearen Transformation der letzten Zufallszahl x(n) einfach den Rest, der bei Division durch m ensteht als neue "Zufallszahl". Und generiert damit eine Folge. Natürlich sind das keine echten Zufallszahlen - sie wiederholen sich nach spätestens m Schritten (warum?) . Wenn man m jedoch sehr groß und "günstig" wählt, erhält man eine sehr lange Folge von scheinbaren Zufallszahlen im Zahlraum [0;m]. Aus diesen bekommt man durch x(n)/m Zahlen im Intervall [0;1]. Diese "Zufallszahlen"folge kann man durch verschiedene statistische Tests auf Güte testen, zum Beispiel auf die gewünschte Gleichverteilung im Intervall (jede der Zahlen soll ja möglichst gleich häufig vorkommen) mit dem Chi-Quadrat Test von Pearson. Auch auf Korrelation kann man testen.


Kurzer Abriss auf Deutsch (die Einstiegshilfe steht oben :-) Ansonsten das Buch von D.E. Knuth Vol. II , Link oben - zu Themen der Konstruktion und Analyse von Zufallszahlengeneratoren.
Simulationen mit Zufallszahlen sind übrigens keine reine Spielerei, sondern werden zum Beispiel eingesetzt um komplexe Zusammenhänge per Simulation zu entschlüsseln (Monte-Carlo Methode), denen man analytisch nicht beikommt. Monte Carlo Simulation Oder auch Simulated Annealing (siehe auch Metropolisalgorithmus. )