\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\fswiss\fprq2 Helvetica;}{\f4\fmodern\fprq1 Courier New;}{\f5\fswiss\fprq2 Arial;}{\f6\fswiss\fprq2\fcharset1 Arial;}{\f7\froman\fcharset1 Times New Roman;}}
{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red255\green0\blue0;\red0\green128\blue0;}
\deflang1031\pard\ri4\plain\f4\fs20\cf0\b ________________________________________________________________________________
\par
\par \plain\f4\fs20\cf0 Inhalt....: Positionsfindung von Geburtsdaten in PI
\par Kategorie.: Arbeitsblatt
\par Mathematik: Zahlentheorie, Analysis, Numerik
\par MuPAD.....: 3.0.0
\par Datum.....: 2002-12-23
\par Autoren...: Roman Seidel
\par Funktionen: expr2text, read, write, stringlib::contains, save\plain\f4\fs20\cf0\b
\par ________________________________________________________________________________
\par \plain\f5\fs36\cf0\b
\par \plain\f5\fs40\cf0\b Positionsfindung von Geburtsdaten in PI oder
\par die Frage: "Ist PI normal?"\plain\f5\fs36\cf0\b
\par \plain\f5\fs22\cf0
\par \plain\f5\fs24\cf3 Wir wollen MuPAD benutzen, um in der Zahl PI nach Geburtsdaten zu suchen. \'dcber allem
\par steht die bisher unbewiesene Vermutung, dass PI eine sogenannte normale Zahl ist. Diese
\par Vermutung besagt, dass jede nur erdenkliche Ziffernfolge irgendwo und irgendwann in
\par den Nachkommastellen der Zahl PI auftauchen soll. Ist diese Vermutung tats\'e4chlich korrekt,
\par so sollte es leicht sein, z.B. seinen Geburtstag und Geburtstmonat in PI zu finden. \plain\f5\fs28\cf0
\par
\par Um PI nicht bei jeder Suche neu generieren zu m\'fcssen, wird PI mit einer
\par gew\'fcnschten L\'e4nge generiert und in einer Datei gespeichert. Legen
\par Sie sich z.B. einen Ordner "tmp" auf dem Datentr\'e4ger "c:/" an, so kann
\par die folgende Prozedur dazu genutzt werden, um PI auf eine vorgesehene
\par Anzahl von Nachkommastellen mit MuPAD zu berechnen und anschlie\'dfend
\par automatisch in der Textdatei "PI.txt" im genannten Ordner zu speichern.
\par (Man kann hier nat\'fcrlich auch einen anderen Pfad und einen beliebigen
\par Ordner w\'e4hlen, indem man die Variable \plain\f4\fs28\cf2 dateiName \plain\f5\fs28\cf0 entsprechend anders
\par definiert).
\par \plain\f7\fs28\cf0
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}dateiName:="c:/tmp/PI.txt":
\par {\pntext\f1\'b7\tab}piGenerieren:= proc(anzahl, dateiName)
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 save piText;
\par begin
\par DIGITS:= anzahl;
\par piText:= float(PI);
\par piText:= stringlib::remove(expr2text(piText),".");
\par write(Text, dateiName,piText);
\par delete DIGITS;
\par print(Unquoted, "PI wurde generiert und gespeichert.");
\par return();
\par end_proc:
\par
\par \pard\ri4\plain\f6\fs28\cf0 Nachdem PI mindestens einmal generiert wurde, kann PI aus der oben
\par angegebenen Datei mit Hilfe der folgenden Prozedur geladen werden:
\par \plain\f7\fs22\cf0
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}piLaden:= proc(dateiName)
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 save piText;
\par begin
\par piText:= read(dateiName);
\par print(Unquoted, "Pi wurde geladen.");
\par return(piText);
\par end_proc:
\par \pard\ri4\plain\f6\fs28\cf0
\par Nachdem PI geladen wurde, wird nun mit Hilfe der Funktion \plain\f6\fs28\cf2 stringlib::contains\plain\f6\fs28\cf0
\par in PI nach gew\'fcnschten Geburtsdaten gesucht werden.
\par \plain\f7\fs22\cf0
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}geburtstag:= proc(datum, piText)
\par \pard\li600\ri1\fi-300\plain\f4\fs28\cf2 local ergebnis;
\par begin
\par ergebnis:= stringlib::contains(piText,datum,Index);
\par if ergebnis <> FALSE then
\par stringlib::contains(piText,datum,Index);
\par else
\par print(Unquoted, "Nicht enthalten");
\par end_if;
\par end_proc:
\par
\par \pard\ri4\plain\f6\fs28\cf0 Hier sind einige Prozeduraufrufe als Beispiel: Zun\'e4chst generieren wir PI
\par auf 100 000 Nachkommastellen:
\par \plain\f7\fs22\cf0
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}piGenerieren(100000, dateiName)
\par \pard\ri4\plain\f5\fs28\cf0
\par Jetzt laden wir PI in MuPAD (um es nicht jedesmal erneut berechnen
\par zu m\'fcssen - das spart eine Menge Zeit ;-)
\par \plain\f4\fs28\cf2
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}piText:=piLaden(dateiName):
\par \pard\ri4\plain\f5\fs28\cf0
\par Nun suchen wir einige Geburtsdaten in der Ziffernfolge:
\par \plain\f4\fs28\cf2
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}geburtstag("1902", piText)
\par \pard\ri4\plain\f5\fs28\cf0
\par d.h. das Datum 19.02 taucht in PI zum ersten Mal an der Stelle 9846 auf.
\par \plain\f4\fs28\cf2
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}geburtstag("0905", piText)
\par \pard\ri4\plain\f5\fs28\cf0
\par d.h. der 09.05 taucht zum ersten Mal an der Stelle 23683 auf.
\par \plain\f4\fs28\cf2
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs28\cf2 {\pntext\f1\'b7\tab}geburtstag("2307", piText)
\par \pard\ri4\plain\f5\fs28\cf0
\par Dieser Geburtstag ist wohl nicht zu schlagen, denn er ist die erstm\'f6gliche
\par Ziffernkombination in PI, die tats\'e4chlich einem Geburtstag entsprechen
\par kann. \'dcberzeugen Sie sich selbst!
\par
\par \plain\f4\fs20\cf0\b _______________________________________________________________________________
\par \plain\f5\fs22\cf0
\par \plain\f5\fs22\cf3\b Anmerkungen:\plain\f5\fs22\cf3
\par \plain\f5\fs20\cf3\b 1\plain\f5\fs20\cf3 . Weitere Anregungen finden Sie in der Buchreihe \plain\f5\fs20\cf2 Mathematik 1 x anders\plain\f5\fs20\cf3 . In dieser Reihe
\par wird eine Vielzahl unterschiedlichster mathematischer Probleme mit MuPAD gel\'f6st. Die
\par B\'fccher k\'f6nnen unter \plain\f3\fs20\cf1 www.schule.mupad.de/literatur\plain\f5\fs20\cf3 kostenfrei kopiert werden. \plain\f5\fs20\cf1
\par
\par \plain\f5\fs20\cf3\b 2\plain\f5\fs20\cf3 . Weitere Notebooks zu N\'e4herungsverfahren, mit denen man die Zahl PI berechnen kann, finden sich
\par unter \plain\f5\fs20\cf1 www.schule.mupad.de/material\plain\f5\fs20\cf3 zum freien Download. \plain\f5\fs20\cf1
\par
\par \plain\f5\fs20\cf3\b 3\plain\f5\fs20\cf3 . Eine genauere Diskussion des Verfahrens von Archimedes findet sich auch in dem Notebook
\par "Berechnung_von_PI.mnb", das ebenfalls unter \plain\f5\fs20\cf1 www.schule.mupad.de/material\plain\f5\fs20\cf3 zum Download bereitsteht. \plain\f5\fs20\cf1
\par \plain\f4\fs20\cf0\b _______________________________________________________________________________\plain\f4\fs28\cf0\b
\par \plain\f5\fs28\cf0
\par \plain\f4\fs28\cf2
\par }