Notizen zu meinen Büchern und anderen Themen RSS 2.0
 Sunday, March 14, 2010

 AnzeigenTafelMitPi
(Pi ist überall)

Über Google erfährt man bekanntlich so manches, was man vorher nicht wusste. Zum Beispiel, dass der 14.3 der Pi-Tag ist (eigentlich auch logisch). Kann und sollte man für eine harmlose Zahl einen Gedenktag einrichten? Ich denke schon, da es kaum etwas gibt (was mir spontan einfallen würde), das in allen Kulturen gleichermaßen geschätzt wird, das von keiner Ideologie umklammert ist, und um das noch keine Kriege geführt wurden. Pi ist vor allem ein besonderer Tag für die sog. Nerds.

Wie man als typischer Nerd (oder Geek, wobei ich den Unterschied zwischen den beiden soziologisch-kulturellen Minderheiten nicht in 1-2 Sätzen beschreiben könnte - ich vermute, Geeks pflegen häufiger soziale Kontakte) den "Pie-Day" am besten begehen kann erfährt man hier: http://www.wikihow.com/Celebrate-Pi-Day

Da es in diesem Blog hin und wieder auch um Visual Basic gehen soll, im folgenden eine kleine Console-App, die die Kreiszahl über eine einfache Reihenentwicklung annähert(zur Abwechslung einmal ohne LINQ&Lambdas):

' Berechnet Pi über eine einfache Annäherung
Module Module1

    Private RecurseLimit As Byte = 60
    Private PiOffiziell As String = "3.1415926535897932384626433832795028841971693993751"

    Sub Main()
        Console.Title = "Anhäherung an Pi"
        Console.ForegroundColor = ConsoleColor.Green
        Dim PiZahl As Double = 2 * CalculatePI(1)
        Console.WriteLine("Die Annährung: {0:N20}", PiZahl)
        Console.WriteLine("Math.PI:       {0:N20}", Math.PI)
        Console.WriteLine("Das Original:  {0:N50}", PiOffiziell)
        Console.ReadLine()
    End Sub

    Private Function CalculatePI(ByVal i As Integer) As Double
        If i > RecurseLimit Then
            Return i
        Else
            Return 1 + (i / (1 + (2 * i))) * CalculatePI(i + 1)
        End If
    End Function

End Module

 

Im Rahmen der Double-Genauigkeit ist das Ergebnis nicht schlecht und entspricht ziemlich genau dem, was auch Math.Pi liefert. Natürlich ist es kein Vergleich zur offiziellen Zahl, die inzwischen auf etwa 2 Trillionen Ziffern genau berechnet wurde (bekanntlich ist Pi eine unendliche Zahl), oder zu jener Kurzvarianten, die man (als echter Geek bzw. Nerd) eigentlich auswendig aufsagen können sollte (der Weltrekord liegt laut Wikipedia bei 100.000 Stellen, aufgestellt von Akira Haraguchi, der für das Aufzählen einen Tag benötigte):

3.1415926535897932384626433832795028841971693993751

Wer viel Zeit hat und gerne einmal eine "State of the Art"-Variante kennenlernen möchte, sollte sich den folgenden Text zu Gemüte führen, der zeigt, wie sich Pi mit Hilfe der Grafikkarten-CPU (GPU) und F# berechnen lässt:

http://tomasp.net/articles/accelerator-intro.aspx

Sunday, March 14, 2010 9:56:56 PM (Romanische Normalzeit, UTC+01:00)  #    Comments [0] -

Categories
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Peter Monadjemi
Sign In
Statistics
Total Posts: 84
This Year: 12
This Month: 0
This Week: 0
Comments: 0
Themes
Pick a theme:
All Content © 2010, Peter Monadjemi
DasBlog theme 'Business' created by Christoph De Baene (delarou)