Логин:     Забыли пароль?
 
Пароль:   Регистрация

Форум / Программирование - Рекурсивная процедура или функция  

Рекурсивная процедура или функция

julia-julia
julia-julia
Посетитель
Сообщения: 11
[Сообщение #1] 28 мая 2011, 19:26
Помогите, пожалeйста, разработать рекурсивную процедуру или функцию, которая позволяет вычислить значение рекуррентной формулы F(0)=0, F(1)=2, F(k)=F(k-1)!/F(k-2)! k>1

IlluminatI
IlluminatI
2-ой класс
Сообщения: 38
[Сообщение #2] 28 мая 2011, 21:32
В чем сложность? Написать за тебя эту процедуру?

julia-julia
julia-julia
Посетитель
Сообщения: 11
[Сообщение #3] 28 мая 2011, 23:01
Честно, не понимаю сам смысл в пинципе, если конечно не сложно, то можете хотя бы объяснить мне сам принцип, буду очень признательна:)

mirt.steelwater
mirt.steelwater
Посетитель
Сообщения: 17
[Сообщение #4] 3 июня 2011, 16:42
в теле функции ставь условие по параметрам (согласно рекуррентной формуле) и по прохождению условия - вызывай саму себя, но с измененными параметрами (согласно рекуррентной формуле).

Ⓐ свобода сопротивление солидарность
julia-julia
julia-julia
Посетитель
Сообщения: 11
[Сообщение #5] 7 июня 2011, 14:24
Вот что у меня получилось, но компилятор выдает ошибку:
[Error] Unit1.pas(50): Incompatible types: 'Integer' and 'Extended'


Function F(k:integer): integer;
Function factor(k:integer):integer;
Begin
If k=0 then
Result:=0
Else
If k=1 then result:=2;
If k>1 then
Result:=F(factor(k-1))/F(factor(k-2));
End;
end;

min@y™
min@y™
Доктор наук
Сообщения: 400
[Сообщение #6] 7 июня 2011, 14:44
Ну прально. При делении результат-то вещественный. А ты его подставляешь как integer-параметр.

Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
julia-julia
julia-julia
Посетитель
Сообщения: 11
[Сообщение #7] 7 июня 2011, 15:01
Спасибо, теперь поняла, буду знать:)


Всего сообщений: 7 (сейчас показаны: с 1 по 7)

Перейти в раздел:


 © 2004 - 2024, Delphi.int.ru
Версия форума: 1.10 (19.01.2010)
RSS Delphi.int.ru Expert Код
Выполнено за 0.01 сек.
Обратная связь