Реферат: Вычисление определённого интеграла с помощью метода трапеций на компьютере

<span Classic Russian",«sans-serif»">МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»"><span Classic Russian",«sans-serif»; font-weight:normal;mso-bidi-font-weight:bold">КУРСОВАЯ РАБОТА

<span Classic Russian",«sans-serif»">тема

<span Classic Russian",«sans-serif»">:<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">«Вычисление определённого интеграла

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic"> с помощью метода трапеций

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">на компьютере»

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Выполнил:

<span Classic Russian",«sans-serif»"> студент ф-та

<span Classic Russian",«sans-serif»"> ЭОУС-1-12

<span Classic Russian",«sans-serif»">Зыков И.

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Принял:

<span Classic Russian",«sans-serif»">Зоткин С. П.

<span Classic Russian",«sans-serif»">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US">

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">Москва 2001

<span Classic Russian",«sans-serif»;mso-fareast-font-family: «Classic Russian»;mso-bidi-font-family:«Classic Russian»">1.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Введение:

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Определенный интеграл от функции, имеющейнеэлементарную первообразную, можно вычислить с помощью той или инойприближенной формулы. Для решения этой задачи на компьютере, можновоспользоваться

<span Classic Russian",«sans-serif»">формуламипрямоугольников<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">, <span Classic Russian",«sans-serif»">трапеций<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> или <span Classic Russian",«sans-serif»">формулой Симпсона<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">. В данной работе рассматривается <span Classic Russian",«sans-serif»">формулатрапеций<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">.

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Пусть

I=<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Symbol">òf(x)dx, <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">гдеf(x)<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style:italic"> –непрерывная функция, которую мы для наглядности будем предполагатьположительной. ТогдаI<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">представит собой площадькриволинейной трапеции, ограниченной линиямиx=a, x=b, y=0, y=f(x). <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Выберем какое-нибудь натуральное числоn<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">и разложим отрезок[a,b] <span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">наn<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">равных отрезков при помощи точек x0=a<x1<…<xn=b. <span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Прямыеx=xi<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">разбивают интересующую наскриволинейную трапецию на <span Classic Russian",«sans-serif»; mso-ansi-language:EN-US">n<span Classic Russian",«sans-serif»"><span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">полосок. Примем каждую из этихполосок за обыкновенную прямолинейную трапецию (рис. 1, гдеn<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style:italic">=4).

<img src="/cache/referats/9483/image002.jpg" v:shapes="_x0000_i1025">

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">рис. 1

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Тогда площадь первой слева полоски будет приближенно выражаться числом

((f(x0)+f(x1))/2)*(x1-x0)=((y0+y1)/2)*((b-a)/n),

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">ибо основания трапеции, за которую мыпринимаем полоску, равны

f(x0)=y0и f(x1)=y1<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">, а высота её

x1-x0=(b-a)/n.

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Аналогично площади дальнейших полосоквыразятся числами

(y1+y2)*((b-a)/2*n),(y2+y3)*((b-a)/2*n), …, (yn-1+yn)*((b-a)/2*n).

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Значит, для нашего интеграла получаетсяформула

I<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">»

((b-a)/2*n)*[y0+2*(y1+…+yn-1)+yn].

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Пологая для краткости

y0+yn=Y<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">кр<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">(крайние), y1+y2+…+yn-1=Y<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">пром <span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">(промежуточные), получим

<div v:shape="_x0000_s1056">

<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">ò

ydx <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">»((b-a)/2* n)*(Y<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">кр+2*Y<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">пром)  


                                                                                                                

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Эту формулу можно записать в другом виде

<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">ò

f(x)dx <span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol; mso-symbol-font-family:Symbol">»(h/2)*[f(a)+f(b)+2<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol; font-style:normal;mso-bidi-font-style:italic">åf(xi)]

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">(где

h<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">– длина одного изn<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">равных отрезков,xi=a+i*h<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">). Эта приближенная формула и называется формулой трапеций. Она оказывается тем более точной, чембольше взятое нами число n.<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> Погрешность одного шага вычисляется поформуле: -(h^3)/12<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">.

        <span Classic Russian",«sans-serif»">Задача.

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> Пусть нужно проинтегрировать функциюf(x) = x³ +2x²-3x-8 <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style:italic">наотрезке [0, 6]. На этом отрезке функция непрерывна.

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Для выполнения поставленной задачисоставлена нижеописанная программа, приближенно вычисляющая определенный интеграл с помощью

