intge3te.pas 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. program Intge3te;
  2. uses
  3. Typ,
  4. Int;
  5. const
  6. ae: ArbFloat = 1e-5;
  7. var
  8. a, b, integral, err: ArbFloat;
  9. i, term, nd: ArbInt;
  10. function cx(x: ArbFloat): ArbFloat;
  11. begin
  12. cx := 1 / (sqr(x) + 1);
  13. end;
  14. begin
  15. nd := numdig div 2;
  16. for i := 1 to 11 do
  17. begin
  18. case i of
  19. 1:
  20. begin
  21. a := -infinity;
  22. b := 0;
  23. end;
  24. 2:
  25. begin
  26. a := infinity;
  27. b := 0;
  28. end;
  29. 3:
  30. begin
  31. a := -infinity;
  32. b := infinity;
  33. end;
  34. 4:
  35. begin
  36. a := infinity;
  37. b := -infinity;
  38. end;
  39. 5:
  40. begin
  41. a := 0;
  42. b := 1;
  43. end;
  44. 6:
  45. begin
  46. a := 1;
  47. b := 1;
  48. end;
  49. 7:
  50. begin
  51. a := 1;
  52. b := 0;
  53. end;
  54. 8:
  55. begin
  56. a := infinity;
  57. b := infinity;
  58. end;
  59. 9:
  60. begin
  61. a := 0;
  62. b := infinity;
  63. end;
  64. 10:
  65. begin
  66. a := 0;
  67. b := -infinity;
  68. end;
  69. 11:
  70. begin
  71. a := -infinity;
  72. b := -infinity;
  73. end;
  74. end;
  75. Int1fr(@cx, a, b, ae, integral, err, term);
  76. if i = 1 then
  77. begin
  78. writeln(' ae =', ae: numdig);
  79. writeln('': nd, 'a', '': numdig, 'b', '': numdig, 'int', '': nd + 3,
  80. 'err', '': nd - 2, 'term');
  81. end;
  82. Writeln(a: numdig, ' ', b: numdig, ' ', integral: numdig, ' ',
  83. err: 12, ' ', term: 1);
  84. end;
  85. end.