Прямая задача вертикального электрического зондирования

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Геология
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    270,63 Кб
  • Опубликовано:
    2012-11-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Прямая задача вертикального электрического зондирования

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ «Международный университет природы, общества и человека «Дубна»

Факультет естественных и инженерных наук

Кафедра общей и прикладной геофизики




КУРСОВАЯ РАБОТА

ПО

дисциплине «Электроразведка»

ТЕМА «Прямая задача вертикального электрического зондирования»


Выполнили: студенты группы 3152

курса факультета ЕиИН

Колешков Е. А.

Руководитель:

Шевнин В. А.






Оглавление

Введение

Теоретическая часть

Таблицы с параметрами линейных фильтров

Листинг программы

Оформление программы

Вывод

Список использованной литературы

Введение

Метод вертикального электрического зондирования (ВЭЗ) является одним из старейших методов электроразведки. Первые применения метода относятся к 20-м г.г. XX века. Сравнительная простота и наглядность ВЭЗ привела к его широкому распространению и развитию во всем мире.

На сегодняшний день электрические зондирования остаются одним из самых применяемых электроразведочных методов. На основе ВЭЗ разработаны и другие современные технологии - например, электротомография, базирующиеся на тех же принципах, что и для «классических» электрических зондирований.

Целью данной курсовой работы было создание программы, которая способна решать прямую задачу вертикального электрического зондирования, то есть, по заданной модели среды (количество слоев, мощность слоев, их удельные электрические сопротивления) строить кривые кажущегося сопротивления. Актуальность создания таких программ заключается в том, что решение таких задач вручную - это очень трудоемкий процесс и занимает очень много времени. Решение такой задачи было реализовано с помощью метода линейной фильтрации (наиболее распространённый, в наши дни, метод для решения подобных задач). Программа была разбита на два основных окна:

Окно с набором фильтров.

И главное окно для задания параметров модели и расчета.

Программа и имеет графический интерфейс (сама строит кривые), а выходные данные (кажущееся сопротивление и AB/2) сохраняет в формате «.xls», то есть, данные модно посмотреть в виде таблицы Excel, Grapher, Surfer и др. Программа была написана на объектно-ориентированном языке программирования Visual Basic .NET (VB.NET) в среде разработке Microsoft Visual Studio 2010 professional под программную платформу .NET Framework 4.0

Теоретическая часть

Известно, что прямая задача электрического зондирования может быть решена в результате численного расчета интеграла Ханкеля


где r - полуразнос, J1 - функция Бесселя первого порядка, R1(m) - называется трансформантой или кернел-функцией и несет информацию о разрезе. Сложности вычисления интеграла (1) обусловлены наличием осциллирующей и слабо затухающей функции J1, бесконечными пределами интегрирования и необходимостью расчета интеграла при большом числе различных значений параметра m. При использовании стандартных методов численного интегрирования для достижения приемлемой точности при расчете (1) требуются большие вычислительные затраты, что приводит к значительному расходу машинного времени. В разное время решением этой проблемы занимались Л.Л.Ваньян, Е.Б.Изотова (1968), В.И.Дмитриев (1969), В.А.Филатов (1979), Ю.А.Дашевский (1982), Е.Ш.Абрамова (1982), А.А.Рыжов (1981), В.А.Шевнин (1992), W.L.Anderson (1979), D.P.Ghosh (1970-1972), H.K.Johansen (1975) и др. В данном разделе приводится краткое описание некоторых различных подходов.

Наиболее распространенный в настоящее время способ расчета кривых электрических зондирований - метод линейной фильтрации. Первые сообщения о методе появились в печати в 1967-1973 гг.(D.P. Ghosh, 1971, P.Salat, 1967-1968, W.Anderson, 1973, В.Н.Страхов, 1969), хотя впервые идея была высказана Г.Кунецом (G.Kunetz) в 1966 г. В литературе были опубликованы как способы расчета линейных фильтров, так и сами фильтры (Е.Ш.Абрамова, W.Anderson, D.P. Ghosh, O.Koefoed, H.K.Johansen).

Идея метода линейной фильтрации проста. Исходный интеграл Ханкеля (1) заменой переменных преобразуется в интеграл свертки, который после дискретизации приводится к виду линейного фильтра, формула которого для расчета кажущегося сопротивления имеет вид:


