Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - C (СИ) (73328)

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

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

Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от значения х_нач до х_кон с шагом dx с точностью Эбсилан. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Формула здесь: [404] Программа на Паскале:
Листинг программы
  1. CONST
  2. Eps=0.0001;
  3. VAR
  4. Xbeg,Xfin,DX,SUM,X:REAL;
  5. N:WORD;
  6. Nx,i:INTEGER;
  7. PROCEDURE SUMS(Xs:REAL; Var S:REAL; Var Ns:WORD);
  8. VAR
  9. a:REAL;
  10. Begin
  11. a:=1;
  12. S:=1;
  13. Ns:=0;
  14. Repeat
  15. Inc(Ns);
  16. a:=-a*SQR(Xs)/Ns;
  17. S:=S+a;
  18. Until Abs(a)<Eps;
  19. End;
  20. BEGIN
  21. Write('Xbeg= ');
  22. ReadLn(Xbeg);
  23. Write('Xfin= ');
  24. ReadLn(Xfin);
  25. Write('DX= ');
  26. ReadLn(DX);
  27. WriteLn;
  28. WriteLn(' Results of calculation:');
  29. WriteLn(' X SUM N Exp(-Sqr(X))');
  30. WriteLn;
  31. Nx:=ROUND((Xfin-Xbeg)/DX);
  32. X:=Xbeg;
  33. For i:=0 to Nx do
  34. begin
  35. X:=DX*i;
  36. SUMS(X,SUM,N);
  37. WriteLn(X:8:5,' ',SUM:7:5,' ',N:3,' ',Exp(-SQR(X)):7:5);
  38. end;
  39. ReadLn;
  40. END.

Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора»

textual
Листинг программы
  1. #include <math.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. #define EPS  0.0001  
  6.  
  7.  float  Xbeg, Xfin, DX, SUM, X;
  8.  unsigned int N;
  9.  int  Nx, i;
  10.  
  11.  
  12. void SUMS(float Xs, float *S, unsigned int *Ns)
  13.  {
  14.    float         a;
  15.  
  16.    a = 1;
  17.    *S = 1;
  18.    *Ns = 0;
  19.    do {
  20.     (*Ns)++;
  21.     a = -a * sqrt(Xs) / *Ns;
  22.     *S = *S + a;
  23.    }  while (fabs(a) >= EPS);
  24.  }
  25.  
  26.  
  27. void main(int argc, char *argv[])
  28. {
  29.  printf("Xbeg= ");
  30.  scanf("%f",&Xbeg);
  31.  printf("Xfin= ");
  32.  scanf("%f",&Xfin);
  33.  printf("DX= ");
  34.  scanf("%f",&DX);
  35.  printf("\n");
  36.  printf("         Results of calculation:\n");
  37.  printf("    X          SUM         N   Exp(-Sqr(X))\n");
  38.  printf("\n");
  39. // Nx = round((Xfin - Xbeg) / DX);
  40.  Nx = (Xfin - Xbeg) / DX;
  41.  X = Xbeg;
  42.  for (i = 0; i <= Nx; i++)
  43.   {
  44.    X = DX * i;
  45.    SUMS(X,&SUM,&N);
  46.    printf("%8.5f     %7.5f     %3d     %7.5f\n",X,SUM,N,exp(-sqrt(X)));
  47.   }
  48.   getch();
  49. }

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


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

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

15   голосов , оценка 4.133 из 5

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

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

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