![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 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. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Функция Т ничего не вычисляет. Поэтому и не работает. Если К > 2, то первые два условия в функции не выполняются, а рекурсивные вызовы, которые выполняются в третьем условии [T(k,x)-T(k-1,x)], приводят к тому, что на второй итерации функция ничего не возвращает.
Если посмотреть исходное выражение, то там можно увидеть произведение: 2хT... В функции же ничего такого нет. Кроме того, значения параметров при каждом вхождении в очередную рекурсию не меняются, а это приведет к зацикливанию. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.11.2009
Сообщений: 17
|
![]()
вы можете написать как должна быть написана формула, как я понимаю рекурсия это нахождение значения из предыдущего.
Последний раз редактировалось ilyas22; 23.05.2010 в 19:39. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычислить , используя циклы 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 |