0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 9
1

Вычислить приближенное значение функции в некоторых заданных точках x

11.12.2014, 20:51. Показов 1462. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется вычислить приближенное значение функции в некоторых заданных точках x на основе суммирования членов ряда, используя итерационный алгоритм.

https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=0}^{\infty}\frac{x^{k+1}}{(k+2)^2}\;,\;\left|x \right| \lt 1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2014, 20:51
Ответы с готовыми решениями:

Вычислить значение функции от заданных аргументов
Здравствуйте! Помогите пожалуйста: Составить программу, используя подпрограмму FUNCTION. ...

Вычислить значение сложной (составной) функции для заданных значений аргументов
ТЕМА: Ветвление. Написание программ, реализующих алгоритмическую структуру "ветвление" (содержащую...

Вычисление суммы значений функции в заданных точках с помощью циклов while, repeat, for
Здравствуйте, помогите разобраться! Есть функция: f(x)=\frac{1}{\sqrt{{x}^{2}}} x\in ...

При некоторых заданных x, N и E, определяемых вводом, вычислить
При некоторых заданных x, N и E, определяемых вводом, вычислить: a)сумму N слагаемых заданного...

5
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
12.12.2014, 07:37 2
Цитата Сообщение от volkalone Посмотреть сообщение
в некоторых заданных точках x
Сколько точек и откуда вводятся?
0
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 9
12.12.2014, 17:21  [ТС] 3
Ошибся формулировке задания. Не говорилось о точках. Вот верный код, только без итерационного алгоритма
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program summa;
   var
  x,n,i:integer;
  k:word;
  t,add,sum:real;
   begin
 writeln('Vvedite x, n');
 readln(x,n);
 sum:=0;
 for i:=0 to n do
      begin
      t:=(exp(ln(x)*(k+1))/sqr(k+2));
      sum:=sum+t;
      end;
 writeln('summa=', sum);
 readln;
 end.
0
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
13.12.2014, 04:07 4
Сначала разбор полётов.
Цитата Сообщение от volkalone Посмотреть сообщение
Вот верный код
Правда, что ль?

- x должно быть вещественное;
- переменная k не инициализирована, и, так как нигде не модифицируется и является глобальной, всегда равна нулю;
- при x ≤ 0 программа завершится аварийно из-за попытки вычислить ln(x);
- нет контроля ввода, например, ничто не мешает ввести несуразное n = -100 или x = 1000.

Вывод: код неверный, так как заданию не соответствует совершенно, потому что перепутали i и k. Компилируется и то с замечанием о неиспользуемой переменной add.

Цитата Сообщение от volkalone Посмотреть сообщение
без итерационного алгоритма
Без рекуррентного, я так думаю. Итерация у Вас в программе используется, раз цикл есть.

Вот, разбирайтесь.

https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=0}^\infty \frac{x^{k+1}}{(k+2)^2}=\sum_{k=0}^\infty a_k

https://www.cyberforum.ru/cgi-bin/latex.cgi?a_0=\frac{x}{4}\ ;\ \  a_k=\frac{x^{k+1}}{(k+2)^2}\  ;

https://www.cyberforum.ru/cgi-bin/latex.cgi?a_{k+1}=\frac{x^{k+2}}{(k+3)^2}=\frac{x(k+2)^2x^{k+1}}{(k+3)^2(k+2)^2}=\left. x\left(\frac{k+2}{k+3} \right)^2a_k=\right|_{k=k+2}=x\left(\frac{k}{k+1} \right)^2a_k

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var k, n: integer;
    x, a, s: real;
begin
  repeat
    write('n = ');
    readln(n);
    if n < 0 then writeln('Error: n < 0, reenter.')
  until n >= 0;
  repeat
    write('x = ');
    readln(x);
    if abs(x) >= 1 then writeln('Error: |x| >= 1 , reenter.')
  until abs(x) < 1;
  a := x / 4;
  s := a;
  for k := 2 to n + 1 do
    begin
      a := x * k / (k + 1) * k / (k + 1) * a;
      s := s + a
    end;
  write('s = ', s);
  readln
end.
Возведение в квадрат не используется умышленно для минимизации ошибок усечения чисел с плавающей точкой. Для этой же цели используется чередование умножения и деления.

Да, а точно вычислить сумму ряда до члена с номером n? Не вычислить сумму ряда с с точностью ε?
0
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 9
13.12.2014, 16:58  [ТС] 5
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Да, а точно вычислить сумму ряда до члена с номером n? Не вычислить сумму ряда с с точностью ε?
Преподаватель попался не ахти, большую часть не может донести до нас.
Вот, что выяснилось: X,e,kmax -задаются, е примерно =0.001, kmax примерно 1000 максимальных шагов
0
Модератор
9656 / 4976 / 3265
Регистрация: 17.08.2012
Сообщений: 15,476
14.12.2014, 01:34 6
И количество, и точность заданы одновременно... Ладно, универсальный вариант, разбирайтесь:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
var k, km, ke, ks: integer;
    x, a, s, se, ss, e: real;
begin
  repeat
    write('Максимальное количество членов Kmax = ');
    readln(km);
    if km <= 0 then writeln('Kmax должно быть > 0, повторите ввод.')
  until km > 0;
  repeat
    write('Точность вычислений eps = ');
    readln(e);
    if e <= 0 then writeln('Точность должна быть > 0, повторите ввод.')
  until e > 0;
  repeat
    write('x = ');
    readln(x);
    if abs(x) >= 1 then writeln('|x| должен быть < 1 , повторите ввод.')
  until abs(x) < 1;
  a := x / 4;
  s := a;
  k := 1;
  ks := -1;
  ke := -1;
  repeat
    if (ks = -1) and (k = km) then
      begin
        ss := s;
        ks := k
      end;
    if (ke = -1) and (abs(a) < e) then
      begin
        se := s;
        ke := k
      end;
    inc(k);
    a := x * k / (k + 1) * k / (k + 1) * a;
    s := s + a;
 until (k > km + 1) and (abs(a) < e);
  writeln('Сумма ', km, ' членов ряда = ', ss);
  writeln('Требуемая точность вычислений достигнута на шаге ', ke, ',');
  writeln('при этом сумма ряда = ', se);
  readln
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2014, 01:34
Помогаю со студенческими работами здесь

При некоторых заданных x, N и E, определяемых вводом, вычислить:
При некоторых заданных x, N и E, определяемых вводом, вычислить: a) сумму N слагаемых заданного...

Вычислить значение функции, предварительно проверив, что это возможно при заданных значениях аргументов
Помогите пожалуйста с заданиями.Нужны алголитмы программ по заданиям на паскале,оператор цикла...

Вычислить приближенное значение интеграла
Cоставить функцию для вычисления приближенного значение интеграла

Вычислить приближенное значение бесконечной суммы
Вычислить приближенное значение бесконечной суммы. \frac 1{1\cdot 2}+\frac 1{2\cdot 3}+\frac...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru