Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 23:01   #1
phoenix91
 
Регистрация: 19.03.2010
Сообщений: 3
По умолчанию Програмирование с использованием рекурсии(Delphi)

Здравствуйте.
не могли бы вы немного проверить и немного помочь(Delphi).
Задание:
Цитата:
Решить поставленные задачи двумя способами – с применением рекурсии и без
нее.


проверьто плз правильно ли написано.
Код без рекурсии:
Код:
function reshA (x:vek; n:integer):extended;
 begin
 x[0]:=0.5*(1+a);
 for i:=1 to n do
  begin
   a:=(2*x[i]-x[i-1])*(x[i]+1);
   x[i]:=0.5*(x[i-1]+a/x[i-1]);
  end;
  result:=a;
 end;
(скорее всего он неправильный, так как не до конца понимаю математическую часть задания.)

и если можно, то напишите плз код с использованием рекурсии, или хотябы подскажите как его сделать.
phoenix91 вне форума Ответить с цитированием
Старый 22.03.2010, 23:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

У вас а параметр и должен передаваться в функцию. А считается х-ный. Уточните задание или предмет (если ЧМ, то условия останова скорее всего другие).
p51x вне форума Ответить с цитированием
Старый 22.03.2010, 23:52   #3
phoenix91
 
Регистрация: 19.03.2010
Сообщений: 3
По умолчанию

эмм. не понял следующего:
Цитата:
считается х-ный
Цитата:
Уточните ... предмет (если ЧМ, то условия останова скорее всего другие).
PS задание правильное.
PSS. объясните хотя бы что от меня хотят и что мне надо сделать плз.
phoenix91 вне форума Ответить с цитированием
Старый 23.03.2010, 10:10   #4
Loky
Пользователь
 
Регистрация: 02.10.2008
Сообщений: 14
По умолчанию

Стучись, помогу
Loky вне форума Ответить с цитированием
Старый 23.03.2010, 11:30   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

phoenix91
Еще раз:
1. Вы когда считаете корень из 4, изменяете 4? Так почему же здесь, считая корень из а, вы его меняете?
2. В численных методах есть несколько условий останова. Поэтому я и говорю: уточните предмет! Может вам надо не просто посчитать Xn...
p51x вне форума Ответить с цитированием
Старый 23.03.2010, 19:57   #6
phoenix91
 
Регистрация: 19.03.2010
Сообщений: 3
По умолчанию

всем кто откликнулся спасибо, но уже ам разобрался. вот такой код получился)
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    BitBtn1: TBitBtn;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

 type vek=array[0..1000] of extended;

var
  Form1: TForm1;
  i,n,q:integer;
  a:extended;
  x:vek;

implementation

{$R *.dfm}

function reshA (x:vek; n:integer; a:extended):extended;
 begin
 x[0]:=0.5*(1+a);
 for i:=1 to n do
     x[i]:=1/2*(x[i-1]+a/x[i-1]);
 result:=x[n];
 end;

function reshARn (x:vek; n,q:integer; a:extended):extended;
 begin
   if q=0 then result:=0.5*(1+a)
          else result:=1/2*(reshARn(x,n,q-1,a)+a/reshARn(x,n,q-1,a));


 end;

procedure TForm1.Button1Click(Sender: TObject);
begin

  n:=strtoint(edit2.Text);
  a:=strtoint(edit1.Text);
  q:=n;
  label5.Caption:=floattostr(reshA(x,n,a));
  label6.Caption:=floattostr(reshARn(x,n,q,a)) ;
end;

end.
phoenix91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисление с использованием Edit в Delphi TaYgA Помощь студентам 3 09.11.2009 19:22
Удаление строк при рекурсии (Delphi) Alco Помощь студентам 2 16.06.2009 15:06
Програмирование в Delphi hidalgo Фриланс 3 02.06.2009 09:57
Задача по рекурсии в Delphi миха18 Помощь студентам 3 31.05.2009 11:39
Ищу удаленную работу Web дизаин, програмирование на Delphi YoraG Фриланс 5 10.11.2008 22:34