Вычислить сумму значений ряда в заданном интервале с заданной точностью - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть программа, вычисляющая сумму значений ряда в заданном интервале с заданной точностью. Вычислительная часть написана верно, но есть вопрос: Почему не выводится конечное значение? Данные, на которых проверялось: (Указаны в порядке ввода в программу) 0.1 0.9 0.05 0.001
Листинг программы
  1. #include <stdio.h> // директивы препроцессора
  2. #include <conio.h>
  3. #include <math.h>
  4. int main()
  5. {
  6. float x, s, f, x_nach, x_kon, delta_x, eps, temp; // описание переменных
  7. int n;
  8. printf("\nLaboratornaya rabota nomer 3");
  9. printf("\nVariant nomer 3");
  10. printf("\nMR-14-1");
  11. printf("\nBakanov Maxim");
  12. printf("\n");
  13. printf("\nVvod ishodnih dannih:"); // ввод исходных данных
  14. printf("\n");
  15. printf("\nx_nach=");
  16. scanf("%f", &x_nach); // начальное значение аргумента
  17. printf("\nx_kon=");
  18. scanf("%f", &x_kon); // конечное значение аргумента
  19. printf("\ndelta_x=");
  20. scanf("%f", &delta_x); // шаг изменения аргумента
  21. printf("\neps=");
  22. scanf("%f", &eps); // точность вычислений
  23. printf("\nDlya x=%5.3f do %5.3f s shagom %5.3f i tochnostiu %5.3f\n", x_nach, x_kon, delta_x, eps); // эхо-печать
  24. printf("\n");
  25. printf("\n x n s f");
  26. printf("\n--------------------------------------");
  27. x = x_nach;
  28. do
  29. { // внешний цикл - изменение аргумента
  30. temp=x; // первое слагаемое
  31. temp*=2;
  32. s=temp; // начальное значение суммы
  33. n=1; // количество итераций на каждом шаге
  34. f=log((1+x)/(1-x)); // точное значение функции
  35. while(fabs(temp)>eps)
  36. {
  37. temp*=(2.0*n-1.0)*(pow(x, (2.0*n+1.0)))/((2.0*n+1.0)*(pow(x, (2.0*n-1.0)))); //Очередное слагаемое
  38. s+=temp;
  39. n++;
  40. }
  41. printf("\n%5.3f %d %0.6f %1.6f", x, n, s, f);
  42. x += delta_x; // увеличение аргумента на шаг delta_x
  43. }
  44. while (x<=x_kon);
  45. printf("\n--------------------------------------");
  46. return(0);
  47. }

Решение задачи: «Вычислить сумму значений ряда в заданном интервале с заданной точностью»

textual
Листинг программы
  1. }
  2. while (fabs(x - x_kon) < EPSILON);

Объяснение кода листинга программы

Код, который вы предоставили, является фрагментом и не содержит полных инструкций или объявлений переменных, необходимых для вычисления суммы значений ряда в заданном интервале с заданной точностью. Однако, основываясь на предоставленном коде, можно сделать следующие выводы:

  1. x и x_kon - это две переменные, которые используются в цикле while. Предполагается, что x - это текущее значение переменной, а x_kon - это конечное значение переменной, к которому стремится x.
  2. EPSILON - это константа, которая представляет собой требуемую точность. В данном контексте она используется в цикле while для проверки условия остановки. Цикл будет выполняться до тех пор, пока разница между x и x_kon не станет меньше EPSILON. Однако, без дополнительной информации о том, как именно вычисляется сумма значений ряда и какие значения используются в цикле, сложно дать более подробное объяснение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы