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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 18:08   #1
ilyas22
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 17
Сообщение Вычислить элементы последовательности, используя рекурсию.

Вычислить элементы последовательности, используя рекурсию.
формула в изображении, при K>2, программа не работает
program _;
var
k1,x1:integer;
function T(k,x:integer):integer;
begin
if k=0 then T:=1 else
if k=1 then T:=x else
T:=T(k,x)-T(k-1,x);
end;
begin
writeln('введите k,x');
readln(k1,x1);
T(k1,x1);
writeln('-----------------------');
writeln('T=',2*x1*T(k1,x1));
end.
Изображения
Тип файла: jpg Безымянный.jpg (26.8 Кб, 104 просмотров)
ilyas22 вне форума Ответить с цитированием
Старый 23.05.2010, 19:03   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Функция Т ничего не вычисляет. Поэтому и не работает. Если К > 2, то первые два условия в функции не выполняются, а рекурсивные вызовы, которые выполняются в третьем условии [T(k,x)-T(k-1,x)], приводят к тому, что на второй итерации функция ничего не возвращает.
Если посмотреть исходное выражение, то там можно увидеть произведение: 2хT... В функции же ничего такого нет. Кроме того, значения параметров при каждом вхождении в очередную рекурсию не меняются, а это приведет к зацикливанию.
Скандербег вне форума Ответить с цитированием
Старый 23.05.2010, 19:20   #3
ilyas22
Пользователь
 
Регистрация: 04.11.2009
Сообщений: 17
По умолчанию

вы можете написать как должна быть написана формула, как я понимаю рекурсия это нахождение значения из предыдущего.

Последний раз редактировалось ilyas22; 23.05.2010 в 19:39.
ilyas22 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить , используя циклы while и repeat Knubbe Помощь студентам 0 18.12.2009 05:44
Вычислить коэф. в рекурентной последовательности AnL Помощь студентам 0 14.12.2009 18:39
Java Вычислить, используя рекурсию. Лучик2009 Помощь студентам 0 28.04.2009 22:14
Вычислить предел последовательности Dartchuwak Паскаль, Turbo Pascal, PascalABC.NET 3 08.01.2009 21:21