Ocena użytkownikóww: ***** / 7
Nadesłany przez Michał Knasiecki, 26 lipca 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Fib/Unit1.pas:
//Program pobrany ze strony www.algorytm.org
//Opracowal Michal Knasiecki
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function Fib(n:byte):integer; //funkcja rekurencyjna
begin
if (n=1)or(n=2)then result:=1 else //pierwsze dwie liczby Fibonacciego //są równe 1
result:=Fib(n-2)+Fib(n-1); //każda następna jest sumą dwóch poprzednich
end;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
//w edit1 dane jest n
//w edit2 wypisana jest n-ta liczba ciągu
edit2.text:=inttostr(Fib(strtoint(edit1.text)));
end;
end.