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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2009, 10:23   #1
Кириллович
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 15
По умолчанию Паскаль. Что не так?

Задача "Дано действительное число x и натуральное число n.
Вычислить

x-x^3/3!+x^5/5!+〖(-1)〗^(n+1) x^(2n-1))/(2n-1)!

При нахождении суммы использовать отношение последующего слагаемого к предыдущему."
Вот что я напридумал:
Код:
program Zadacha_3;
        label 1;
        var S, x, z: real;
            n: integer;
begin
     writeln ('Введите значение x и количество элементов ряда n');
     read (x, n);
     if (n=1) then
       S:=x;
       goto 1;
     if (n>1) then
       z:=(-1)*sqr(x)*(2*n)*(2*n+1);
       S:=x+1/z;
       goto 1;
     1:writeln ('Сумма ряда ',S);
end.
но для n>1 выдает сумму равную 0
Кириллович вне форума Ответить с цитированием
Старый 25.05.2009, 10:46   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
z:=(-1)*sqr(x)*(2*n)*(2*n+1);
А зачем Вам корень, Вам необходимо возведение в степень - pow/
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 25.05.2009, 10:52   #3
Кириллович
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 15
По умолчанию

А где здесь корень? Если про
Код:
sqr(x)
- так это квадрат. А всё выражение
Код:
z:=(-1)*sqr(x)*(2*n)*(2*n+1);
это то самое
Код:
отношение последующего слагаемого к предыдущему
Кириллович вне форума Ответить с цитированием
Старый 25.05.2009, 11:01   #4
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Простите недосмотрела, а х при этом ?

Как Вы получмли вот это
Код:
z:=(-1)*sqr(x)*(2*n)*(2*n+1);
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Stilet; 25.05.2009 в 11:15.
Sweta вне форума Ответить с цитированием
Старый 25.05.2009, 11:22   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если я правильно поняв задание то автору нужно что-то типа такого:
Код:
  function aga(x,n:integer):Double;
  var i:integer;q,w:double;
  begin
   q:=exp(3*ln(x));        w:=1;
   for i:=1 to n do w:=w*i;
   aga:=q/w;
  end;
var k:integer; sum:double;
begin
 k:=5;while (k<10) do begin
  sum:=aga(2,k)/aga(2,k-2);
  k:=k+2 ;
  writeln(sum:5:6);
 end;
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Цитата:
Вам необходимо возведение в степень - pow/
Не помню чтоб в классическом Паскале такая функа была...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.05.2009, 13:07   #6
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Посмотрмте. Это Ваш алгоритм? Если да, то реализуйте.
Вложения
Тип файла: doc Doc3.doc (38.5 Кб, 16 просмотров)
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 25.05.2009, 16:42   #7
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

обратите внимание, что каждый последующий член ряда получается из предыдущего умножением на величину -1*x^2/((2n-2)*(2n-1)) где n - номер члена ряда. Поэтому наиболее просто вычислять сумму ряда вот так:
Код:
program Zadacha_3;
             var S, x, z: real;
            n,i: integer;
begin
     writeln ('Введите значение x и количество элементов ряда n');
     read (x, n);
        S:=x;
        z:=x;
       i:=2;
        While i<= n do 
        begin
         z:=-z*x*x/(2*i-2)/(2*i-1);
         S:=S+z;
          inc(i);
        end;
     writeln ('Сумма ряда ',S);
end.
Всякое безобразие должно быть единообразным. Тогда это называется порядком.

Последний раз редактировалось Anatole; 25.05.2009 в 16:46.
Anatole вне форума Ответить с цитированием
Старый 25.05.2009, 19:09   #8
Кириллович
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 15
По умолчанию

Спасибо, Анатоль! Просто и работает! Эх-хе!
Кириллович вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что не так? rododendron Общие вопросы C/C++ 5 05.05.2009 22:48
Что не так? Alexcomeback Общие вопросы C/C++ 9 07.04.2009 23:14
else ,что сним не так? addy100 Общие вопросы C/C++ 6 04.02.2009 11:17
Что не так? Viento Microsoft Office Excel 3 30.01.2009 14:38
Что-то не так Radiofuck Помощь студентам 2 16.01.2007 22:06