Tobias Krähling zeigt in seinem Artikel über die
Potenzsummenformel
,
dass ein beliebiges Element A[z,s] sich berechnen lässt durch die
Multiplikation des darüber stehenden Elementes A[z-1,s] mit dem Faktor z/(z-s+1).
Das letzte Element jeder Zeile, das ja kein über ihm stehendes Element hat,
findet sich aus der Bedingung,
dass die Summe aller Elemente einer Zeile Eins ergeben muss.
Die Spiegelung bei Krähling ist im folgenden Dreieck angepasst.
Die Berechnung der Zahlenwerte und die Formatierung in HTML-Kode
sind ein schönes Anwendungsbeispiel für Recapis.
Kleine Änderungen, wie zb die Größe betreffend oder die Darstellung
der Rationalzahl, sind damit leichter zu realisieren
als den HTML-Quellkode von Hand zu ändern.
Auch wäre eine Übertragung der Zahlen fehleranfällig.
Daher nachfolgend das entsprechende Programm.
Erläuterung der Notation:
Das Indexieren, die Ansprache eines Elementes in einem Feld (einem Vektor),
wird statt Aindexmit A[index] notiert.
Zweidimensionale Felder können (noch) nicht mit A[zeile,spalte] notiert werden.
Man muss sie sich als eindimensional vorstellen
und die Elemente mit A[zeile*dim+spalte] ansprechen.
dim ist hier die Anzahl der Spalten.
Die Summe
wird als
summe((i=1),i<=n,a[i])
geschrieben.
(i=1) muss oben geklammert werden, weil sonst das Komma
Vorrang vor der Zuweisung hätte.
Mit dem Operator Rvector wird ein Vektor
von Rationalzahlen in der Größe des Rechtsoperanden
unter dem Namen des Linksoperanden allokiert.
Bei der Übergabe an ein Unterprogramm
wird nicht der ganze Vektor sondern ein Zeiger auf den Vektor übergeben.