![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() необходимо создать программу вычислений корня уравнения методом фибоначчи.
Траблы: 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. Последний раз редактировалось lmikle, 18.07.2011 в 23:58. |