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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2014, 23:51   #1
PaNDaPK
 
Регистрация: 10.11.2014
Сообщений: 4
По умолчанию Рекурсивные функции в Делфи

Доброго времени суток! Помогите пожалуйста написать рекурсивную функцию в Делфи(Console Application).
Изображения
Тип файла: jpg 1.jpg (25.1 Кб, 71 просмотров)

Последний раз редактировалось PaNDaPK; 10.11.2014 в 23:55.
PaNDaPK вне форума Ответить с цитированием
Старый 11.11.2014, 07:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вроде так:
Код:
program Project1;

function ln2(i:integer;x:double):double;
begin
 i:=i+2; Result:=0;
 if i>10 then exit;
 Result:=exp(ln(i)*(x-1))/(i*exp(ln(i)*(x+1)))
end;

begin
 write(ln2(1,1)); readln;
end.
только предел сам пропишешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2014, 11:56   #3
PaNDaPK
 
Регистрация: 10.11.2014
Сообщений: 4
По умолчанию

Вот написал:
Код:
uses   SysUtils,
        Math,
         windows;

Procedure info;
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
writeln('lol');
end;

function ln2(i:integer;x: double): double;
begin
 i:=i+2; Result:=0;
 if i>10 then exit;
 Result:=exp(ln(i)*(x-1))/(i*exp(ln(i)*(x+1)))
end;



Function Input(S:string;min,max:extended):extended;
var   A: double;
Begin
Write(S);
ReadLn(A);
if (A>max) or (A<min) THEN
begin
WriteLN(' zna4 ot ', min:1,' do ', max:100,'.');
A:=Input(S,min,max);
end;
Input:=A;
end;

Function RepProg:boolean;
Var   ans:char;
Begin   Write('prodovz? (Y/N)');
ReadLn(ans);
if (ans='Y') or (ans='y') or (ans='?') or (ans='?') then Repprog:=false
else Repprog:= true;
WriteLn(#13);
End;

Procedure Prog;
var  x, e: extended;
Begin
repeat
x:=Input('vvedi (x): ',1,100);
writeln;
e:=input('to4noctb (e): ',10e-16,1);
writeln;
writeln('lnx = ', ln2(1,100));
writeln;
until repprog
End;

begin
info;
Prog
end.

при любых значениях показывает одно и тоже
Изображения
Тип файла: jpg 2.jpg (37.5 Кб, 83 просмотров)

Последний раз редактировалось Stilet; 11.11.2014 в 12:56.
PaNDaPK вне форума Ответить с цитированием
Старый 11.11.2014, 12:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
при любых значениях показывает одно и тоже
Хе!: ln2(1,100)
Увидел?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2014, 13:28   #5
PaNDaPK
 
Регистрация: 10.11.2014
Сообщений: 4
По умолчанию

вот тут я не много не понял
PaNDaPK вне форума Ответить с цитированием
Старый 11.11.2014, 14:11   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну ниче себе. Написать самому такую програмулину и не догадаться что в функцию вместо констант, которые я поставил в примере передать переменные...
"Х" же в нее передавай а не сотню
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2014, 10:19   #7
PaNDaPK
 
Регистрация: 10.11.2014
Сообщений: 4
По умолчанию

то есть нужно написать ln2(1,x)?
P.S. прогу написать легко, тяжелее сделать что бы она правильно работала
PaNDaPK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсивные функции Shonny94 Общие вопросы C/C++ 5 06.06.2013 00:13
Рекурсивные функции (C,C++) vladimir.nsk Помощь студентам 0 07.12.2011 20:51
Рекурсивные функции в С Licwin Общие вопросы C/C++ 1 14.11.2011 01:49
рекурсивные функции Kukurudza Общие вопросы C/C++ 5 23.06.2011 12:16
Рекурсивные функции. Geg[C/c++] Общие вопросы C/C++ 2 11.10.2009 11:28