необходимо создать программу вычислений корня уравнения методом фибоначчи.
Траблы:
1) организация интерфейса, кнопок, ввод данных,вывода результата ..
Паскаль знаю, а с delphi не разобралась пока...
2) не обращается к функции
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
function fib (n:integer):real;
Function func (x:real):real;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const max_fib=1476;
var
a, b, x, x1, x2, c, y1, y2, func : real;
n:integer;
{fib: real;}
fibValues : Array [0..max_fib] of real;
implementation
{$R *.dfm}
{ TForm1 }
Function TForm1.fib(n:integer):real;
begin
if (n=1) or (n=0)then
result:=1
else
result := fib(n-1) + fib(n-2);
fibValues [n]:= result;
end;
Function TForm1.func(x:real):real;
begin
func:=7*x*x-20*x+25;
end;
begin
writeln ('a= ');
readln (a);
writeln ('b= ');
readln (b);
writeln ('n= ');
readln (n);
while n>= 0 do
begin
x1:= a +(b-a)* fibValues [(n-2)]/ fibValues [n];
x2:= a +(b-a)* fibValues [(n-1)]/ fibValues [n];
c:=(x1+x2)/2;
y1:= func(a);
y2:= func(c);
n:=n-1;
if y1*y2<0 then
a:=x1
else
b:=x2;
end;
writeln(otvet= ', c:4:5)
end.