intge3te.pas 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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.
  86. program Intge3te;
  87. uses
  88. Typ,
  89. Int;
  90. const
  91. ae: ArbFloat = 1e-5;
  92. var
  93. a, b, integral, err: ArbFloat;
  94. i, term, nd: ArbInt;
  95. function cx(x: ArbFloat): ArbFloat;
  96. begin
  97. cx := 1 / (sqr(x) + 1);
  98. end;
  99. begin
  100. nd := numdig div 2;
  101. for i := 1 to 11 do
  102. begin
  103. case i of
  104. 1:
  105. begin
  106. a := -infinity;
  107. b := 0;
  108. end;
  109. 2:
  110. begin
  111. a := infinity;
  112. b := 0;
  113. end;
  114. 3:
  115. begin
  116. a := -infinity;
  117. b := infinity;
  118. end;
  119. 4:
  120. begin
  121. a := infinity;
  122. b := -infinity;
  123. end;
  124. 5:
  125. begin
  126. a := 0;
  127. b := 1;
  128. end;
  129. 6:
  130. begin
  131. a := 1;
  132. b := 1;
  133. end;
  134. 7:
  135. begin
  136. a := 1;
  137. b := 0;
  138. end;
  139. 8:
  140. begin
  141. a := infinity;
  142. b := infinity;
  143. end;
  144. 9:
  145. begin
  146. a := 0;
  147. b := infinity;
  148. end;
  149. 10:
  150. begin
  151. a := 0;
  152. b := -infinity;
  153. end;
  154. 11:
  155. begin
  156. a := -infinity;
  157. b := -infinity;
  158. end;
  159. end;
  160. Int1fr(@cx, a, b, ae, integral, err, term);
  161. if i = 1 then
  162. begin
  163. writeln(' ae =', ae: numdig);
  164. writeln('': nd, 'a', '': numdig, 'b', '': numdig, 'int', '': nd + 3,
  165. 'err', '': nd - 2, 'term');
  166. end;
  167. Writeln(a: numdig, ' ', b: numdig, ' ', integral: numdig, ' ',
  168. err: 12, ' ', term: 1);
  169. end;
  170. end.