Aus Das deutschsprachige Scratch-Wiki

Blaise Pascal war ein französischer Mathematiker und Physiker. Er lebte 1623 bis 1662 und war sehr vielseitig. Einmal beschäftigte er sich mit der Frage, wie der Einsatz eines Glückspiels zwischen zwei gleichwertigen Partnern bei vorzeitigem Abbruch des Spieles aufzuteilen ist. Die ist gleichbedeutend mit der Frage, wieviele Möglichkeiten es gibt, aus einer Schublade mit Socken Paare von Socken zu ziehen. Oder auch wieviele verschiedene Ziehungsergebnisse es beim Lotto ("6 aus 45", "6 aus 49", etc.) gibt. Bei der Berechnung dieser Anzahlen stellte er fest, dass diese in einem Zahlendreieck zu finden sind, das schon sehr lange bekannt war (die alten Chinesen nannten es Chu Shun Chiehs Dreieck, in Persien ist es als Chayyam-Dreieck bekannt), aber in Folge nach Blaise Pascal Pascalsches Dreieck genannt wurde.

PascalschesDreieckAnimation.gif

Die erste und letzte Zahl jeder Reihe ist 1; die übrigen Zahlen erhält man, indem man jeweils die beiden darüberstehenden Zahlen addiert.


Gut, jetzt weiß man, wieviele verschiedene Ergebnisse es bei der Ziehung der Lottozahlen "6 aus 45" gibt. Dazu muss man in der 46. Zeile die 7. Zahl ablesen (man beginnt immer mit 0 zu zählen). Dort steht 8145060. (Da aber immer auch eine "Zusatzzahl" gezogen wird, gibt es eigentlich 45379620 Ergebnisse. - In der 46. Zeile die 8. Zahl, eh klar.) Für das Lotto "2 aus 4" lässt sich das in der Grafik rechts ablesen: In der 5. Zeile an der 3. Stelle steht 6.

Aber hat das Pascalsche Dreieck auch für Kinder irgendeine Bedeutung? Ja! Das Spannende am Pascalschen Dreieck ist nämlich, wenn man sich anschaut, welche Zahlen im Dreieck durch eine bestimmte Zahl teilbar sind (also ohne Rest dividiert werden können). Das erste Beispiel unten zeichnet solche Dreiecke. Für eine Eingabe von 2 ensteht das "Sierpinski-Dreieck".


Beispiele

245768328_144x108.png

Pascalsches Dreieck

2015915_144x108.png

Pascal's Triangle for Kids


weiterführende Informationen

Das Pascalsche Dreeick hat noch eine andere Bedeutung: In jeder Zeile stehen die Binomialkoeffizienten, das heißt die Koeffizienten der Einzelterme, die entstehen, wenn man Potenzen von Binomen berechnet.
(a+b)0 = 1
(a+b)1 = 1a + 1b
(a+b)2 = 1a2 + 2ab + b2
(a+b)3 = 1a3 + 3a2b + 3ab2 + 1b3
(a+b)4 = 1a4 + 4a3b + 6a2b2 + 4ab3 + 1b4


Es gibt auch eine explizite Formel zur Berechnung: Die Zahl in der n-ten Zeile und der k-ten Stelle (die Zählung beginnt jeweils mit 0) lautet

Formel Binominalkoeffizienten.png

Wobei n! "n Fakultät" gesprochen und als Produkt aller natürlichen Zahlen kleiner gleich n berechnet wird, also n! = n * (n-1) * (n-2) * ... * 1. Ein Beispiel: 10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 3628800

Da die Fakultäts-Funktion rasant an die Grenzen der Berechenbarkeit gelangt, ist die einzige Möglichkeit, Binominalkoeffizienten zu berechnen, in jedem Schritt zu multiplizieren und zu dividieren, um die Zahlen klein zu halten.
Man sieht auch anhand des Pascalschen Dreiecks: Die linke Seite und die rechte Seite sind symmetrisch. Also kann man, wenn k größer als n/2, statt Binominalkoeffizient(n,k) den weniger rechenaufwändigen Binominalkoeffizient(n,n-k) berechnen.

Definiere Binominalkoeffizient (n) über (k)
setze [Ergebnis v] auf [1]
falls <(k) > [0]> dann
falls <((2) * (k)) > (n)> dann
setze [k v] auf ((n) - (k))
setze [n-k v] auf (k)
sonst
setze [k v] auf (k)
setze [n-k v] auf ((n) - (k))
ende
setze [i v] auf [1]
wiederhole bis <(i) > (k)>
setze [Ergebnis v] auf ((Ergebnis) * (((n-k) + (i)) / (i)))
ändere [i v] um (1)
ende
ende

Code zum Einbinden ins Forum:
[wiki=de:Pascalsches Dreieck]Pascalsches Dreieck[/wiki]