Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. var
  2. x: double;
  3. y: double;
  4. dy: double; //очередной член ряда... уже слышу ржание над этим коментом. Все ведь переиначите xD
  5. pow: double; //Тут хранится числитель члена ряда (x в определенной степени x^1, x^3, x^5...)
  6. e1, e2: double; // Пределы сходимости
  7. k: integer; //Знаменатель очередного члена ряда
  8. i: integer; //Знак члена ряда
  9. begin
  10. x := 0.2; //Значение задаем сами
  11. k := 1; //Это трогать нельзня
  12. e1 := 0.01; //Это можно
  13. e2 := 0.000000001; //Это тоже
  14. i := 1; //А это опять нельзя
  15.  
  16. writeln('x = ',x);
  17. writeln('Точное значение y = ',ArcTan(x));
  18. dy := x;
  19. y := x;
  20. pow := x;
  21. while (abs(dy) > e1) do //до тех пор, пока очередной член ряда больше предела сходимости
  22. begin
  23. k := k + 2;
  24. i := -1*i; //С каждой итерации меняется знак на противоположный
  25. pow := pow*x*x; //Увеличиваем значение степени на 2
  26. dy := (i*pow)/k; //Вычисляем член ряда
  27. y := y + dy;
  28. end;
  29. writeln('Рассчетное значение y для точности ',e1,': ',y);
  30.  
  31. while (abs(dy) > e2) do //То же самое,только для другой точности
  32. begin
  33. k := k + 2;
  34. i := -1*i;
  35. pow := pow*x*x;
  36. dy := (i*pow)/k;
  37. y := y + dy;
  38. end;
  39. writeln('Рассчетное значение y для точности ',e2,': ',y);
  40. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement