// Die
Fibonacci-Folge ist eine mathematische Folge nichtnegativer ganzer type m = 1..88; procedure fibonacci(von, bis: m; st: TStrings); var e1, e2: extended; a: integer; procedure dazu(ex: extended); begin if succ(a) >= von then st.add(FormatFloat('#,##0', ex)); // st.add(ExtendedToString(ex, true)); inc(a); end; begin if von > bis then raise exception.create('"von" darf nicht größer als "bis" sein!'); a := 0; e1 := 0; e2 := 1; dazu(e1); if a = bis then exit; dazu(e2); while a < bis do begin e1 := e1 + e2; dazu(e1); if a = bis then break; e2 := e1 + e2; dazu(e2); end; end; // Beispielaufruf für die ersten 30 Zahlen procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Clear; fibonacci(1, 30, Memo1.Lines); end; // Beispielaufruf für die 10. bis 15. Zahl procedure TForm1.Button2Click(Sender: TObject); begin Memo1.Clear; fibonacci(10, 15, Memo1.Lines); end; |
Zugriffe seit 6.9.2001 auf Delphi-Ecke