Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C (СИ) (73328)
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от значения х_нач до х_кон с шагом dx с точностью Эбсилан. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Формула здесь:
[404]
Программа на Паскале:
Листинг программы
- CONST
- Eps=0.0001;
- VAR
- Xbeg,Xfin,DX,SUM,X:REAL;
- N:WORD;
- Nx,i:INTEGER;
- PROCEDURE SUMS(Xs:REAL; Var S:REAL; Var Ns:WORD);
- VAR
- a:REAL;
- Begin
- a:=1;
- S:=1;
- Ns:=0;
- Repeat
- Inc(Ns);
- a:=-a*SQR(Xs)/Ns;
- S:=S+a;
- Until Abs(a)<Eps;
- End;
- BEGIN
- Write('Xbeg= ');
- ReadLn(Xbeg);
- Write('Xfin= ');
- ReadLn(Xfin);
- Write('DX= ');
- ReadLn(DX);
- WriteLn;
- WriteLn(' Results of calculation:');
- WriteLn(' X SUM N Exp(-Sqr(X))');
- WriteLn;
- Nx:=ROUND((Xfin-Xbeg)/DX);
- X:=Xbeg;
- For i:=0 to Nx do
- begin
- X:=DX*i;
- SUMS(X,SUM,N);
- WriteLn(X:8:5,' ',SUM:7:5,' ',N:3,' ',Exp(-SQR(X)):7:5);
- end;
- ReadLn;
- END.
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора»
textual
Листинг программы
- #include <math.h>
- #include <stdio.h>
- #include <conio.h>
- #define EPS 0.0001
- float Xbeg, Xfin, DX, SUM, X;
- unsigned int N;
- int Nx, i;
- void SUMS(float Xs, float *S, unsigned int *Ns)
- {
- float a;
- a = 1;
- *S = 1;
- *Ns = 0;
- do {
- (*Ns)++;
- a = -a * sqrt(Xs) / *Ns;
- *S = *S + a;
- } while (fabs(a) >= EPS);
- }
- void main(int argc, char *argv[])
- {
- printf("Xbeg= ");
- scanf("%f",&Xbeg);
- printf("Xfin= ");
- scanf("%f",&Xfin);
- printf("DX= ");
- scanf("%f",&DX);
- printf("\n");
- printf(" Results of calculation:\n");
- printf(" X SUM N Exp(-Sqr(X))\n");
- printf("\n");
- // Nx = round((Xfin - Xbeg) / DX);
- Nx = (Xfin - Xbeg) / DX;
- X = Xbeg;
- for (i = 0; i <= Nx; i++)
- {
- X = DX * i;
- SUMS(X,&SUM,&N);
- printf("%8.5f %7.5f %3d %7.5f\n",X,SUM,N,exp(-sqrt(X)));
- }
- getch();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д