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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 09:43   #1
Ленка
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию Составить программу вычисления суммы

Составить программу вычисления суммы: 2! + 4! + 6! + ... + n! (n ≤ 16, n – четное). Тип результата значения функции – LongInt .
Ленка вне форума Ответить с цитированием
Старый 28.05.2009, 09:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хоть примерно представляешь себе код?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.05.2009, 09:59   #3
Ленка
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
По умолчанию

вы сможете написать программу??
Ленка вне форума Ответить с цитированием
Старый 28.05.2009, 10:11   #4
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Код:
program Xd;
function Faq(n: integer):longint;
var i: integer;
    zn: longint;
begin
zn:= 1;
for i:= 1 to n do
 begin
  zn:= zn*i;
  end;
  Faq:= zn;
  end;
 function FFaq(n: integer): longint;
var x,sum: integer;
begin
x:= 0;
sum:= 0;
while x<n
do
begin
x:= x+2;
sum:= Faq(x)+ sum;
end;
FFaq:= sum;
end;

var x: integer;
begin
ReadLn(x);
WriteLn(FFaq(x));
ReadLn;
end.
ReadLn(n);
WriteLn(Faq(n));
ReadLn;
end.
Вот полностью программа. Если есть ошибки - поправьте.
Кто бы ты ни был - не думай о себе слишком (с)

Последний раз редактировалось DM_bite; 28.05.2009 в 10:24.
DM_bite вне форума Ответить с цитированием
Старый 28.05.2009, 10:53   #5
Ленка
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 5
Радость

Цитата:
Сообщение от DM_bite Посмотреть сообщение
Код:
program Xd;
function Faq(n: integer):longint;
var i: integer;
    zn: longint;
begin
zn:= 1;
for i:= 1 to n do
 begin
  zn:= zn*i;
  end;
  Faq:= zn;
  end;
 function FFaq(n: integer): longint;
var x,sum: integer;
begin
x:= 0;
sum:= 0;
while x<n
do
begin
x:= x+2;
sum:= Faq(x)+ sum;
end;
FFaq:= sum;
end;

var x: integer;
begin
ReadLn(x);
WriteLn(FFaq(x));
ReadLn;
end.
ReadLn(n);
WriteLn(Faq(n));
ReadLn;
end.
Вот полностью программа. Если есть ошибки - поправьте.
Спасибо огромное
Ленка вне форума Ответить с цитированием
Старый 28.05.2009, 11:36   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

DM_bite, я понимаю, что уже задача решена и все довольны.
Но хочу сделать одно маленькое замечание.
Учитывая, что факториал, это произведение последовательных натуральных чисел вычислять его каждый раз от начала - это неэффективно!

сравните с Вашим решением:
Код:
program Xd;

function FFaq(n: integer): longint;
var x, sum: integer;
  CurFaq : LongInt;
begin
  x := 0;
  sum := 0;
  CurFaq := 1;
  while x < n do
  begin
    CurFaq := CurFaq * (x+1) * (x+2);
    x := x + 2;
    sum := CurFaq + sum;
  end;
  FFaq := sum;
end;

var x: integer;
begin
  ReadLn(x);
  WriteLn(FFaq(x));
  ReadLn;
end.
  ReadLn(n);
  WriteLn(Faq(n));
  ReadLn;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.05.2009, 11:55   #7
Инспектор ГУЛ
Пользователь
 
Аватар для Инспектор ГУЛ
 
Регистрация: 21.05.2009
Сообщений: 55
По умолчанию

да! твой код короче и удобнее... Но не все ведь ещё изучили тонкости программирования.
В тюрьме столько не сидят, сколько в ИНЭТЕ!
Инспектор ГУЛ вне форума Ответить с цитированием
Старый 28.05.2009, 12:08   #8
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
Но хочу сделать одно маленькое замечание.
Если бы ТС могла сделать хотябы как я, то она не стала бы писать сюда.Само собой, если можешь решить одну задачу несколькими способами - это похвально, но, все таки, новичкам лучше попроще.
Ps: Сори за флуд.
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 28.05.2009, 13:29   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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

p.s. я ни в малейшей степени не собирался начитать флейм, флуд или, тем паче, кого-то обидеть!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить программу для вычисления значения функции и результаты выдать на печать Pleasant_girl Помощь студентам 8 22.12.2009 22:57
Помогите составить программу вычисления матричного синуса, пожалуйста! Lunatik Помощь студентам 6 31.03.2009 16:59
составить программу для вычисления значения функции и результаты выдать на печать. Бейсик nata89 Помощь студентам 1 06.12.2008 19:53
Составить алгоритм и программу вычисления определенного интеграла triston Помощь студентам 3 18.11.2008 18:35