Разработка программы для нахождения определенного интеграла методом средних прямоугольников
Ознакомление с возможностями языка программирования C+. Характеристика математического обеспечения. Изучение теории, необходимой для реализации задачи. Реализация решения задачи в доступном пользователям и отвечающем стандарту виде, описание интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 08.12.2015 |
Размер файла | 352,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Институт математики и компьютерных наук
Кафедра программного обеспечения
КУРСОВАЯ РАБОТА
По курсу: «Информатика»
На тему: «Разработка программы для нахождения определенного интеграла методом средних прямоугольников для функции типа
»
Выполнил:
Студент группы ИБ-146
Киренков Арсений Владимирович
Проверил: к. п. н., доцент кафедры ПО
Плотоненко Юрий Анатольевич
Тюмень 2014
Оглавление
Введение
Постановка задач
Математическое обеспечение
Описание алгоритма решения задачи
Реализация алгоритма на языке C++
Описание пользовательского интерфейса
Заключение
Список литературы
Введение
Суть курсовой работы заключается в отражении приобретенных знаний и практических навыков по курсу «Информатика».
Цель курсовой работы заключается в разработке программы, которая вычисляет определенный интеграл методом средних прямоугольников для функции типа (1).
(1)
Реализация программы включает в себя функции: возвращения подынтегральной функции, проверки количества точек разбиения отрезка интегрирования, интегрирования методом средних прямоугольников.
В основе работы программы лежит алгоритм интегрирования методом средних прямоугольников. Данный метод является оптимальным при работе с достаточно большими числами.
Данная тема весьма актуальна в наше время развития информационно-компьютерных технологий, ведь понимание принципов работы с подпрограммами, типами данных и операторами цикла является фундаментальным знанием. На основе данных структур программирования осуществляется реализация большинства существующих задач [3].
C++ -- компилируемый статически типизированный язык программирования общего назначения [2].
С++ был получен путем развития языка С и добавления в него аппаратной поддержки объектно-ориентированного программирования. Кроме того, С++ отличается от С набором библиотечных программ [1].
Во введении приводится описание, используемых структур данных в программе.
В разделе «Цели и задачи работы» приводятся цели и задачи данной программы, а также приводится условие задания, по которому нужно реализовать.
В разделе «Математическое обеспечение» приводится теория по интегрированию методом средних прямоугольников.
В разделе «Описание работы алгоритмов» приводится описание алгоритмов программы, с комментариями и пояснениями, а также блок схемы алгоритмов программы.
В разделе «Реализация алгоритма на языке C++» приведены основные моменты алгоритма с пояснениями.
В разделе «Описание пользовательского интерфейса» описывается, как работать с программой и приведены примеры различных сообщений, зависящих от вводимых данных.
В работе приводится "Заключение", в котором прописаны получившиеся результаты проделанной работы и соответствующие выводы.
Также указан "Список использованных источников": литература, которая требовалась при разработке алгоритмов программы, изучение теоретической части по данному вопросу.
Постановка задач
программирование интерфейс математический язык
Цель работы
Целью работы является разработка программы для различных пользователей на языке С++ для вычисления определенного интеграла методом средних прямоугольников: для функции типа (1).
Задачи:
Познакомиться с возможностями языка программирования C++.
Изучить теорию, необходимую для реализации задачи.
Реализовать решение задачи в доступном пользователям и отвечающем стандарту виде.
Входные данные
На входе пользователь вводит границы интегрирования типа double , количество точек разбиения отрезка интегрирования типа unsigned long int, коэффициенты подынтегральной функции типа double.
Выходные данные
На выход дается результат интегрирования типа double.
Функционал программы
int test (int n)
Получает на вход число n, являющееся количеством точек разбиения отрезка интегрирования. Полученное число сравнивает с единицей, если число меньше единицы возвращает 0, иначе 1.
double Pf (double x, double a, double b, double c)
Получает на вход четыре числа, a, b и c являющиеся коэффициентами подынтегральной функции,и число x, являющееся переменной. Возвращает значение функции.
double msp (double x1, double x2, double n)
Получает на вход три числа x1 и x2, являющиеся левой и правой границами интегрирования, и число n, являющееся количеством точек разбиения отрезка интегрирования. Просит ввести коэффициенты подынтегральной функции, далее определяет шаг разбиения отрезка, переменной result присваивает значение 0, с помощью цикла высчитывает значение функции в середине элементарного отрезка, двигаясь от левой границы интегрирования к правой границе интегрирования, и прибавляет к result.После выхода из цикла result домножается на значение шага разбиения отрезка. Возвращает результат интегрирования.
Математическое обеспечение
Суть метода средних прямоугольников
Пусть функция (2) непрерывна на отрезке [a; b]. Нам требуется вычислить определенный интеграл (3). Обратимся к понятию определенного интеграла. Разобьем отрезок [a; b] на n частей точками. Внутри каждого отрезка выберем точку . Так как по определению определенный интеграл есть предел интегральных сумм при бесконечном уменьшении длины элементарного отрезка разбиения (4) то любая из интегральных сумм является приближенным значением интеграла (5). Суть метода прямоугольников заключается в том, что в качестве приближенного значения определенного интеграла берут интегральную сумму [4].
Формула метода средних прямоугольников
Если отрезок интегрирования [a;b] разбить на равные части длины h точками . То есть (6), и в качестве выбрать середины элементарных отрезков (то есть (7)), то приближенное равенство (5) можно записать в виде (8). Это и есть формула средних прямоугольников, называется она так из-за способа выбора как на рисунке 1, (9) называется шагом разбиения отрезка [a;b] [4].
Рис. 1 - Графическая иллюстрация метода средних прямоугольников
Описание алгоритма решения задачи
Описательный алгоритм
Объявляем переменные x1, x2, a, b, c типа double(Вещественные числа), n типа unsigned long int(Целые) и cs типа int(Целые);
Вводим числа x1, x2 с клавиатуры;
Вводим n с клаватуры;
Переменной cs присваиваем результат выполнения функции test;
Если cs равно нулю перейти к пункту "3", иначе к пункту "4";
Объявляем переменные a, b, cтипа double(Вещественные числа);
Вводим числа a, b, cс клавиатуры;
Объявляем переменную dx;
Присваиваем переменной dx значение шага разбиения отрезка;
Объявляем переменную result;
Присваиваем переменной result значение 0;
Прибавить к переменной resultзначение функции в средней точке
Увеличить значение nна единицу;
Если значение переменной nдостигло введенного с клавиатуры числа перейти к пункту "4.9", иначе к пункту "4.6";
Перемножить переменные resultи dx;
Вывести result;
На рисунках 2, 3, 4, 5 изображена блок схема данного алгоритма.
Реализация алгоритма на языке C++
Происходит объявление переменных x1, x2, a, b, c, n, cs, которые необходимы для хранения: границ интегрирования, количества точек разбиения отрезка интегрирования, коэффициентов подынтегральной функции, результата выполнения функции test.
double x1, x2, a, b, c; // границы интегрирования, коэффициенты функции
unsigned long int n; // количество точек разбиения отрезка интегрирования
int cs; // переменная cs
Далее вводим границы интегрирования
cin >> x1
cin >>x2
Затем с помощью цикла while и функции test проверяем правильность введенной переменной n(предварительно определив n), если n меньше 1 то программа потребует ввести n заново.
while (true)
{cin >> n; //количество точек разбиения отрезка интегрирования
cs = test(n);
if (cs == 0)
cout << "\nЗначение n меньше единицы.\n";
else
break;}
В функции test происходит обработка введенных данных
int test(int n)
{if (n < 1)
return 0;
else
return 1;}
Далее с помошью функции msp вычисляется определенный интеграл, вводим коэффициенты подынтегральной функции с помощью формулы (9) вычисляем шаг разбиения отрезка интегрирования, двигаясь с лева на право вычисляем значение функции в средних точках и считаем сумму. Перемножаем сумму и шаг разбиения, выводим результат на экран.
double dx = fabs(x1 - x2) / n; //Шаг сетки
double result = 0;
for (int i = 0; i < n; i++)
{
result += Pf((x1 + dx*(i + 0.5)), a, b, c); //Вычисляем в средней точке и добавляем в сумму
}
result *= dx;
Описание пользовательского интерфейса
При запуске программы появляется окно интерпретатора командной строки. Для данной программы содержится пояснение для ввода: «Определите границы интегрирования x1, x2:», рисунок 6 после ввода левой и правой границы нажмите клавишу «Enter».
Рис. 6-Ввод границ интегрирования
После того как вы введете левую и правую границы интегрирования потребуется определить количество точек разбиения отрезка интегрирования, как на рисунке 7.
Рис. 7 - Ввод кол-ва точек разбиения отрезка интегрирования
Если значение n будет меньше единицы на экран будет выведено сообщение об ошибке и просьба ввести n повторно, как на рисунке 8.
Далее вам потребуется ввести коэффициенты подынтегральной функции, как на рисунке 9.
Рис. 9 - Ввод коэффициентов подынтегральной функции
В итоге на экране появится результат интегрирования, как на рисунке 10.
Рис. 10 - Результат интегрирования
Заключение
В ходе написания данной курсовой работы была создана программа, реализованная на языке программирования С++. Представлены блок схемы для алгоритмов, которые использует программа, кроме того приведено текстовое описание работы программы. Присутствует инструкция для пользователя, в которой представлены основные требования работы с данной программой, была проанализирована учебно-научная литература по теории интегрирования методом средних прямоугольников.
Все данные пользователь вводит вручную. Программа реализована через отдельные независимые функции.
Все поставленные задачи были выполнены полностью.
Список литературы
1. Прата, С. Язык программирования C++. Лекции и упражнения. DiaSoft. 2005 - 1102 с.
2. Шилдт, Г. C++. Руководство для начинающих. Вильямс, 2005 - 668 с.
3. Лафоре Р. Объектно-ориентированное программирование в С++. М.: Питер, 2004. -- 992 c.
4. Метод прямоугольников. // CLEVERSTUDENTS.RU
5. URL:http://www.cleverstudents.ru/definite_integral/method_of_rectangles.html
Размещено на Allbest.ru
...Подобные документы
Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.
курсовая работа [96,1 K], добавлен 25.06.2013Обзор элементов языка программирования Паскаль, решение задач путем использования численных методов на компьютере. Алгоритм нахождения интеграла функции с помощью метода прямоугольников. Комплекс технических средств, необходимых для решения задачи.
контрольная работа [36,6 K], добавлен 07.06.2010- Разработка программы, вычисляющей определенный интеграл методом трапеций для подынтегральной функции
Разработка алгоритма решения определенного интеграла методом трапеций для подынтегральной функции и моделирования задачи вынужденных колебаний без затухания. Описание интерфейса программы в среде Delphi и MathCad; идентификаторы, модули и приложения.
курсовая работа [500,4 K], добавлен 28.05.2013 Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.
курсовая работа [593,6 K], добавлен 09.07.2012Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.
курсовая работа [832,6 K], добавлен 24.07.2012Назначение программы, ее пользователи, основные функции и цели, которые преследуются при разработке. Теоретические основы разработки, выбор инструментальных средств. Разработка пользовательского интерфейса. Архитектура программы, основные функции.
курсовая работа [1,1 M], добавлен 04.04.2012Средства Delphi для разработки Windows приложений. Математическая формулировка задачи, описание программы вычисления определенного интеграла по формуле левых прямоугольников. Руководство пользователя, методика испытаний продукта. Листинг программы.
курсовая работа [178,1 K], добавлен 14.11.2010Программа вычисления интеграла методом прямоугольников. Решение задачи Коши для дифференциальных уравнений. Модифицированный метод Эйлера. Методы решения краевой задачи для обыкновенного дифференциального уравнения. Задачи линейного программирования.
методичка [85,2 K], добавлен 18.12.2014Описание алгоритма решения транспортной задачи по планированию перевозки зерна. Ход решения задачи вручную, в программе TORA методом наименьшего элемента, с помощью MS Excel. Разработка программы для решения задачи в общем виде средствами Delphi.
курсовая работа [2,5 M], добавлен 22.11.2012Постановка задачи линейного программирования. Решение системы уравнений симплекс-методом. Разработка программы для использования симплекс-метода. Блок-схемы основных алгоритмов. Создание интерфейса, инструкция пользователя по применению программы.
курсовая работа [1,7 M], добавлен 05.01.2015Создание программы для составления оптимального плана закупки товара у поставщиков, его реализация с помощью простого и модифицированного симплекс-методов. Проектирование математического обеспечения решения задачи. Описание пользовательского интерфейса.
курсовая работа [1,2 M], добавлен 21.01.2011Описание предметной области решаемой задачи. Входные документы, необходимые для решения задачи, ее функции. Разработка информационного обеспечения задачи и реквизиты входной информации. Технология и алгоритмов решения задачи и их машинная реализация.
контрольная работа [15,1 K], добавлен 21.10.2010Решение биквадратного уравнения методом введения новой переменной. Создание программы с понятным интерфейсом. Математические и алгоритмические основы решения задачи. Алгебраическое уравнение четвертой степени. Программная реализация решения задачи.
курсовая работа [412,5 K], добавлен 02.02.2010Разработка программы нахождения значения определенного интеграла с помощью метода трапеций. Оценка абсолютной погрешности метода. Использование среды программирования Visual Studio Community 2015 для написания программы. Работа с графическим интерфейсом.
курсовая работа [573,8 K], добавлен 17.03.2016MPI - библиотека передачи сообщений на языке программирования C/C++, ее переносимость, стандартизация, эффективная работа, функциональность. Форматы фактических вызовов MPI. Метод прямоугольников для приближенного вычисления определенного интеграла.
курсовая работа [286,0 K], добавлен 20.06.2012Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.
курсовая работа [1,4 M], добавлен 04.06.2013Математическое описание, алгоритм и программа вычисления определенного интеграла методом трапеций. Расчет n-значений исследуемой функции и вывод их в виде таблицы. Технические и программные средства. Входные и выходные данные, функциональное назначение.
курсовая работа [21,0 K], добавлен 03.01.2010Разработка программы, которая по заданной самостоятельно функции будет выполнять интегрирование методом прямоугольников. Блок-схема алгоритма вычисления интеграла (функция rectangle_integrate). Экспериментальная проверка программы, ее текст на языке C.
курсовая работа [232,0 K], добавлен 27.05.2013Описание симплекс метода решения задачи линейного программирования. Решение задачи методом Литла на нахождение кратчайшего пути в графе, заданном графически в виде чертежа. Из чертежа записываем матрицу расстояний и поэтапно находим кратчайший путь.
задача [390,4 K], добавлен 10.11.2010Задачи, решаемые методом динамического программирования. Основные этапы нахождения деревянного алгоритма решения задачи. Выполнение алгоритма Прима. Построение Эйлерового цикла. Решение задач средствами Excel. Алгоритм основной программы - Derevo.
курсовая работа [586,3 K], добавлен 04.04.2015