где R - кернел-функция, зависящая от параметров разреза и значений абсциссы X; G - коэффициенты фильтра, число которых N; r - полуразнос питающих электродов, а j - его индекс. Нам представляется, что на современном этапе именно алгоритм линейной фильтрации является наиболее эффективным аппаратом для вычисления кажущегося сопротивления при решении прямой задачи электрических зондирований в слоистой среде, а также, в силу своей быстроты и точности - для решения обратной задачи.

К основным параметрам линейного фильтра относятся:

. Число коэффициентов фильтра (или его длина) - KF. Встречаются фильтры с числом коэффициентов от 4 до 200, чаще используются фильтры с KF от 8 до 30.

. Число точек фильтра, приходящихся на декаду оси абсцисс (на модуль логарифмического бланка) - KTM, и связанная с ним величина коэффициента геометрической прогрессии q:


Известны фильтры с KTM от 3 до 10 и даже больше [Anderson, 1979], что приводит к значениям q от 2.15 до 1.26. Оптимальными являются значения KTM = 6 - 8, что соответствует q от 1.47 до 1.33.

. Сдвиг a. Это множитель, близкий к единице (или равный ей), характеризующий сдвиг узлов сетки Х относительно ближайших узлов сетки r. Для некоторых фильтров он равен 1, т.е. узлы сеток r и X совпадают, для других фильтров отличается от 1 в большую или меньшую сторону. Впервые D.P.Ghosh показал, что правильный выбор a помогает уменьшить число коэффициентов фильтра [Куфуд, 1984].

. Положение центрального элемента фильтра, которое определяется указанием либо номера центрального коэффициента, либо числом коэффициентов памяти М, расположенных слева от центра (со стороны меньших Х), либо числом коэффициентов предсказания L, расположенных справа от центрального. При этом M+L+1=KF. Обычно число коэффициентов памяти M больше числа коэффициентов предсказания L. Это связано с асимметрией входных и выходных функций, что видно из рис.1, правда здесь по оси абсцисс отложены m, а не Х, поэтому в этих координатах коэффициенты памяти расположены правее, а коэффициенты предсказания - левее центра.

. Сами коэффициенты фильтра G, желательно с указанием, в каком порядке они приводятся (по возрастанию m или Х=1/m).

Рис.1. Принцип алгоритма линейной фильтрации.

Принцип линейной фильтрации можно пояснить с помощью (рис. 2.2.1): Верхняя линия рисунка - ось разносов r в логарифмическом масштабе. Ниже ее, также в логарифмическом масштабе, - ось Х=1/m. При расчете значения rК для одного разноса r требуется рассчитать KF значений кернел-функции R для сетки значений Х, возрастающих в геометрической прогрессии с коэффициентом q, определяемым параметром KTM данного фильтра. Ближайшее к данному разносу r значение Х соответствует центральному коэффициенту фильтра. Справа от центрального располагаются коэффициенты предсказания, а слева - коэффициенты памяти. Разница между значениями r и центральным XC, называется сдвигом a. (a=XC / r). Зная число коэффициентов слева от центра (М) можно рассчитать положение первой точки Х относительно r по формуле:

(4)

Легко видеть из рис.1, что рассчитывая rК для следующих значений r, возрастающих с тем же множителем q, что и у значений Х, мы сможем использовать все значения R (кроме первого), рассчитанные для предыдущего разноса. Если для rК (r1) потребуется KF значений R, то для NR разносов, возрастающих в той же геометрической прогрессии, потребуется KF+NR-1 значений. Если же сетка разносов произвольная, то для расчета rК на NR разносах потребуется уже (KF x NR) значений R.

На третьем (самом нижнем уровне) рис.1. схематически изображен набор коэффициентов фильтра. Значения коэффициентов могут быть как положительными, так и отрицательными, причем наибольшие по модулю коэффициенты встречаются в средней части фильтра, а к краям они убывают. Сумма всех коэффициентов фильтра должна быть равна 1, для того, чтобы при пересчете асимптотических (постоянных) значений R в rК, уровень фона не менялся.