<span Classic Russian",«sans-serif»">методатрапеций<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">. Программа состоит из трехфункций main, f<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">иtrap. <span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">Функцияmain<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">позволяет ввести интервалы интегрирования изадать точность вычисления интеграла, а также<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">вызывает функциюtrap<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">для вычисления интеграла ираспечатывает на экране результат. Функцияf<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">принимает аргументx<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">типаfloat<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">и возвращает значениеинтегрируемой функции в этой точке. Trap– <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">основная функция программы: она выполняет все вычисления, связанные снахождением определенного интеграла.Trap<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">принимает четыре параметра: пределыинтегрирования типаfloat(aи b), <span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">допустимую относительную ошибкутипаfloat<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">и указатель на интегрируемую функцию. Вычисления выполняются до техпор, пока относительная ошибка, вычисляемая по формуле | S-Sn |,<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic"> не будет меньше или равнатребуемой. Функция реализована с экономией вычислений, т. е. учитывается, что S0<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic"> постоянная и S1=S1+f(a+(2*i+1)*h)<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">, поэтому эти значениявычисляются единожды. <span Classic Russian",«sans-serif»">Методтрапеций<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic"> обладает высокой скоростьювычисления, но меньшей точностью, чем <span Classic Russian",«sans-serif»">метод Симпсона<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">, поэтому его применение удобно там, где нетребуется очень высокая точность.

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">            Ниже предлагается

<span Classic Russian",«sans-serif»">блок-схема,листинг, спецификации, ручной счет и результат работы программы<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> на примере поставленной выше задачи. <span Classic Russian",«sans-serif»">Блок-схема<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> позволяет отследить и понять особенностиалгоритма программы, <span Classic Russian",«sans-serif»">спецификации<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> дают представление о назначении каждойпеременной в основной функции trap<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">, <span Classic Russian",«sans-serif»">листинг<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> - исходный код работающей программы с комментариями, а <span Classic Russian",«sans-serif»">ручной счет<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> предоставляет возможность проанализироватьрезультаты выполнения программы.

<span Classic Russian",«sans-serif»;mso-fareast-font-family:«Classic Russian»; mso-bidi-font-family:«Classic Russian»;font-style:normal;mso-bidi-font-style: italic">2.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Блок-схема программы:<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">

<span Classic Russian",«sans-serif»">Ввод

a, b, eps

n = 4, S=1, Sn = 101

S0=(f(a)+f(b))*0.5

S1=f(0.5*(a+b))

<img src="/cache/referats/9483/image003.gif" v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1032 _x0000_s1033 _x0000_s1042 _x0000_s1073">

| S-Sn | > eps

<img src="/cache/referats/9483/image004.gif" v:shapes="_x0000_s1040">                                                                                                          

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">                                                                                                                     ДА

<img src="/cache/referats/9483/image005.gif" v:shapes="_x0000_s1039 _x0000_s1041"> <img src="/cache/referats/9483/image006.gif" v:shapes="_x0000_s1034">


                                                                  <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">НЕТ

<span Classic Russian",«sans-serif»; mso-ansi-language:EN-US;font-style:normal;mso-bidi-font-style:italic">

                                                                       

Sn=S

h=(b-a)/n

<span Classic Russian",«sans-serif»">Вывод

<span Classic Russian",«sans-serif»;mso-ansi-language:EN-US"> S

<img src="/cache/referats/9483/image007.gif" v:shapes="_x0000_s1047"> <img src="/cache/referats/9483/image008.gif" v:shapes="_x0000_s1038 _x0000_s1045">

                                                                                                                            i=1

<div v:shape="_x0000_s1036">

<span Times New Roman",«serif»; mso-bidi-font-family:«Courier New»;mso-ansi-language:EN-US">S1=S1+f(a+(2*i+1)*h)

 

                                                                                                                         

<img src="/cache/referats/9483/image009.gif" v:shapes="_x0000_s1037">                                                                                                                            i=n/2

<span Times New Roman",«serif»; mso-bidi-font-family:«Courier New»;mso-ansi-language:EN-US">S=h*(S0+S1)

n=n*2

<img src="/cache/referats/9483/image010.gif" v:shapes="_x0000_s1031 _x0000_s1077">

                                                                         

<img src="/cache/referats/9483/image011.gif" v:shapes="_x0000_s1075">


<span Classic Russian",«sans-serif»;mso-fareast-font-family:«Classic Russian»; mso-bidi-font-family:«Classic Russian»;font-style:normal;mso-bidi-font-style: italic">3.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Листинг:<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic"> 

