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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2009, 22:52   #1
dimka660i
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 21
По умолчанию Факториал.

Имеется задача:

я вот тут какой то код написал, но без этого факториала...:

правильно ли?
Ну и главный вопрос!! какой код нужно прописать для факториала
и куда его нужно вставить??

З.Ы. мне нужно для Console Application
Подскажите пожалуйста, знающие люди, что надо дальше делать...

P.S уважаемые модеры не закрывайте тему пожалуйста!!! Если что то не так - лучше подправьте)
dimka660i вне форума Ответить с цитированием
Старый 10.10.2009, 22:57   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

нужно написать функцию для вычисления факториала например:
Код:
function FacIterative(n: Word): Longint; 
var 
f: LongInt; 
i: Integer; 
begin 
f := 1; 
for i := 2 to n do f := f * i; 
Result := f; 
end;
и вызывать ее в теле программы
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 10.10.2009, 22:59   #3
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Код картинкой... бгг... Есть тег CODE.

Несовсем. Нужно написать:

Код:
S := S + Sqr(2 * i) * x / Fac(i) * (1 + x*x*x);
Иначе твой код подсчитает не сумму, а значение функции f(11).

Fac(...) - функция вычисления факториала(поищи на форуме). // ОДИНОЧЕСТВО В СЕТИ уже написала такую

адд: я тупо переписал Power(x, 0.3) хотя не понял что это значит.... Поэтому исправил на понятный кусочек x*x*x.
Вроде как Power(x, 0.3) это значит "возвести x в степень 0.3" что не равно возведение в куб.....(или я чтото спутал)

Последний раз редактировалось Вавел из ГМТУ; 10.10.2009 в 23:04.
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 10.10.2009, 23:06   #4
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Раз уж тема называется факториал - Если функция реализованна простой рекурсией есть ли минусы?
Код:
     public static double factorial(double lN)
     {
         if (lN == 0)//факториал 0 равен 1 
             return 1;
         return lN * factorial(lN - 1);//обычная рекурсия, т.к. n!=n*(n-1)! 
     }
Double потому что лень типы конвертировать было 100 раз
Lime вне форума Ответить с цитированием
Старый 10.10.2009, 23:07   #5
dimka660i
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от ОДИНОЧЕСТВО В СЕТИ Посмотреть сообщение
и вызывать ее в теле программы
А это как?
Блин народ извините за тупизм, просто я никогда не изучал этот Delphi, но с вашей помощью, изучу наверн, хоть немного
Вавел из ГМТУ
Спасибо!!

Последний раз редактировалось dimka660i; 10.10.2009 в 23:11.
dimka660i вне форума Ответить с цитированием
Старый 10.10.2009, 23:14   #6
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
А это как?
Код:
function Fac(n: Word): Longint; 
var 
f: LongInt; 
i: Integer; 
begin 
f := 1; 
for i := 2 to n do f := f * i; 
Result := f; 
end;
вставляете перед
Код:
begin
а вместо своей формулы
Цитата:
s:=..........
пишите ту что вам указал Вавел из ГМТУ и запускайте програмку
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 10.10.2009, 23:17   #7
dimka660i
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 21
По умолчанию

ОДИНОЧЕСТВО В СЕТИ
вставил, все работает!! только вот у меня S почему то всегда 0.00, я так понимаю такого не должно быть))?
dimka660i вне форума Ответить с цитированием
Старый 10.10.2009, 23:18   #8
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Покажи весь код.

(наверное "по умолчанию" x = 0, кстати скорее всего так и есть)
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 10.10.2009, 23:21   #9
dimka660i
Пользователь
 
Регистрация: 10.10.2009
Сообщений: 21
По умолчанию

вообщем вот что получилось:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

var i: integer;
  s, x: real;
  function Fac(n: Word): Longint;
var
f: LongInt;
i: Integer;
begin
f := 1;
for i := 2 to n do f := f * i;
Result := f;
end;

begin
     writeln ('i');
     readln(i);
      s:=0;
     for i:=1 to 11 do begin

     S := S + Sqr(2 * i) * x / Fac(i) * (1 + x*x*x);
     end;
     writeln ('s=', s:2:2);
     readln;
end.
dimka660i вне форума Ответить с цитированием
Старый 10.10.2009, 23:22   #10
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Ну так у тебя x = 0...... Задай его значение.

// см. следующий пост
Вавел из ГМТУ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
факториал в си++ Sjava Помощь студентам 1 21.12.2008 12:17
Факториал в C++ slog Помощь студентам 2 03.12.2008 07:56
Факториал с рекурсией SaimaN Помощь студентам 2 24.09.2008 17:53
Факториал Killbrum Софт 14 13.08.2008 00:34