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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2007, 04:01   #1
Snord
 
Регистрация: 08.12.2007
Сообщений: 7
По умолчанию помогите написать программу в делфи. (рекурсия)

Вычислить значение полинома степени n по схеме

Заранее спасибо.
Snord вне форума Ответить с цитированием
Старый 08.12.2007, 08:13   #2
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

рекурсия? а с чего начинали?
я думаю здесь рекуррентная последовательность
цикл от 1 до n и все.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 08.12.2007, 14:57   #3
Snord
 
Регистрация: 08.12.2007
Сообщений: 7
По умолчанию

Над решить задачу двумя способами – с применением рекурсии и без нее.
Без - походу и есть обычная последовательность.

Пример:
Классический пример: вычисление факториала n! = 1*2*3…(n-1)*n.
Рекурсивное описание: n! = (n-1)! * n, 0! = 1.

Рекурсивная функция:
Function fak(n:word):extended;
begin
if n=0 then result:=1
else result:=fak(n-1)*n
end;

Нерекурсивная функция:
Function fak(n:word):extended;
Var k:word;
begin
result:=1;
if n>1 then for k:=2 to n do
result:=result*k;
end;
При выполнении рекурсивной подпрограммы осуществляется много-
кратный переход от текущего уровня организации алгоритма к нижнему
уровню последовательно, до тех пор, пока не будет получено тривиальное.
Snord вне форума Ответить с цитированием
Старый 10.12.2007, 10:05   #4
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

a:array[0..n] of integer; массив c коэф-ми

Код:
z:=0;
for i:=n downto 0 do
z:=z*x+a[i]
pol(0); // рекурсивная функция
Код:
function pol(j:integer):real;
var s:real;
begin
s:=0;
if j=n then
s:=a[j]
else
s:=pol(j+1)*x+a[j];
pol:=s;
end;
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 10.12.2007, 22:51   #5
Snord
 
Регистрация: 08.12.2007
Сообщений: 7
По умолчанию

Plague спасибо огромное. Выручил.
Snord вне форума Ответить с цитированием
Старый 26.03.2008, 21:34   #6
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

// c помощью рекурсии
Function faktor(n:word):integer;
begin
if n=0 then result:=1
else result:=fak(n-1)*n
end;

procedure TForm1.Button1Click(Sender: TObject);
var i, res: integer;
begin
// c помощью рекурсии
ShowMessage('Факториал 5! = ' + inttostr(faktor(5)));

// циклически
res:=1;
for i := 1 to 5 do res := res * i;
ShowMessage('Факториал 5! = ' + inttostr(res));
end;

Последний раз редактировалось Gorychev; 26.03.2008 в 21:53.
Gorychev вне форума Ответить с цитированием
Старый 31.05.2011, 21:39   #7
@ndry
Новичок
Джуниор
 
Регистрация: 31.05.2011
Сообщений: 1
По умолчанию

помогите написать программу в делфи. (рекурсия)
Вычислить значение полинома степени n по схеме
___n
Pn=∑aixi=a0+x(a1+…x(an-1+xan)…)
__I=0

с помощью рекурсии и без нее
Заранее спасибо!

Последний раз редактировалось @ndry; 31.05.2011 в 21:49.
@ndry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какую программу можно написать на делфи чтобы она пользовалась большим спросом Xander Свободное общение 8 03.07.2008 16:11
Помогите написать программу!!!! Engine777 Помощь студентам 0 27.11.2007 23:15
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15
помогите написать программу. ZixiT Общие вопросы Delphi 7 22.11.2006 11:05