Рассчитайте значение числового ряда - C (СИ)

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

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

Здравствуйте, вынужден попросить помощи в программировании на C, ибо в нем бум-бум абсолютный (Delphi одобрял до этого). Задание 1: Задание 2: Заранее спасибо, буду очень признателен. Выручайте, друзья =)

Решение задачи: «Рассчитайте значение числового ряда»

textual
Листинг программы
#include <stdio.h>
 
#define _USE_MATH_DEFINES
#include <math.h>
 
double ln(const double x)
{
    return log(x)/log(M_E);
}
 
int main(void)
{
    int n=1;
    double EPS=0.000001;
    double sum=0.0;
    double a=0.0;
    do
    {
        a=1.0/(pow(2.0,n*1.0)*n);
        sum=sum+a;
        n=n+1;
    }
    while(a>EPS);
    printf("%s%d%s%.6f%s%.6f\n","n=",n," sum=",sum," ln2=",ln(2.0));
    getchar();
    return 0;
}

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

  1. Программа включает в себя две заголовочные файлы: и
  2. В функции ln(const double x) используется формула log(x)/log(M_E) для вычисления натурального логарифма числа x. Значение M_E является константой, равной числу e (экспонента).
  3. В функции main(void) объявляются следующие переменные:
    • n = 1 (инициализируется значение переменной)
    • EPS = 0.000001 (инициализируется значение переменной)
    • sum = 0.0 (инициализируется значение переменной)
    • a = 0.0 (инициализируется значение переменной)
  4. Затем выполняется цикл do-while, который продолжается до тех пор, пока значение a больше заданной точности EPS.
    • Внутри цикла значение a вычисляется как 1/n^2 (используется функция pow(2.0,n1.0)n)
    • Значение a добавляется к сумме sum
    • Значение n увеличивается на 1
  5. После выполнения цикла, программа выводит на экран значения переменных n, sum и ln(2.0)
  6. Программа завершается после получения значения n, большего заданной точности EPS. Список элементов:
  7. include

  8. include

  9. double ln(const double x)
  10. int main(void)
  11. int n=1;
  12. double EPS=0.000001;
  13. double sum=0.0;
  14. double a=0.0;
  15. do
  16. a=1.0/(pow(2.0,n1.0)n);
  17. sum=sum+a;
  18. n=n+1;
  19. while(a>EPS);
  20. printf(%s%d%s%.6f%s%.6f\n,n=,n,sum=,sum,ln2=,ln(2.0));
  21. getchar();
  22. return 0;

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы