В  
 ТАК 
В    
 НІ 
В В         
 i = 1 
 
 S1 = S1 + f (a + (2 * i +1) * h) 
<В  
 i = n/2 
  В     
В В         
 3.  Лістинг:  
  
    #  include 
  # include 
  # include 
  main () 
  {
  double a, b, er, eps, f (double), s, trap (double, double, double, double (*) (double)); 
  clrscr (); 
  printf (" n Задайте межі інтегрування і точність: "); 
  scanf ("% Lf% lf% lf", & a, & b, & eps); 
  s = trap (a, b, eps, f); 
  printf (" n Інтеграл від a =% 3.2lf до b =% 3.2lf дорівнює% lf ", a, b, s); 
  getch (); 
 } 
  double f (double x) 
  {
  return x * x * x +2 * (x * x) -3 * x-8; 
 } 
  double trap (double a, double b, double eps, double (* f) (double)) 
  {
  double h, s, s0, s1, sn; 
  int i, n; 
  s = 1; sn = 101; 
  n = 4; 
  s0 = (f (a) + f (b))/2; 
  s1 = f ((a + b)/2); 
  while (fabs (s-sn)> eps) {
				
				
				
				
			  sn = s; 
  h = (b-a)/n; 
  for (i = 0; i 
 s1 + = f (a + (2 * i +1) * h); 
  s = h * (s0 + s1); 
  n * = 2; 
 } 
  return s; 
 } 
               4.   Технічні вимоги:  
 
  Ім'я змінної  
  Тип  
  Призначення  
  n  
 int 
 число розбиття відрізка [a, b] 
  i  
 int 
 лічильник циклів 
  a  
 double 
 Нижня межа інтегрування 
  b  
 double 
 Верхня межа інтегрування 
  h  
 double 
 крок розбиття відрізка 
  eps  
 double 
 допустима відносна помилка 
  f  
 double (*) 
 покажчик на...