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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2015, 12:38   #1
Gennadiy23
Новичок
Джуниор
 
Регистрация: 23.01.2015
Сообщений: 4
По умолчанию Требуется разработать программу вычисления суммы членов сходящегося числового ряда

Требуется разработать программу вычисления суммы членов сходящегося числового ряда ∑(-1)^n/(1+n^3 ) n<=0<+∞ с заданной точностью α=0,01.
помогите пожалуста.
Gennadiy23 вне форума Ответить с цитированием
Старый 23.01.2015, 13:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А можно увидеть твои попытки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 13:14   #3
Gennadiy23
Новичок
Джуниор
 
Регистрация: 23.01.2015
Сообщений: 4
По умолчанию

да конечно,
Код:
program kontrolnaia_rabota;
const
  Alpha = 0.01;
var
  N, I: Integer;
  Sum, F: Real;
begin
writeln ('Бесконечная сумма  ');
  Sum := 0; {Начальное значение суммы числового ряда}
  N := 0;   {Начальное значение числа N}
  repeat    {Начало цикла REPEAT}
    { Вычисляем функцию }
    F := 1;
    for I := 1 to N do {Цикл возведения в степень}
      F := power(-1,F)/(1+F*F*F);

    Sum := Sum + F; {Выполняем суммирование}
    N := N + 1;     {Увеличиваем N на единицу}
  until Abs(F) <= Alpha; {Условие выхода из цикла}

  Writeln('Sum: ', Sum:15:8); {Выводим на экран сумму (0.5624)}
  Writeln('N: ', N); {Выводим на экран количество итераций (38)}
  Writeln('F: ', F:15:8); {Выводим на экран последнее значение F}
  Readln; {Ожидаем нажатие ENTER}
end.

Последний раз редактировалось Stilet; 23.01.2015 в 13:21.
Gennadiy23 вне форума Ответить с цитированием
Старый 23.01.2015, 13:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну неплохо.
Подправлю:
Код:
program kontrolnaia_rabota;
const
  Alpha = 0.01;
var
  N, I: Integer;
  Sum, F,fa: Real;
begin
writeln ('Бесконечная сумма  ');
  Sum := 0; {Начальное значение суммы числового ряда}
  N := 0;   {Начальное значение числа N}
  F := 1;
  Fa:=0;
  F:=power(-1,n)/(1+n*n*n); inc(n);
  while Abs(F-Fa) <= Alpha do begin
      Sum := Sum + F; {Выполняем суммирование}
      Fa:=F;
      F := power(-1,n)/(1+n*n*n);
    N := N + 1;     {Увеличиваем N на единицу}
  end; {Условие выхода из цикла}

  Writeln('Sum: ', Sum:15:8); {Выводим на экран сумму (0.5624)}
  Writeln('N: ', N); {Выводим на экран количество итераций (38)}
  Writeln('F: ', F:15:8); {Выводим на экран последнее значение F}
  Readln; {Ожидаем нажатие ENTER}
end.
Это с потолка. Но думаю не ошибся.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 13:32   #5
Gennadiy23
Новичок
Джуниор
 
Регистрация: 23.01.2015
Сообщений: 4
По умолчанию

окно ввода
Бесконечная сумма
Sum: 0.00000000
N: 1
F: 1.00000000

мммм... по моему что то не то получается или так должно быть?
Gennadiy23 вне форума Ответить с цитированием
Старый 23.01.2015, 13:40   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Эх студенты... Отлаживать код вам надо научиться! Это все вопросы подобные снимает. Иначе просто лучше забыть о сфере ИТ, поскольку в реальной жизни ПО гораздо сложнее, и на твои вопросы интернет тебе ответов не даст, когда (читай: если) будешь работать программистом в серьезном промышленном проекте.

Код:
program Project1;

const
  Alpha = 0.01;
var
  N, I,sign: Integer;
  Sum, F,fa: Real;
begin
writeln ('Бесконечная сумма  ');
  Sum := 0; {Начальное значение суммы числового ряда}
  N := 0;   {Начальное значение числа N}
  F := 1;
  Fa:=0;
  sign:=1;
  F:=sign/(1+n*n*n); inc(n);
  while Abs(F-Fa) > Alpha do begin
      Sum := Sum + F; {Выполняем суммирование}
      Fa:=F;
      sign:=-sign;
      F := sign/(1+n*n*n);
    N := N + 1;     {Увеличиваем N на единицу}
  end; {Условие выхода из цикла}

  Writeln('Sum: ', Sum:15:8); {Выводим на экран сумму (0.5624)}
  Writeln('N: ', N); {Выводим на экран количество итераций (38)}
  Writeln('F: ', F:15:8); {Выводим на экран последнее значение F}
  Readln; {Ожидаем нажатие ENTER}
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 13:49   #7
Gennadiy23
Новичок
Джуниор
 
Регистрация: 23.01.2015
Сообщений: 4
По умолчанию

спасибо большое. Да надо учится....
Gennadiy23 вне форума Ответить с цитированием
Старый 23.01.2015, 14:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Учись. Дальше будет полный аус. Если не впитаешь основы и навыки то лучше по этому профессии не рассчитывать на хороший заработок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму первых K членов бесконечного сходящегося ряда.Заканчивать |k|<E.(Pascal) Crazy_romaha Помощь студентам 0 23.12.2011 22:39
Разработать программу для вычисления квадрата суммы элементов матрицы 8x8, составляющих её главную диаго Елена37 Помощь студентам 1 07.04.2011 12:55
Написать программу вычисления суммы ряда(С++) asp1k Помощь студентам 10 01.09.2010 17:43