Программа для расчета rК с помощью линейного фильтра должна включать следующие операции:

а) ввод исходных данных о модели (число слоев NS, их удельные сопротивления r и мощности h), сведений о разносах (их число NR и первое значение r1 или весь список разносов, если они произвольные), и значений параметров фильтра (KF, KTM, a, M и G);

б) расчет коэффициента геометрической прогрессии q для сетки Х и r по значениям KTM (ф-ла 3);

в) расчет сетки Х с шагом КТМ точек на декаду, т.е. в геометрической прогрессии с коэффициентом q, начиная с ХНАЧ, определяемого по формуле (4);

г) расчет сетки r от r начального по формуле геометрической прогрессии с тем же коэффициентом q, если r не заданы списком;

д) расчет значений кернел-функции R или трансформанты=r1 R по рекуррентной формуле. Обычно используется рекуррентная формула Пекериса [Куфуд, 1984]:


или Л.Л.Ваньяна:

где индексы параметров слоев i меняются снизу вверх по разрезу от N-1 до 1;

е) расчет значений rК по формуле (2);

ж) запись результатов.

Подробнее об алгоритме и программах линейной фильтрации можно прочесть в [Куфуд, 1984; Электрическое зондирование, 1992].

Таблицы с параметрами линейных фильтров

В следующих ниже таблицах приведены примеры линейных фильтров. Параметры фильтра: длина фильтра KF, дискретность расчета rК - КТМ шагов на декаду, смещение - a, NC - номер центрального коэффициента фильтра, M - число коэффициентов фильтра, предшествующих центральному.

Таблица 1. Параметры линейных фильтров для ВЭЗ

N фильтра

1

2

3

4

6

Автор

Гош

