Разработка программы для нахождения определенного интеграла методом средних прямоугольников

Ознакомление с возможностями языка программирования 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.