Разработка программы по вычислению приближенного значение определённого интеграла методом трапеций и Симпсона - Программирование, компьютеры и кибернетика курсовая работа
![](/file/c17a668ccb7333e986a5a.jpg)
Главная
Программирование, компьютеры и кибернетика
Разработка программы по вычислению приближенного значение определённого интеграла методом трапеций и Симпсона
Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона.
Рассмотрен ход вычисления интеграла в виде кода программы.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
интеграл трапеция симпсон код программа
При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функций, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости разработки приближенных методов вычисления определенных интегралов. Целью работы является создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол).
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА ПО ФОРМУЛЕ ТРАПЕЦИЙ И МЕТОДОМ СИМПСОНА
Численные методы - это достаточно большой раздел высшей математики, для которого на практике, в контрольных работах, традиционно предлагается решение таких распространенных задач как приближенное вычисление определенных интегралов. В этой курсовой работе я рассмотрю два метода приближенного вычисления определенного интеграла - метод трапеций и метод Симпсона.
Сначала зададимся вопросом, а зачем вообще нужны приближенные вычисления? Вроде бы можно найти первообразную функции и использовать формулу Ньютона-Лейбница, вычислив точное значение определенного интеграла. В качестве ответа на вопрос сразу рассмотрим демонстрационный пример с рисунком.
В данном примере интеграл не берётся (неберущийся), так называемый интегральный логарифм. Изобразим на чертеже график подынтегральной функции :
Всё нормально. Подынтегральная функция непрерывна на отрезке и определенный интеграл численно равен заштрихованной площади. Поскольку интеграл не берётся, мы применяем численные методы. При этом задача встречается в двух формулировках:
1) Вычислить определенный интеграл приближенно, округляя результат до определённого знака после запятой. Например, до двух знаков после запятой, до трёх знаков после запятой и т.д. Предположим, получился приближенный ответ 5,347. На самом деле он может быть не совсем верным (в действительности, скажем, более точный ответ 5,343). Наша задача состоит лишь в том, чтобы округлить результат до трёх знаков после запятой.
2) Вычислить определенный интеграл приближенно, с определённой точностью. Например, вычислить определённый интеграл приближенно с точностью до 0,001. Что это значит? Это значит, мы должны отыскать такое приближенное значение, которое по модулю (в ту или другую сторону) отличается от истины не более чем на 0,001.
Существуют несколько основных методов приближенного вычисления определенного интеграла, который встречается в задачах:
Метод прямоугольников. Отрезок интегрирования разбивается на несколько частей и строится ступенчатая фигура, которая по площади близка к искомой площади:
В данном примере проведено разбиение отрезка интегрирования на три отрезка: . Очевидно, что чем чаще разбиение (больше более мелких промежуточных отрезков), тем выше точность. «Ступенчатое» приближение является самым простым, и, видимо, поэтому довольно редко встречается в практических задачах.
Метод трапеций. Идея аналогична. Отрезок интегрирования разбивается на несколько промежуточных отрезков, и график подынтегральной функции приближается ломаной линией:
Таким образом, наша площадь приближается суммой площадей трапеций. Отсюда и название метода. Легко заметить, что метод трапеций даёт значительно лучшее приближение, чем метод прямоугольников (при одинаковом количестве отрезков разбиения). И, естественно, чем больше более мелких промежуточных отрезков мы рассмотрим, тем будет выше точность.
Метод Симпсона (метод парабол). Это более совершенный способ - график подынтегральной функции приближается не ломаной линией, а маленькими параболками. Сколько промежуточных отрезков - столько и маленьких парабол. Если взять те же три отрезка, то метод Симпсона даст ещё более точное приближение, чем метод прямоугольников или метод трапеций.
Чертеж визуально будет иметь примерно такой вид: приближение будет накладываться на график функции .
Задача на вычисление определенного интеграла по формуле Симпсона - самая популярное задание на практике.
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕН НОГО ИНТЕГРАЛА МЕТОДОМ ТРАПЕЦИЙ
Рассмотрим определенный интеграл , где - функция, непрерывная на отрезке . Проведём разбиение отрезка на равных отрезков:
. При этом, очевидно: (нижний предел интегрирования) и (верхний предел интегрирования). Точки также называют узлами.
Тогда определенный интеграл можно вычислить приближенно по формуле трапеций:
- длина каждого из маленьких отрезков или шаг;
- значения подынтегральной функции в точках .
Вычислить приближенно определенный интеграл по формуле трапеций. Результаты округлить до трёх знаков после запятой.
а) Разбив отрезок интегрирования на 3 части.
б) Разбив отрезок интегрирования на 5 частей.
По условию отрезок интегрирования нужно разделить на 3 части, то есть .
Вычислим длину каждого отрезка разбиения: . Параметр также называют шагом.
Точек (узлов разбиения) будет на одну больше, чем количество отрезков:
А общая формула трапеций сокращается до таких размеров:
Для расчетов можно использовать обычный микрокалькулятор:
В соответствии с условием задачи, все вычисления следует округлять до 3-го знака после запятой.
б) Разобьём отрезок интегрирования на 5 равных частей, то есть .
Если , то формула трапеций принимает следующий вид:
, то есть, длина каждого промежуточного отрезка равна 0,6.
При чистовом оформлении задачи все вычисления удобно оформлять расчетной таблицей:
В первой строке записываем «счётчик»
Вторая строка формируется так - сначала записываем нижний предел интегрирования , остальные значения получаем, последовательно приплюсовывая шаг .
Нижняя строка заполняется по следующему принципу - например, если , то .
Итак, если для 3 отрезков разбиения приближённое значение составило, то для 5 отрезков . Таким образом, с большой долей уверенности можно утверждать, что, по крайне мере .
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГ О ИНТЕГРАЛА ПО ФОРМУЛЕ СИМПСОНА
Рассмотрим определенный интеграл , где - функция, непрерывная на отрезке . Проведём разбиение отрезка на чётное количество равных отрезков. Чётное количество отрезков обозначают через .
Внимание! Число понимается как единое число. То есть, нельзя сокращать, например, делить на два, получая . Запись лишь обозначает, что количество отрезков чётно.
Итак, наше разбиение имеет следующий вид:
Термины аналогичны терминам метода трапеций:
Формула Симпсона для приближенного вычисления определенного интеграла имеет следующий вид:
- длина каждого из маленьких отрезков или шаг;
- значения подынтегральной функции в точках .
Детализируя это нагромождение, разберу формулу подробнее:
- сумма первого и последнего значения подынтегральной функции;
- сумма членов с чётными индексами умножается на 2;
- сумма членов с нечётными индексами умножается на 4.
Вычислить приближенно определенный интеграл по формуле Симпсона с точностью до 0,001. Разбиение начать с двух отрезков
Решение: Обращая внимание на тип задания можно заметить, что определенный интеграл необходимо вычислить с определенной точностью. Как и для метода трапеций, существует формула, которая сразу позволит определить нужное количество отрезков (значение «эн») чтобы гарантированно достичь требуемой точности. По ходу решения задачи станет необходимо находить четвертую производную. Это достаточно сложно, поэтому на практике практически всегда используется упрощенный метод оценки погрешности.
Начало решения. Если у нас два отрезка разбиения , то узлов будет на один больше: . И формула Симпсона принимает весьма компактный вид:
В верхнюю строку записываем «счётчик» индексов
Во второй строке сначала пишем нижний предел интегрирования , а затем последовательно приплюсовываем шаг .
В третью строку заносим значения подынтегральной функции. Например, если , то . Принцип для определения знаков после запятой тот же, что и в методе трапеций, смотрим на требуемую точность: 0,001. И прибавляем дополнительно 2-3 разряда. То есть, округлять нужно до 5-6 знаков после запятой.
Первичный результат получен. Теперь удваиваем количество отрезков до четырёх: . Формула Симпсона для данного разбиения принимает следующий вид:
Найдём абсолютное значение разности между приближениями:
Если при использовании метода средних прямоугольников и метода трапеций нам даётся пособление в одну треть, то сейчас - оно составляет одну пятнадцатую:
, и точность здесь уже не страдает:
Классы и объекты в С++ являются основными концепциями объектно-ориентированного программирования -- ООП. Объектно-ориентированное программирование -- расширение структурного программирования, в котором основными концепциями являются понятия классов и объектов. Основное отличие языка программирования С++ от С состоит в том, что в С нет классов, а следовательно язык С не поддерживает ООП, в отличие от С++.
Классы в С++ -- это абстракция описывающая методы, свойства, ещё не существующих объектов. Объекты -- конкретное представление абстракции, имеющее свои свойства и методы. Созданные объекты на основе одного класса называются экземплярами этого класса. Эти объекты могут иметь различное поведение, свойства, но все равно будут являться объектами одного класса. В ООП существует три основных принципа построения классов:
1. Инкапсуляция -- это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.
2. Наследование -- это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.
3. Полиморфизм -- свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
/* методы и поля класса, которые доступны только в этом классе и для
работы с этими полями реализуются такие функции как get и set */
/* список методов доступных для всех классов*/
/* список методов доступных в классах наследниках */
Объявление класса начинается с зарезервированного ключевого слова class, после которого пишется имя класса. В фигурных скобочках, строки 3 -- 10 объявляется тело класса, причём после закрывающейся скобочки обязательно нужно ставить точку с запятой, строка 10. В теле класса объявляются три метки спецификации доступа, строки 4, 6, 8, после каждой метки нужно обязательно ставить двоеточие. В строке 4 объявлена метка спецификатора доступа private. Все методы и свойства класса, объявленные после спецификатор доступа private будут доступны только внутри класса. В строке 6 объявлен спецификатор доступа public, все методы и свойства класса, объявленные после спецификатора доступа public будут доступны другим функциям и объектам в программе. При объявлении класса, не обязательно объявлять три спецификатора доступа, и не обязательно их объявлять в таком порядке. Но лучше сразу определиться с порядком объявления спецификаторов доступа, и стараться его придерживаться. Разработаем программу, в которой объявим простейший класс, в котором будет объявлена одна функция, печатающая сообщение.
// classes.cpp: определяет точку входа для консольного приложения.
void message() // функция (метод класса) выводящая сообщение на экран
cout << "website: cppstudio.com\ntheme: Classes and Objects in C + +\n";
}; // конец объявления класса CppStudio
CppStudio objMessage; // объявление объекта
objMessage.message(); // вызов функции класса message
В строках 7 -- 14 мы определили класс с именем CppStudio. Имя класса принято начинать с большой буквы, последующие слова в имени также должны начинаться с большой буквы. В теле класса объявлен спецификатор доступа public, который позволяет вызывать другим функциям методы класса, объявленные после public. Вот именно поэтому в главной функции, в строке 19 мы смогли вызвать функцию message(). В классе CppStudio объявлена всего одна функция, которая не имеет параметров и выводит сообщение на экран, строка 12. Методы класса -- это те же функции, только объявлены они внутри класса, поэтому всё, что относится к функциям актуально и для методов классов. Объявление классов выполняется аналогично объявлению функций, то есть класс можно объявлять в отдельном файле или в главном файле. В строке 18 объявлена переменная objMessage типа CppStudio, так вот, переменная objMessage -- это объект класса CppStudio. Таким образом, класс является сложным типом данных. После того как объект класса объявлен, можно воспользоваться его методами. Метод всего один -- функция message(). Для этого обращаемся к методу объекта objMessage через точку, как показано в строке 19, в результате программа выдаст текстовое сообщение (см. Рисунок 1).
SET -- ФУНКЦИИ И GET -- ФУНКЦИИ КЛАССОВ
Каждый объект имеет какие-то свои свойства или атрибуты, которые характеризуют его на протяжении всей жизни. Атрибуты объекта хранятся в переменных, объявленных внутри класса, которому принадлежит данный объект. Причём, объявление переменных должно выполняться со спецификатором доступа private. Такие переменные называются элементами данных. Так как элементы данных объявлены в private, то и доступ к ним могут получить только методы класса, внешний доступ к элементам данных запрещён. Поэтому принято объявлять в классах специальные методы -- так называемые set и get функции, с помощью которых можно манипулировать элементами данных. set-функции инициализируют элементы данных, get-функции позволяют просмотреть значения элементов данных. Доработаем класс CppStudio так, чтобы в нём можно было хранить дату в формате дд.мм.гг. Для изменения и просмотра даты реализуем соответственно set и get функции.
// classes.cpp: определяет точку входа для консольного приложения.
private: // спецификатор доступа private
public: // спецификатор доступа public
void message() // функция (метод класса) выводящая сообщение на
cout << "\nwebsite: cppstudio.comntheme: Classes and Objects in
void setDate(int date_day, int date_month, int date_year) // установка
day = date_day; // инициализация день
month = date_month; // инициализация месяц
year = date_year; // инициализация год
void getDate() // отобразить текущую дату
cout << "Date: " << day << "." << month << "." << year << endl;
}; // конец объявления класса CppStudio
setlocale(LC_ALL, "rus"); // установка локали
cout << "Введите текущий день месяц и год!\n";
CppStudio objCppstudio; // объявление объекта
objCppstudio.message(); // вызов функции класса message
objCppstudio.setDate(day, month, year); // инициализация даты
objCppstudio.getDate(); // отобразить дату
В определении класса появился новый спецификатор доступа private, строка 9. Данный спецификатор доступа ограничивает доступ к переменным, которые объявлены после него и до начала спецификатора доступа public, строки 9 -- 12. Таким образом, к переменным day, month, year, могут получить доступ только методы класса. Функции, не принадлежащие классу, не могут обращаться к этим переменным. Элементы данных или методы класса, объявленные после спецификатора доступа private, но до начала следующего спецификатора доступа называются закрытыми элементами данных и закрытыми методами класса. Следуя принципу наименьших привилегий и принципу хорошего программирования, целесообразно объявлять элементы данных после спецификатора доступа private, а методы класса -- после спецификатора доступа public. Тогда, для манипулирования элементами данных, объявляются специальные функции -- get и set. В класс CppStudio мы добавили два метода setDate() и getDate(), подробно рассмотрим каждый метод. Метод setDate() определён с 18 по 23 строки. Как уже ранее упоминалось, set -- функции инициализируют элементы данных, поэтому метод setDate() выполняет именно такую функцию. То есть метод setDate() инициализирует переменные day, month, year. Чтобы просмотреть, значения в закрытых элементах данных объявлена функция getDate(), которая возвращает значения из переменных day, month, year в виде даты. На этом определение класса закончено, в main(), как и всегда, создаем объект класса, и через объект вызываем его методы, строки 39 -- 41. Если бы элементы данных были объявлены после спецификатора public, мы бы смогли к ним обратиться точно так же, как и к методам класса. Результат работы программы показан на рисунке 2.
}; // конец объявления класса CppStudio
}; // конец объявления класса CppStudio
Ш Тело цикла for будет выполняться до тех пор, пока условие будет истинно (т. е. true).
// форма записи оператора цикла for:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/ )
/*один оператор или блок операторов*/;
Если в теле цикла for должен выполниться один оператор, тогда фигурные скобки можно опустить:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/)
Ш Оператор цикла while или цикл while -- цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остаётся истинным.
while (/*условие продолжения цикла while*/)
Условие продолжения цикла должно быть истинно true, как только условие стало ложным, выполняется выход из цикла. Также как и в условных операторах выбора, фигурные скобочки могут опускаться в том случае, если тело цикла -- это один оператор. Но, как правило, в цикле выполняется несколько операторов, так как кроме выполнения полезного действия необходимо делать условие цикла while ложным, иначе цикл будет бесконечным, а это, в свою очередь, приведет к зависанию программы.
Ш Цикл do while отличается от цикла while тем, что в do while сначала выполняется тело цикла, а затем проверяется условие продолжения цикла. Из-за такой особенности do while называют циклом с постусловием. Таким образом, если условие do while заведомо ложное, то хотя бы один раз блок операторов в теле цикла do while выполнится. В итоге do while отличается от цикла while структурой. Если в while сначала выполняется проверка условия продолжения цикла, и если условие истинно, то только тогда выполняется тело цикла. Цикл do while работает с точностью до наоборот, сначала выполняется тело цикла, а потом проверяется условие, вот почему тело цикла do while, хотя бы раз, выполнится.
// форма записи оператора цикла do while:
while (/*условие выполнения цикла*/); // конец цикла do while
В начале цикла do while пишется зарезервированное слово do, после идут фигурные скобочки, которые можно опускать, в случае использования одного оператора в теле цикла do while. После закрывающей фигурной скобочки, обозначающей конец тела цикла do while, стоит условие цикла do while, после которого обязательно нужно ставить точку с запятой.
Программа разрабатывается в объектно-ориентированной среде программирования Visual Studio 2017, как консольное приложение.
// ConsoleApplication7.cpp: определяет точку входа для консольного приложения.
using namespace std; // начало объявления класса
class integralTrap // имя класса для вычисления интеграла методом трапеции
public: // спецификатор доступа public
integralTrap(double A, double B, double N, double EPS) {
double x = a; // значению x присвоим значение нижнего предела
double S = 0; // изначально обнуляем значение площади интеграла
S = S + (f(x + n) + f(x))*n / 2; // вычисление площади по формуле
if (0.5*(f(x + n) + f(x))*n >= eps) // если разность значения площади и предыдущего значения площади меньше или равна заданной точности Eps, то выводим значение на экран
private: // спецификатор доступа private
}; // конец объявления класса integralTrap
class integralSimp // имя класса для вычисления интеграла методом Симпсона
public: // спецификатор доступа public
integralSimp(double A, double B, double N, double EPS) {
const double h = (b - a) / n; // формула вычисления шага
return h / 3 * (f(a) + 4 * k1 + 2 * k2); // вычисление площади по формуле
double s1 = simpson_integral(); // первое приближение для интеграла
n = 2 * n; // увеличение числа шагов в два раза,
// т.е. уменьшение значения шага в два раза
} while (fabs(s1 - s) > eps); // если разность значения площади и предыдущего значения площади меньше или равна заданной точности Eps, то выводим значение на экран
private: // спецификатор доступа private
}; // конец объявления класса integralSimp
const double a = 0; // значение нижнего предела
const double b = 3.14; // значение верхнего предела
cout << "Integral : (sin3x/2 + 0.5)dx" << endl;
cout << "Interval : [0 , 3.14]" << endl;
cout << "Enter accurancy - Eps" << endl;
integralSimp simp = integralSimp(a, b, n, eps);
cout << "Result of method Simpsona :" << endl;
cout << "Result of method trapeze" << endl;
integralTrap traps = integralTrap(a, b, n, eps);
cout << "Press any button for exit" << endl;
Запускается программа с помощью сочетания клавиш Ctrl+F5. После их нажатия открывается файл с выведенным интегралом и его интервалом, а также сообщением о введении точности Eps.
После введения точности Eps=0.0001, в файле видим следующую запись: первое - Результат метода Симпсона: 2.2382 и второе - Результат метода трапеции: 2.02138.
Для продолжения программирования либо же завершения работы в Visual Studio 2017 требуется нажать любую клавишу.
В процессе разработки курсовой работы были проработаны следующие методы вычисления определенных интегралов - метод трапеций и метод Симпсона (парабол). Был представлен ход вычисления интеграла в виде кода программы, благодаря которой и задавалась проверка на точность вычислений.
Также в процессе выполнения курсовой работы были закреплены практические навыки по разработке пользовательских приложений при помощи объектно-ориентированного языка программирования в Visual Studio 2017 и современных компьютерных технологий обработки информации и навыки в составлении текстовой документации.
Разработанный мною код программы предоставит пользователю больше свободного времени, чем он имел бы, если бы вычислял определённый интеграл самостоятельно. А поскольку данная программа решает заданный интеграл двумя методами одновременно специалист своего дела может скорее перейти к задачам физического и технического характеров.
1. Михеева Е.В. Информационные технологии в профессиональной деятельности: Учебное пособие для сред. проф. образования. - 2-е издание, стер. - М.: Издательский центр "Академия", 2005. - 384 с.
2. http://mathprofi.ru/formula_simpsona_metod_trapecij.html
Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления. курсовая работа [483,6 K], добавлен 25.06.2014
Методы вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол). Примеры применения, блок-схемы методов трапеций и Симпсона. Разработка программы в объектно-ориентированной среде программирования Lazarus, конструирование интерфейса. реферат [2,1 M], добавлен 18.04.2011
Формулирование и создание программы по вычислению определенного интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. Выбор Delphi как программного средства разработки программы. Создание алгоритма и листинг программы. курсовая работа [990,9 K], добавлен 15.06.2009
Рассмотрение методов прямоугольников и трапеций как способов вычисления определенных интегралов. Характеристика графика зависимости погрешности от числа разбиений N. Создание приложения по вычислению интеграла с помощью методов приближенного вычисления. курсовая работа [1,6 M], добавлен 20.06.2012
Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений. курсовая работа [832,6 K], добавлен 24.07.2012
Идея численного интегрирования. Создание программы, вычисляющей определенный интеграл методом трапеций. Листинг программы, результаты работы. Проверка в среде Mathcad. Зависимость точности вычисления от количества отрезков разбиения, расчет погрешности. отчет по практике [106,8 K], добавлен 28.04.2013
Рассмотрение методов приближенного численного анализа. Формулы интегрирования, прямоугольников, трапеций, формула Симпсона. Оценка погрешностей интегрирования. Вычисление интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. курсовая работа [995,7 K], добавлен 09.07.2012
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Разработка программы по вычислению приближенного значение определённого интеграла методом трапеций и Симпсона курсовая работа. Программирование, компьютеры и кибернетика.
Лабораторная Работа Микроклимат Помещений
Доклад: Гримм
Курсовая работа по теме Проблемные вопросы взаимоувязки отчетных форм на примере организации ОАО "Омскагрегат"
Контрольная Работа По Геометрии Многогранники
Дуэль Базарова И Одинцовой Сочинение
Реферат по теме Сравнение характеристик танков Второй мировой войны
Реферат: Вопросы квалификации преступлений против военной службы
Курсовая работа по теме Обеспечение безопасности движения поездов
Тема Предстоящего Сочинения Летние Радости 5
Реферат Про Гитлера
Доклад по теме С чего начинается радиореклама
Курсовая Работа На Тему Порядок Организации Управленческого Учета Постоянных И Переменных Затрат
Дипломная работа по теме Разработка программного продукта
Фолиевая Кислота Реферат
Гдз По Химии 10 Лабораторная Работа
Экономические Последствия Чрезвычайных Ситуаций Реферат
Эссе По Англ Сколько Слов
Сочинение На Тему Митрофан
Реферат: Крестьянский вопрос в России и его решение правительством в XIX веке
Производственная Практика Отчет Информационные Технологии
Токсоплазмоз у детей - Медицина реферат
Кримінально-виконавче законодавство України - Государство и право реферат
Тактика фельдшера в диагностике невынашивания и переношенной беременности - Медицина презентация