berechnet den Näherungsbruch einer Zahl:
Code: Select all
a0 := 714/575 ;Zahl
;a0 := 4*Atan(1) ;PI (Kreiszahl)
a := a0, b := [], Z := [], N := []
Loop, 9
{ ;Zahl zu Kettenbruch
b[A_Index] := Floor(a)
a := 1/(a - b[A_Index])
}
Until, Floor(a) > 1.E6
Z[0] := b[1], Z[-2] := N[-1] := 0
Z[-1] := N[0] := N[-2] := 1
While, b[1 + I:=A_Index]
{ ;Kettenbruch zu Bruch
Z[I] := b[I+1]*Z[I-1]+Z[I-2]
N[I] := b[I+1]*N[I-1]+N[I-2]
}
MsgBox,,Bruch:,% Z[--I] " / " N[I] "`n= " Z[I]/N[I]