ГЛАВА 2. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ВЫЧИСЛЕНИЯ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА МЕТОДОМ ПРЯМОУГОЛЬНИКОВ
2.1 Постановка задачи
Задание. Необходимо осуществить вычисление определенного интеграла методом прямоугольников на языке программирования C++ и провести проверку правильности работы программы.
1. Постановка задачи.
Для того, чтобы не повторять вычислений, воспользуемся примером из п. 1.6. Следовательно, пределы интегрирования зададим от 2 до 5, а количество промежутков разбиения сделаем равным 12.
Основываясь на этих данных в функции вычисления интеграла выполним следующие действия, в соответствии с формулой интегрирования методом прямоугольников:
- определим шаг сетки (h);
- организуем цикл от 1 до 12 (т.к. n=12);
- суммируем значения подынтегральной функции в средней точке на каждой итерации;
- выполним произведение полученной суммы на шаг сетки.
Возвращаемым значением функции будет значение искомого интеграла.
2. Входные данные программы.
Программа будет работать с произвольно заданной функцией. При изменении соответствующих параметров в тексте программы вычисляются определенные интегралы и других функций.
2.2 Разработка алгоритма данной программы
Рисунок 5. Блок-схема алгоритма программы.
2.3 Листинг программы
Для написания программы, выполняющей указанные преобразования, будет использован язык C++, так как этот язык наиболее знаком и понятен.
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
double InFunction(double x) //Подынтегральная функция
{
return (x*x); //Например, 3*x*cos(x)
}
double CalcIntegral(double a, double b, int n)
{
do {
cout << "n: " << "\n n= ";
cin >> n;
} while (n <= 0);
do {
cout << "a= ";
cin >> a;
cout << "b= ";
cin >> b;
} while (a >= b);
int i;
double result, h;
result = 0;
h = (b - a) / n; //Шаг сетки
for (i = 0; i < n; i++)
{
result += InFunction(a + h * (i + 0.5)); //Вычисляем в средней точке и добавляем в сумму
}
result *= h;
return result;
}
int main(void)
{
double integral;
integral = CalcIntegral(2, 5, 12);
printf("The value of the integral is: %lf \n", integral);
system("pause");
return 0;
}
2.4 Общий вид программы
Рисунок 6. Вид кода программы.
Рисунок 7. Вид окна консоли.
2.5 Экспериментальная проверка программы
Объектом проверки является программа, реализующая указанные вычисления. Целью проверки является выявление ошибок, возникающих при работе данной программы.
Проверим правильность работы программы. Для этого введем пределы интегрирования противоречащие условию, например, a<b, а также .
Рисунок 8. Экспериментальная проверка программы.
Итак, при вводе данных, не соответствующих условию задания, программа повторно запрашивает ввод до тех пор, пока пользователь не введет данные, удовлетворяющие поставленным условиям.
В ходе экспериментальной проверки установлено, что разработанная программа правильно выполняет все необходимые преобразования.
ЗАКЛЮЧЕНИЕ
В ходе выполнения данной курсовой работы была создана программа, реализующая приближенное вычисление определенного интеграла методом прямоугольников по самостоятельно заданной функции.
В процессе написания курсовой работы были:
- приведены понятия и раскрыта суть метода;
- изучены основы программирования на языке C++;
- разработан алгоритм программы;
- выполнена проверка правильности работы программы.
Все перечисленное очень важно для дальнейшего обучения и последующей работы по специальности.
СПИСОК ЛИТЕРАТУРЫ
1. Письменный Д.Т. Конспект лекций по высшей математике. Полный курс - М.: Айрис-пресс, 2015. - 608 с.
2. Сборник задач по высшей математике. 1 курс / К.Н. Лунгу, Д.Т. Письменный, С.Н. Федин, Ю.А. Шевченко. - 9-е изд. - М.: Айрис-пресс, 2017. - 576 с.
3. Макконнелл С. Совершенный код. Практическое руководство по разработке программного обеспечения / Пер. с англ. - Вшивцев В.Г. - М.: BHV, 2017. - 896 с.
4. Лафоре Р. Объектно-ориентированное программирование в С++ / Пер. с англ. - Шрага В. - СПб.: Питер, 2018. - 928 с.
5. Мартин Р. Чистый код: создание, анализ и рефакторинг. Библиотека программиста / Пер. с англ. - Матвеев Е. - СПб.: Питер, 2011. - 464 с.
6. Иванова, Т.В. Численные методы в оптике [Текст]: учебное пособие / Т. В. Иванова. -- СПб.: Университет ИТМО, 2017. -- 84 c.
7. Кузнецов, И.Н. Рефераты, курсовые и дипломные работы. Методика подготовки и оформления [Текст] : учебно-методическое пособие / И.Н. Кузнецов. -- Москва : Дашков и К, 2016. -- 340 c.
8. Черпаков, И.В. Основы программирования: Учебник и практикум для прикладного бакалавриата [Текст] / И.В. Черпаков. -- Люберцы: Юрайт, 2016. -- 219 c.
9. Кветкина, Ю.Е. Вычисление интегралов по формулам прямоугольников и трапеций. Оценка погрешности / Ю. Е. Кветкина // Математика, информатика. -- 2008.
10. Ильин, В.А. Высшая математика [Текст] / В.А. Ильин, А.В. Куркина. -- Москва : Проспект, 2012. - 608 c.
11. Садовничая, И.В. Определенный интеграл. Теория и практика вычислений [Текст] / И.В. Садовничая, Е.В. Хорошилова. -- Москва : ВМиК МГУ, МАКС Пресс, 2008. -- 528 с.
12. Пантаев, М.Ю. Матанализ с человеческим лицом, или как выжить после предельного перехода [Текст] / М.Ю. Пантаев. -- 2-е изд., испр. -- Москва : Ленанд, 2015. -- 368 с.
Проверка уникальности текста программой "Etxt Antiplagiat"