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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 19:29   #1
!IRA!
 
Регистрация: 02.02.2011
Сообщений: 7
По умолчанию даны первый член и разность арифметической прогрессии

Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию нахождения n-го члена прогрессии



Что такое вообще рекурсивная функция??? и как использовать её в программе? Подскажите, пожалуйста
!IRA! вне форума Ответить с цитированием
Старый 21.02.2011, 20:22   #2
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

рекусия-это когда функция вызывает саму себя
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 22.02.2011, 21:52   #3
!IRA!
 
Регистрация: 02.02.2011
Сообщений: 7
По умолчанию

если можно, покажите кто-нибудь в программе, как её описывать?
!IRA! вне форума Ответить с цитированием
Старый 23.02.2011, 06:00   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

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

например, в вашем случае это может быть так (выделен рекурсивный вызов):
Код:
function ArithmeticLine(FirstElement, ArithDiff : double; N : integer) : double;
begin
   if N=1 then ArithmeticLine := FirstElement
   else ArithmeticLine := ArithDiff + ArithmeticLine(FirstElement, ArithDiff, N-1);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.02.2011, 13:27   #5
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
double ArifProg(double first,double step,unsigned int n){
	if(n==0) return first;
	return ArifProg(first+step,step,--n);
}
c++
Hemul вне форума Ответить с цитированием
Старый 01.03.2011, 23:48   #6
!IRA!
 
Регистрация: 02.02.2011
Сообщений: 7
По умолчанию

Спасибо вам)))) жаль, но с++ не владею вообще ((((((((((((( может, кто покажет, как это будет выглядеть в паскале?
!IRA! вне форума Ответить с цитированием
Старый 02.03.2011, 00:41   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

!IRA!, Паскалем тоже не очень владеете?..

мой пост выше (#4) - это именно чистый Паскаль (Pascal)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить первые n членов арифметической прогрессии и их сумму SegaTT Общие вопросы Delphi 4 07.02.2011 22:37
Найти первый член последователности [C++] kenwood2010 Помощь студентам 1 13.12.2010 07:39
c++. Cумма членов арифметической прогрессии alen7 Помощь студентам 6 25.11.2010 16:26
Найти первый член yn, для которого выполнено | yn - yn-1| < 0.0001 hewlett Помощь студентам 3 26.06.2010 20:43
Заполнить массив первыми 10 членами арифметической прогрессии с известным первым членом прогрессии А и ра basav1k Фриланс 8 27.05.2010 00:33