Не могу понять математическую задачу и код решения задачи на C++

В ВУЗе, на 1 курсе, в очередной лабораторной работе попалось следующее задание.

Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x, изменяющегося от a до b с шагом h = (b – a)/10.

введите сюда описание изображения

a = 0.1, b = 1, в центре разложение в ряд, n = 80, в конце функция

До этого все задания были лёгкие, и я их решал, но на этом встрял капитально. Не могу даже понять с чего начать, в чём разобраться... Учусь заочно, методичек никаких толком нет.

В интернете нашёл код C++ с решением этого задания. Проверил его - вроде работает, но каждое значение x нужно вводить вручную и на экран выводится только одна строка.

#include <iostream>
#include <iomanip>
#include <math.h>

using namespace std;

int main () {
    double a, b, h, d, x, y, s, p;
    int n, i;
    cout<<"Vvedite a, b, n"<<endl;
    cin>>a>>b>>n;
    h=(b-a)/10;
    x=a;
    cout<<setw(15)<<x<<setw(15)<<y<<setw(15)<<s<<setw(15)<<d<<endl;
    do {
        p=s=x;
        for(i=1;i<=n;i++) {
            p*=pow(x,2)/(2*i*(2*i+1));
            s+=p;
}
        y=(exp(x)-exp((-1)*x))/2;
        d=fabs(y-s);
        cout<<setw(15)<<x<<setw(15)<<y<<setw(15)<<s<<setw(15)<<d<<endl;
        x+=h;
}
    while(x<=b+h/2);
    cout<<endl;
    return 0;
}

Помогите мне, пожалуйста. Если разбираетесь в этом, то прокомментируйте само задание и код, чтобы я лучше понял, что нужно сделать.


Ответы (0 шт):