ich hab früher auch mal ein pascalsches dreieck geproggt vll ist das besser verständlich:
Delphi-Quellcode:
function fakult(x:real):real;
var
i:integer;
begin
i:=1;
result:=1;
for i:=1 to round(x) do
result:=result*i;
end;
function n_uber_k(n,k:real):real;
begin
if n = 0 then
result:= 1
else
result:=fakult(n)/(fakult(k)*fakult(n-k));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n,k,x,y:integer;
begin
y:=10; // x,y sind nur die koordinaten für das textout
n:=0;
k:=0;
repeat
k:=0;
x:=(form1.Width div 2)-(n*25); // dreieck simulieren, wert > 25 = breiteres dreieck ...
repeat
form1.canvas.TextOut(x,y,floattostr(n_uber_k(n,k)));
x:=x+50; // 50 = abstand zwischen den "spalten"
k:=k+1;
until k=n+1;
y:=y+35; // 35 = abstand zwischen den zeilen
n:=n+1;
until n = 26; // 26 = endwert
end;
Die Formel n_uber_k wurde uns vom Lehrer mitgeteilt, so berechnet man das Pascalsche Dreieck