#include<stdio.h>

#include<math.h>

#include<conio.h>

main()

{

doublea,b,er,eps,f(double),s,trap(double,double,double,double(*)(double));

clrscr();

printf(" Задайте пределы интегрирования иточность: ");

scanf("%lf%lf%lf",&a,&b,&eps);

s=trap(a,b,eps,f);

printf(" Интеграл от 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,doubleeps,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<n/2; i++)

           s1+=f(a+(2*i+1)*h);

       s=h*(s0+s1);

        n*=2;

                                  }

return s;

}

<span Classic Russian",«sans-serif»;mso-fareast-font-family: «Classic Russian»;mso-bidi-font-family:«Classic Russian»">4.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Спецификации:

<span Classic Russian",«sans-serif»">Имя переменной

<span Classic Russian",«sans-serif»">Тип

<span Classic Russian",«sans-serif»">Назначение

n

int

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">число разбиений отрезка

[a, b]

i

int

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">счетчик циклов

a

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">Нижний предел интегрирования

b

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">Верхний предел интегрирования

h

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">шаг разбиения отрезка

eps

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">допустимая относительная ошибка

f

double(*)

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">указатель на интегрируемую фун — цию

x

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">аргумент ф-ии

<span Classic Russian",«sans-serif»; mso-ansi-language:EN-US;font-style:normal;mso-bidi-font-style:italic">f<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">

s

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">текущий результат интегрирования

s0

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">половина суммы значений функции в точках

<span Classic Russian",«sans-serif»; mso-ansi-language:EN-US;font-style:normal;mso-bidi-font-style:italic">a<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic"> и <span Classic Russian",«sans-serif»; mso-ansi-language:EN-US;font-style:normal;mso-bidi-font-style:italic">b<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">

s1

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">сумма значений функции в промежуточных точках

sn

double

<span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">предыдущий результат интегрирования

<span Classic Russian",«sans-serif»;mso-fareast-font-family: «Classic Russian»;mso-bidi-font-family:«Classic Russian»">5.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Ручной счет:

Xi

Yi

-8

0,75

-8,703125

1,5

-4,625

2,25

6,765625

3

28

3,75

61,609375

4,5

110,125

5,25

176,078125

6

262

<img src="/cache/referats/9483/image015.gif" v:shapes="_x0000_s1091"> <img src="/cache/referats/9483/image016.gif" v:shapes="_x0000_s1090"> <img src="/cache/referats/9483/image017.gif" v:shapes="_x0000_s1089">

<span Classic Russian",«sans-serif»;mso-fareast-font-family: «Classic Russian»;mso-bidi-font-family:«Classic Russian»">6.<span Times New Roman"">  

<span Classic Russian",«sans-serif»">Результат работы программы:

<span Classic Russian",«sans-serif»">                                                                                                                                         

                       приeps=0.1                                                         приeps= 0.001

<img src="/cache/referats/9483/image018.gif" v:shapes="_x0000_s1084"><img src="/cache/referats/9483/image019.gif" v:shapes="_x0000_s1085"><img src="/cache/referats/9483/image018.gif" v:shapes="_x0000_s1080"><img src="/cache/referats/9483/image019.gif" v:shapes="_x0000_s1081"><img src="/cache/referats/9483/image019.gif" v:shapes="_x0000_s1083"><img src="/cache/referats/9483/image019.gif" v:shapes="_x0000_s1087"> 

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">                Введите

<span Classic Russian",«sans-serif»;mso-ansi-language: EN-US;font-style:normal;mso-bidi-font-style:italic"> a, b, eps:                                 <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Введите<span Classic Russian",«sans-serif»; mso-ansi-language:EN-US;font-style:normal;mso-bidi-font-style:italic"> a, b,eps:       

                0                                                                                 0

                6                                                                                 6

                .1                                                                                 .001

<span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic"> 

<span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">             Интеграл=

366.024170                                     <span Classic Russian",«sans-serif»;font-style:normal;mso-bidi-font-style: italic">Интеграл= 366.000094          <span Classic Russian",«sans-serif»; font-style:normal;mso-bidi-font-style:italic">

<img src="/cache/referats/9483/image018.gif" v:shapes="_x0000_s1082"><img src="/cache/referats/9483/image018.gif" v:shapes="_x0000_s1086"><span Classic Russian",«sans-serif»;font-style: normal;mso-bidi-font-style:italic">           т.е с помощью этой программы можно вычислить интеграл от функции сточностью до 1/10000.

еще рефераты
Еще работы по программированию, базе данных