О`Нейл

Куфуд, Диркс

Абрамова 15 коэф.

Абрамова 8 коэф.

Куфуд

Q

2.15(1.47)

1.47

1.78

1.39

1.58

1.78

KF

9

20

15

15

8

30

KTM

3 (6)

6

4

7

5

4

ALFA

1.05

1.288

1.215311

1

1

0.9002

M, NC

5, 6

15, 16

12, 13

9, 10

5, 6

17, 18


Фильтр N 1, KF= 9 (Гош)

.0148, -0.0814, 0.4018, -1.5716, 1.972, 0.1854, 0.1064, -0.0499, 0.0225.

Фильтр N 2, KF=20 (О'Нейл)

.000318, 0.002072, -0.004978, 0.01125, -0.0252, 0.05812, -0.1436, 0.393, -1.1324, 2.7044, -3.4507, 0.4248, 1.1817, 0.6194, 0.2374, 0.08688, 0.0235, 0.01284, -0.001198, 0.003042

Фильтр N 3, KF=15 (Куфуд, Диркс)

.0055, -0.0086, 0.0136, -0.0225, 0.0387, -0.07, 0.1402, -0.347, 1.057, -2.482, 1.8371, 0.6448, 0.1686, 0.0168, 0.0098

Фильтр N 4, KF=15 (Абрамова-15)

.0163, 0.20383, -1.202593, 3.73787, -5.24185, 1.916952, -0.22481, 1.583, -0.1627, 0.36195, 0.026421, -0.03003, 0.06769, -0.03007, 0.01063

Фильтр N 5, KF= 8 (Абрамова-8)

.100307, 1.1306, -3.86226, 3.923, -0.964145, 1.05908, -0.274974, 0.08897

Фильтр N 6, KF=30 (Куфуд)

.001, 0.0061, -0.0182, 0.0381, -0.0643, 0.0935, -0.1223, 0.1472, -0.1607, 0.1368, 0.0298, -0.6949, 2.3397, -3.4031, 0.5326, 1.3371, 0.2972, 0.6032, -0.388, 0.5669, -0.5859, 0.6107, -0.5724, 0.4921,-0.379,2.2575,-0.149, 0.069, -0.0226, 0.0038

Таблица 2 (продолжение табл.1)

Коэффициенты линейных фильтров для решения прямой задачи ВЭЗ (rК из R или T).

N фильтра

7

8

9

10

11

Автор/ установка

Гош Веннера

Куфуд Веннера

Гош Доз

Абрамова Lin

Абрамова U - AM

Q

1.78

1.47

1.39

1.39

KF

10

14

23

19

20

KTM

3 (6)

4 (8)

6

7

7

ALFA

1.36

0.91439

1.09

1

1

M, NC

8,9

7, 8

21, 22

9, 10

5, 6


Фильтр N 7, KF=10 (Гош) для установки Веннера

.0067, 0.0179, -0.0253, 0.0416, -0.0935, 0.3473, -1.3341, 1.5662, 0.4582, 0.0284.=1.36/1.5 = 0.906. На Западе кривые ВЭЗ для уст. Веннера строят в координатах rК =f (a!!!), где а - AB/3, а не AB/2. Наша традиция - AB/2, отсюда коэффициент 1.5 в ALFA, без него - AB/3=a, с ним AB/2.

Фильтр N 8, KF=14 (Куфуд) для установки Веннера

.0006, -0.0042, 0.0193, -0.1029, 0.5670, -1.7514, 1.2348, 0.8415, 0.1380, 0.0589, -0.0086, 0.0091, -0.0031, 0.0008.

Аlfa еще не поделена на 1.5. После деления Alfa=0.609593

Фильтр N 9, (Гош) для установки ДОЗ. KF=23, KTM=6, K=21, M=22, ALFA=1.09

-0.027, 0.0594, -0.0666, 0.0757, -0.0871, 0.102, -0.1221, 0.1499, -0.1896, 0.2512, -0.3551, 0.5471, -0.9429, 1.8615, -4.1097, 8.4438, -11.3323, 5.3842, 1.3257, 0.2887, -0.2274, 0.0376, -0.067.(1)=(RN*2)*0.00109/(Q3), вводим начальный полуразнос RN, считаем сетку разносов, а Хнач. считаем по начальному разносу (полуразнос RN *2).

Фильтр N10, KF=19 (Абрамова, для линейных электродов), KTM=7, Q=1.39, ALFA=1., K= 9, M=10.

.0046089, 0.0788749, -0.4762351, 1.278870, -0.9818813, -1.113364, 0.6166727, 0.5743458, 0.3577397, 0.3792369, 0.09551803, 0.1008750, 0.05440269, -0.00432782, 0.06347805, -0.06804357, 0.07817738, -0.04533243, 0.01560043.

Фильтр N 11, (Абрамова, для потенциала, уст. AM) KF=20, KTM=7, Q=1.39, ALFA=1., K= 5, M=6.

-0.109926, 0.734726, -1.381082, 0.456885, 0.0198409, 0.107110, 0.476241, 0.0782097, 0.1514746, 0.230523, -0.0813157, 0.206489, 0.0685359, -0.265730, 0.452122, -0.0799535, -0.611089, 1.119350, -0.871370, 0.298966.

Таблица 3 (продолжение табл. 1, 2)

Фильтры 12-16 рассчитаны В.А.Шевниным с помощью программы FILTER

N фильтра

12

13

14

15

16

Установка

Шлюмберже

Веннера

ДОЗ

AM (U)

Lin

Q

1.39

1.39

1.39

1.39

1.39

KF

15

15

20

25

20

KTM

7

7

7

7

ALFA

1.005

1.14

1.135

1.75

1.11

M, NC

9, 10

9, 10

14, 15

9, 10

8, 9


Фильтр N 12, KF=15, уст. Шлюмберже, (S-16), Шевнин. KF=15, KTM=7, ALFA=1.005, M=9.

.015821, 0.203596, -1.222006, 3.856356, -5.567616, 2.414293, -0.758876, 2.122195, -0.671525, 0.783732, -0.290884, 0.169452, -0.031227, 0.003612, 0.004705

Среднеквадратичная ошибка (В %)= 0.0010484 %

Сумма коэффициентов фильтра = 0.9999861

Фильтр N 13, KF=15, уст. Веннера, (W-14), Шевнин. KF=15, KTM=7, ALFA=1.14, M=9.

.0060761, 0.0776724, -0.4517604, 1.2470370, -0.9712197, -1.1451320, 0.4341175, 0.7623470, 0.7153097, 0.0463033, 0.3228741, -0.1333170, 0.1333268, -0.0497029, 0.0181955

Среднеквадратичная ошибка(В %)= 0.00079071 %

Сумма коэффициентов фильтра = 0.9999747=1.14/1.5. На Западе кривые ВЭЗ для уст. Веннера строят в координатах

rК =F (a=AB/3!!!), а не АВ/2. У нас - AВ/2, отсюда коэф. 1.5 в ALFA, без него - (AB/3=a), с ним (AB/2).

Фильтр N 14, KF=20, уст. ДОЗ, (D-16), Шевнин. KF=20, KTM=7, ALFA=1.135, M=14.

.0000130, 0.0022634, -0.0213047, 0.1154131, -0.4859322, 1.7711440,-5.4590220, 12.2481200, -15.54753, 6.9440900, 0.3930209, 1.7350750, -0.8505089, 0.3898381,

.2843019, 0.0915451, -0.0438194, 0.0022785, 0.0017841, -0.0021373

Среднеквадратичная ошибка (В %)= 0.00075535 %

Сумма коэффициентов фильтра= 1.00000800

Фильтр N 15, KF=25, потенциал - установка AМ, (U-14), Шевнин. KF=25, KTM=7, ALFA=1.75, M=9.

.021050, -.227701, 0.930814, -1.523978, 1.010370, -1.427002, 2.077722, -1.872570, 2.660787, -2.567381, 3.158133, -3.199600, 3.597916, -3.667092, 3.881488, -3.868526, 3.862603, -3.656208, 3.360556, -2.868746, 2.263495, -1.553329, 0.883808, -0.361660, 0.084523

Среднеквадратичная ошибка (В %)= 0.00587683 %

Сумма коэффициентов фильтра = 0.99947610

Фильтр N 16, KF=20, уст. с линейными электродами, (L-7), Шевнин. KF=20, KTM=7, ALFA=1.1415, M=8.

.053496, -0.548818, 2.188049, -3.575252, 1.976495, -1.514297, 2.494498, -1.378438, 1.746731, -1.155709, 1.093076, -0.752920, 0.585868, -0.368543, 0.229502, -0.110088, 0.043526, -0.007170, -0.001801, 0.001788

Среднеквадратичная ошибка (В %)= 0.0011447 %

Сумма коэффициентов фильтра = 0.9999945

Листинг программы

Расчет кажущегося сопротивления от разноса

Dim Rho(4) As DoubleH(3) As DoubleNS As IntegerNR As Integer= TextBox11.Text= TextBox13.TextKF As IntegerKTM As IntegerAlfa As DoubleM As Doubleq As Double= 15rhok(NR - 1, KF - 1) As DoubleG(KF - 1) As Double(0) = -0.015821(1) = 0.203596(2) = -1.222006(3) = 3.856356(4) = -5.567616(5) = 2.414293(6) = -0.758876(7) = 2.122195(8) = -0.671525(9) = 0.783732(10) = -0.290884

G(11) = 0.169452(12) = -0.031227(13) = 0.003612(14) = 0.004705

' Считывание параметров УЭС

Rho(0) = TextBox1.Text(1) = TextBox2.Text(2) = TextBox3.Text(3) = TextBox4.Text

Rho(4) = TextBox5.Text

' Считывание параметров мощности слоев

H(0) = TextBox6.Text(1) = TextBox7.Text(2) = TextBox8.Text(3) = TextBox9.Text

' Присвоение значений параметрам фильтров= 7

Alfa = 1.005= 9= TextBox13.Textx(KF + NR - 1 - 1) As Doubler(NR - 1) As Doublekern(KF + NR - 1 - 1, NS - 1) As Double

r(0) = TextBox12.Text

' Расчет коэффициента геом. пр. q для сетки Х и r по значаниям КТМ= 10 ^ (1 / KTM)

' Расчет Х1 (0) = r(0) * Alfa / (q ^ M)

'Расчет сетки Х c коэфф. геом. пр. q

For i = 1 To (KF + NR - 1) Step 1

x(i - 1) = x(0) * (q ^ (i - 1))i

'Расчет разносов с коэфф. геом. пр. q

For i = 1 To NR Step 1

r(i - 1) = r(0) * (q ^ (i - 1))i

'Расчет значаний кернел-функции

'1 задаем всем последним кернелам значание 1

For j = 1 To KF + NR - 1 Step 1

kern(j - 1, NS - 1) = 1j

'2 расчет первых кернелов

For j = 1 To KF + NR - 1 Step 1i = NS - 1 To 1 Step -1(j - 1, i - 1) = (1 - ((1 - (Rho(i) / Rho(i - 1)) * kern(j - 1, i)) / (1 + (Rho(i) / Rho(i - 1)) * kern(j - 1, i)) * Math.Exp(-2 * H(i - 1) / x(j - 1)))) / (1 + ((1 - (Rho(i) / Rho(i - 1)) * kern(j - 1, i)) / (1 + (Rho(i) / Rho(i - 1)) * kern(j - 1, i)) * Math.Exp(-2 * H(i - 1) / x(j - 1))))ijrh(NR - 1) As Double

'расчет каж. сопр.j = 1 To NR

For i = 1 To KF(j - 1, i - 1) = Rho(0) * kern(i + j - 1 - 1, 0) * G(i - 1)iji = 1 To NR Step 1(i - 1) = rhok(i - 1, 0) + rhok(i - 1, 1) + rhok(i - 1, 2) + rhok(i - 1, 3) + rhok(i - 1, 4) + rhok(i - 1, 5) + rhok(i - 1, 6) + rhok(i - 1, 7) + rhok(i - 1, 8) + rhok(i - 1, 9) + rhok(i - 1, 10) + rhok(i - 1, 11) + rhok(i - 1, 12) + rhok(i - 1, 13) + rhok(i - 1, 14)

Next i

Сохранение файла с полученными данными в формате «xls» в указанную директорию

Dim oExcel As ObjectoBook As ObjectoSheet As Objectdrct As String= TextBox14.Text

'Открыть новую книгу Excel = CreateObject("Excel.Application") = oExcel.Workbooks.Add

'Добавить данные в ячейки первого листа новой книги

oSheet = oBook.Worksheets(1)i = 1 To NR Step 1.Range("A" & 1).value = "Rho".Range("A" & 1).Font.Size = 12.Range("A" & 1).HorizontalAlignment = 2.Range("A" & i + 1).value = rh(i - 1).Range("A" & i + 1).Font.Size = 12.Range("A" & i + 1).HorizontalAlignment = 2ii = 1 To NR Step 1.Range("B" & 1).value = "AB/2".Range("B" & 1).Font.Size = 12.Range("B" & 1).HorizontalAlignment = 2.Range("B" & i + 1).value = r(i - 1).Range("B" & i + 1).Font.Size = 12.Range("B" & i + 1).HorizontalAlignment = 2

Next i

'Сохранить книгу и закрыть Excel

Button1.Text = "Готово"

Очистка полей для дальнейшей работы

TextBox1.Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Clear().Text = "Счет".Text = "Укажите дирректорию (c:\Downloads\Blank.xls)"

Оформление программы

Рис.2. Окно с фильтрами.

Рис.3. Окно для создания модели и ее расчета.

Рис.4. Кривые ВЭЗ полученные для 3-х установок, после обработки экспортированной таблицы в Excel.

Вывод

В ходе этой курсовой была проделана довольно интересная работа. Мною были освоены некоторые навыки в программировании и в электроразведке. Работа казалась очень трудной, но когда дело подошло к концу, то сразу стало ясно, что не все так страшно, как казалось. Особую благодарность хотелось бы выразить Шевнину Владимиру Алексеевичу, за предоставленную курсовую и помощь в ней.

Список использованной литературы

линейная фильтрация программа зондирование

Куфуд О. Зондирование методом сопротивлений. - Пер. с англ. - М. Недра, 1984. -270с.

Вертикальное электрическое зондирование практикум курса «Основы геофизических методов» для студентов геологических специальностей: Методическое пособие. М.: 2007.

Шевнин В.А. Методические рекомендации по выполнению лабораорных работ по курсу «Электроразведка» - М.: МГУ, 2001

Ваньян Л.Л. Основы электромагнитных зондирований - М.: Недра, 1965

1.      

Похожие работы на - Прямая задача вертикального электрического зондирования

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!