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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2011, 14:59   #1
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
Вопрос Простейшие циклы.



Как подступиться к решению?
В какой последовательности писать код?
Как вычислить факториал?
В Delphi.
Желательно ООП...

Последний раз редактировалось kazzz; 04.04.2011 в 15:01.
kazzz вне форума Ответить с цитированием
Старый 04.04.2011, 15:11   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

http://www.programmersforum.ru/showt...EE%F0%E8%E0%EB
Hollander вне форума Ответить с цитированием
Старый 04.04.2011, 15:31   #3
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию рекурсия - очень мне нравится

факториал:
Код:
function factorial(n: integer): integer;
begin
if n=o then Result:=1
else Result:=factorial(n);
end;
А вот скажите мне пожалуйста, можно так же степень посчитать?
Код:
function power(x,n: integer): integer;
begin
if n=o then Result:=1
else Result:=x*power(x,n-1);
end;
так сработает?
что то где то читал, а вкурить не могу. Вроде так же работает?

upd - тут циклы
а я мимо пропустил как то
вопрос актуален

Последний раз редактировалось BoozZzilla; 04.04.2011 в 15:34.
BoozZzilla вне форума Ответить с цитированием
Старый 04.04.2011, 15:43   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

при решении подобных задач удобно (когда это возможно, разумеется),
вывести формулу зависимости N члена последовательности от N-1

в данном случае очевидно,
что если есть Tn-1 тогда Tn можно найти T(n) = (-1) * T(n-1) * X * X / ((n*2-2)*(2*n-1))

(для этого достаточно N-й элемент разделить на N-1 - чтобы выделить, на что надо умножать N-1 й элемент, чтобы получить N-й)

первый член последовательности равен X
следовательно:
Код:
  T := X;
  S := T;
  for i:=2 to 13 do begin
     T := T * (-1) * X * X / ((2*i-2)*(2*i-1));
     S := S + T;
  end;

Последний раз редактировалось Serge_Bliznykov; 04.04.2011 в 15:48.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2011, 15:54   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

BoozZzilla

Цитата:
function factorial(n: integer): integer;
begin
if n=o then Result:=1
else Result:=factorial(n);
end;
Неправильно.
1. переменная "o" не объявлена. Разумеется, вместо этой буквы следует писать 0 (нуль).
2. В таком виде, у вас будет иметь место бесконечная рекурсия,результат вы никогда не получите, а через некоторое время произойдёт переполнение стека.

Мой вариант по поводу факториала:
Код:
function factorial(n: integer): integer;
begin
if n in [0,1] then factorial:=1
                else factorial:=n*factorial(n-1);
end;
но сдаётся мне, автор темы ещё не проходил подпрограммы и множества...
Вадим Мошев вне форума Ответить с цитированием
Старый 04.04.2011, 16:20   #6
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию

я опечатался
ну с нулём то степень ведь тоже отработает?
BoozZzilla вне форума Ответить с цитированием
Старый 04.04.2011, 17:33   #7
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
но сдаётся мне, автор темы ещё не проходил подпрограммы и множества...
Я только учусь Благодарю за ответы, буду разбираться...

Последний раз редактировалось kazzz; 04.04.2011 в 17:44.
kazzz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простейшие циклы. margarit Паскаль, Turbo Pascal, PascalABC.NET 5 13.01.2011 11:55
задачи:простейшие циклы,цыкл и разветвление,обработка последственности цыкла Chibi Помощь студентам 12 22.11.2010 19:57
Простейшие циклы. Wild_klas Помощь студентам 2 08.11.2010 18:13
Простейшие циклы. tema654 Помощь студентам 0 11.10.2010 22:51
Простейшие задачки zoza1 Общие вопросы Delphi 1 11.09.2009 21:10