Вычисление определенного интеграла

Математическое обоснование формулы метода прямоугольников. Алгоритм программы Visual Studio и описание процедур. Пример вычисления определенного интеграла по методу прямоугольников. Написание руководства пользователя и тестирование программных продуктов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.01.2020
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

ВВЕДЕНИЕ

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

Численное интегральное исчисление - часто используемая тема в математике. При решении ряда актуальных физических и технических задач встречаются определенные интегралы от функции, первообразные которых не выражаются через элементарные функции. Кроме того, в приложениях приходится иметь дело с определенными интегралами, сами подынтегральные функции которых не являются элементарными. Это приводит к необходимости использования приближенных методов вычисления определенных интегралов.

Цель курсового проекта - закрепление основ и углубление знаний в области программирования на языке высокого уровня, получения дополнительных практических навыков в использовании основных приемов обработки экспериментальных данных, численного решения нелинейных и трансцендентных уравнений и определенных интегралов.

Предмет исследований: Вычисление определенного интеграла.

Объектом исследования является: Автоматизация расчета определенного интеграла.

Задачи работы:

- Анализ предметной области;

- Проектирование программного средства;

- Программирование;

- Написание руководства программиста, выполнение тестирования и отладки программы;

- Написание руководства по эксплуатации;

В ходе написания курсовой работы я использовал теоретический и эмпирический методы исследования.

К теоретическим относятся:

- Моделирование;

- Теоретический анализ и синтез;

- Аналогия.

К методам эмпирическим относятся:

- Наблюдение за объектом исследования.

Теоретическая и практическая значимость курсовой работы заключается в том, что сформулированные в ней выводы могут быть использованы в дальнейшем как при теоретической и практической разработке программы.

ГЛАВА 1. СРЕДА ПРОГРАММИРОВАНИЯ VISUAL STUDIO КАК ОСНОВНОЙ ИНСТРУМЕНТ РАЗРАБОТЧИКА

1.1 Техническое задание

Необходимо создать программу для Вычисление определенного интеграла на объектно-ориентированном языке программирования C# (С Sharp) методом криволинейных трапеций. Программа представляет из себя консольное приложение, при запуске которого, перед пользователем появляется окно консоли, которое просит ввести значения отрезка интеграла. После введения значений программа выполняет расчет и выводит результат.

1.2 Язык программирования C#

Синтаксис C# очень выразителен, но прост в изучении. Все, кто знаком с языками С, C++ или Java с легкостью узнают синтаксис с фигурными скобками, характерный для языка С#. Разработчики, знающие любой из этих языков, как правило, смогут добиться эффективной работы с языком C# за очень короткое время. Синтаксис C# делает проще то, что было сложно в C++, и обеспечивает мощные возможности, такие как типы значений Nullable, перечисления, делегаты, лямбда-выражения и прямой доступ к памяти, чего нет в Java. C# поддерживает универсальные методы и типы, обеспечивая более высокий уровень безопасности и производительности, а также итераторы, позволяющие при реализации коллекций классов определять собственное поведение итерации, которое может легко использоваться в клиентском коде. Выражения LINQ делают строго типизированный запрос очень удобной [Языковой конструкцией.

Как объектно-ориентированный язык, C# поддерживает понятия инкапсуляции, наследования и полиморфизма. Все переменные и методы, ключая метод Main -- точку входа приложения -- инкапсулируются в пределения классов. Класс может наследовать непосредственно из одного родительного класса, но может реализовывать любое число интерфейсов. Для методов, которые переопределяют виртуальные методы в родительском классе, необходимо ключевое слово override, чтобы исключить случайное повторное определение. В языке C# структура похожа на облегченный класс: это тип, распределяемый по стопкам, реализующий интерфейсы, но не поддерживающий наследование.

В дополнение к основным описанным объектно-ориентированным принципам, язык C# упрощает разработку компонентов программного обеспечения благодаря нескольким инновационным конструкциям языка, в число которых входят следующие:

• Инкапсулированные сигнатуры методов, называемые делегатами, которые поддерживают типобезопасные уведомления о событиях.

• Свойства, выступающие в роли методов доступа для закрытых переменных-членов.

• Атрибуты с декларативными метаданными о типах во время выполнения.

• Встроенные комментарии XML-документации.

• LINQ, предлагающий встроенные возможности запросов в различных источниках данных.

Если потребуется обеспечить взаимодействие с другим программным обеспечением Windows, таким как объекты СОМ или собственные библиотеки DLL Win32, в языке C# можно использовать процесс, который называется "Interop." Процесс Interop позволяет программам на C# выполнять практически любые действия, которые может выполнять исходное приложение на C++. Язык C# поддерживает даже указатели и понятие "небезопасного" кода для тех случаев, когда прямой доступ к памяти имеет крайне важное значение.

Процесс построения C# по сравнению с С и C++ прост и является более гибким, чем в Java. Нет отдельных файлов заголовка, а методы и типы не требуется объявлять в определенном порядке. В исходном файле C# может бьпъ определено любое число классов, структур, интерфейсов и событий.

Программа на языке C# выполняется в среде .NET Framework - интегрированном компоненте Windows, содержащем виртуальную систему выполнения (среда CLR) и унифицированный набор библиотек классов. Среда CLR представляет собой коммерческую реализацию Майкрософт инфраструктуры CLI (common language infrastructure), международного стандарта, основы сред выполнения и разработки с тесным взаимодействием языков и библиотек.

Исходный код, написанный на языке С#, компилируется в промежуточный язык (IL) в соответствии со спецификацией CLI. Код IL и ресурсы, такие как растровые изображения и строки, хранятся на диске в исполняемом файле, называемом сборкой, с расширением ЕХЕ или DLL в большинстве случаев. Сборка содержит манифест со сведениями о типах сборки, версии, языке и региональных параметрах, и требованиях безопасности.

При выполнении программы на C# сборка загружается в среду CLR в зависимости от сведении в манифесте. Далее, если требования безопасности соблюдены, среда CLR выполняет ДТ-компиляцию для преобразования кода 1L в инструкции машинного кода. Среда CLR также предоставляет другие службы, относящиеся к автоматическому сбору мусора, обработке исключений и управлению ресурсами. Код, выполняемый средой CLR, иногда называют "управляемым кодом" в противопоставление "неуправляемому коду", который компилируется в машинный код, предназначенный для определенной системы. Далее показаны отношения во время компиляции и время выполнения между файлами с исходным кодом С#, библиотеками классов .NET Framework, сборками и средой CLR.

Взаимодействие между языками является ключевой особенностью .NET Framework. Поскольку код на промежуточном языке (IL), создаваемый компилятором С#, соответствует спецификации CTS, код IL на основе C# может взаимодействовать с кодом, создаваемым версиями языков Visual Basic, Visual C++, Visual J# платформы .NET Framework и еще более чем 20 CTS-совместимых языков. В одной сборке может быть несколько модулей, написанных на разных языках платформы .NET Framework, и типы могут ссылаться друг на друга, как если бы они были написаны на одном языке.

Помимо служб времени выполнения, в .NET Framework также имеется обширная библиотека, состоящая из более чем 4000 классов, организованных по пространствам имен, которые обеспечивают разнообразные полезные функции для любых действий, начиная от ввода и вывода файлов для управления строками для разбивки XML, и заканчивая элементами управления Windows Forms. В обычном приложении на языке C# библиотека классов .NET Framework интенсивно используется для «устройства» кода.

1.3 Структура проекта в среде Visual Studio

Для разработки данной программы, мой выбор остановился на интегрированной среде разработки Visual Studio. Microsoft Visual Studio - это набор инструментов для создания программного обеспечения: от планирования до разработки пользовательского интерфейса, написания кода, тестирования, отладки, анализа качества кода и производительности, развертывания в средах клиентов и сбора данных телеметрии по использованию. Эти инструменты предназначены для максимально эффективной совместной работы; все они доступны в интегрированной среде разработки (IDE) Visual Studio. Данную среду можно использовать для создания различных типов приложений.

Преимущества данной среды

· Быстрая интеграция кода Новый редактор кода позволяет изменять размер шрифта кода, выделять места использования методов и добавлять собственные мощные элементы визуализации.

· Создание насыщенного пользовательского интерфейса предлагаются новые визуальные дизайнеры Windows Presentation Foundation и Silverlight для разработки приложений для Windows 7 и Веб.

· Масштабируемость с Windows Azure Интегрированные шаблоны проектов, отладка и публикация упрощают развертывание приложений в Windows Azure.

· Новые возможности Используя интегрированную поддержку разработки многопоточных приложений, добавляйте новые возможности в свое приложение, если оно выполняется на компьютере с многоядерным процессором.

· Настройка Visual Studio соответственно собственному стилю. Основное улучшение IDE - включение поддержки для множества мониторов и повышение четкости текста - делает привычную среду еще более продуктивной.

· Применение разработки через тестирование Visual Studio формирует весь код заглушек, необходимый для выполнения модульного тестирования, позволяя разработчикам сосредоточиться на логике приложения.

· Применение имеющихся навыков Используйте Visual Studio 2010 Professional для разработки SharePoint решений - включая инструментарий для Веб-частей, списков, рабочих процессов, событий и многого другого - и создавайте замечательные новые инструменты координации совместной деятельности для своей компании.

· Меньше времени на отладку Встроенная иерархия вызовов позволяет быстро прослеживать поток выполнения программы без вызова отладчика. Также для упрощения отладки можно использовать метки для точек останова.

· Интегрированная система контроля версий, отслеживание дефектов и автоматизация сборки Visual Studio 2017 Professional с MSDN включает Team Foundation Server 2017, который является идеальной системой контроля версий, отслеживания дефектов автоматизации сборки для пользователей Visual Studio. Базовая установка Team Foundation Server превосходно подходит для использования на настольных компьютерах и для начинающих пользователей, до этого работавших с Microsoft Visual SourceSafe.

· Включена подписка MSDN Подписки MSDN предоставляют простую модель лицензирования и обширный источник информации высокого качества, что обеспечивает максимальную экономическую эффективность разработки приложений на платформе Microsoft.

1.4 Алгоритм программы и описание процедур

Анализируя требования к программе, можно разработать алгоритм разрабатываемого приложения. Задание состоит в разработке программы вычисление определенного интеграла. Следовательно, входными данными будут вводимые пользователем коэффициенты. Далее программа производит расчет по заданной формуле. После идет вывод результата на экране.

Размещено на http: //www. allbest. ru/

Рис. 1 Блок схема программы

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

Руководство пользователя -- это документ, назначение которого в том, чтобы предоставить людям помощь в использовании некоторой системы. Документ входит в состав технической документации на систему и, как правило, подготавливается техническим писателем. Структура и содержание документа Руководство пользователя автоматизированной системы регламентированы подразделом 3.4 документа РД 50-34.698-90. Структура и содержание документов Руководство оператора, Руководство программиста, Руководство системного программиста регламентированы ГОСТ 19.505-79, ГОСТ 19.504-79 и ГОСТ 19.503-79 соответственно.

Тестирование программного обеспечения -- это проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ, проектированию тестов, выполнению тестирования и анализу полученных результатов.

Уровни тестирования:

Модульное тестирование. Тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция;

Интеграционное тестирование. Проверяется, есть ли какие- либо проблемы в интерфейсах и взаимодействии между интегрируемыми компонентами, например, не передается информация, передается некорректная информация;

Системное тестирование. Тестируется интегрированная система на ее соответствие исходным требованиям. Альфа-тестирование включает имитацию реальной работы с системой штатными разработчиками либо реальная работа с системой потенциальными пользователями/заказчиком на стороне разработчика. Часто альфа-тестирование применяется для законченного продукта в качестве внутреннего приемочного тестирования. I Иногда альфа-тестирование выполняется под отладчиком или с I использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться ПО. Бетатестирование включает в себя выполнения распространения версии с ограничениями (по функциональности или времени работы) для некоторой группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.

Эффективность контроля 1-го вида зависит и от языка, и от компилятора. Контроль 2-го вида осуществляется с помощью исключений

Exceptions и весьма полезен для проверки правдоподобности промежуточных результатов. Тест -- это набор контрольных входных данных совместно с ожидаемыми результатами. В число входных данных время зависимых программ входят события и временные параметры. Ключевой вопрос -- полнота тестирования: какое количество каких тестов гарантирует, возможно, более полную проверку программы? Исчерпывающая проверка на всем множестве входных данных недостижима, в любой нетривиальной программе на любой стадии ее готовности содержатся необнаруженные ошибки;

Тестирование -- это технико-экономическая проблема, основанная на компромиссе время. Поэтому нужно стремиться к возможно меньшему количеству хороших тестов с желательными свойствами.

Детективность: тест должен с большой вероятностью обнаруживать

возможные ошибки.

Покрывающая способность: один тест должен выявлять как можно больше ошибок.

Воспроизводимость: ошибка должна выявляться независимо от изменяющихся условий (например, от временных соотношений) -- это труднодостижимо для время зависимых программ, результаты которых часто невоспроизводимы. Только на основании выбранного критерия можно определить тот момент времени, когда конечное множество тестов 'окажется достаточным для проверки программы с некоторой полнотой (степень полноты, впрочем, определяется экспериментально). Используется два вида критериев

- функциональные тесты составляются исходя из спецификации программы;

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

ГЛАВА 2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

2.1 Определенный интеграл

Определённым интегралом от функции

у = ѓ(x)

на отрезке [а, b] называется предел интегральной суммы при Дхi --> 0, не зависящий от способа разбиения отрезка [а, b] на части, ни от выбора точек оi в них.

Обозначение

Размещено на http: //www. allbest. ru/

Проще говоря, для того чтобы найти определенный интеграл на заданном отрезке [а, Ь], мы разбиваем этот отрезок на п необязательно равных частей точками деления х,,х2,...,хи_,, положа

х0 = а,хп = b,

в результате чего получаем разбиение отрезка [а, Ь] составленное из отрезков [ хм, х, ] при i -- 1, п. Суммарная площадь узких полосок, лежащих над отрезками разбиения [ х,_,, х, ] и будет искомым нами определенным интегралом (см. рис.2).

Рис.2 Вычисление определенного интеграла

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

2.2 Математическое обоснование формулы метода прямоугольников

Пусть на отрезке задана непрерывная функция . Требуется вычислить интеграл , численно равный площади соответствующей криволинейной трапеции.

Рисунок 1 Ступенчатая фигура, состоящая из элементарных прямоугольников

Разобьем основание этой трапеции, т.е. отрезок , на n равных частей (отрезков) длины

что равняется шагу разбиения) с помощью точек

.

Можно записать, что

, где .

В середине

каждого такого отрезка поставим ординату графика функции . Приняв эту ординату за высоту, построим прямоугольник с площадью .

Тогда сумма площадей всех n прямоугольников дает площадь ступенчатой фигуры, представляющую собой приближенное значение искомого определенного интеграла

. (1)

2.2.1 Пример вычисления определенного интеграла по методу прямоугольников

Вычислить по формуле

приближенное значение определенного интеграла

,

разбив отрезок на десять элементарных частей.

Таблица 1 Выкладка значений по методу средних прямоугольников Погрешность метода составляет 0,0002

Сумма


Рисунок 2 Блок-схема к алгоритму решения определенных интегралов по методу прямоугольников

ГЛАВА 3. РАЗРАБОТКА ПРОГРАММЫ В СРЕДЕ VISUAL STUDIO

3.1 Разработка приложения

Программа представляет собой консольное приложение (рис. 3)

Рис. 3 Окно программы

Для начала разработки программы запускаем среду Visual Studio, и в появившимся окне выбираем пункт «New Project…». Далее нам необходимо выбрать шаблон для разработки консольного приложения на языке C# (рис. 4).

Рис. 4 Окно «New Project»

Автоматически среда Visual Studio называет программу «ConsoleApp1». Далее перед нами появляется конструкция консольного приложения на языке C# (рис. 5)

Рис. 5 Структура программы на C#

Далее объявляем переменные типа double, которые я буду использовать для вычислений и преобразований (рис. 6).

double a, b, n, x, y, y1, y2, h, x1;

Рис. 6 Объявление переменных

Далее вводим значение статичных переменных a, b, n. Для переменной h используем формулу для вычисления длины шага

(рис. 7)

a = 0; // нижняя границ

b = 2; // верхняя граница

n = 10; // количество шагов

x = a;

y = 0;

h = (b - a) / n; // длина шага

Рис. 7 Ввод значений для переменных

Далее находим значение функции в точках a и b (Рис 8.)

y1 = Math.Pow(a, 2) * Math.Sqrt(4 - Math.Pow(a, 2

y2= Math.Pow(b, 2) * Math.Sqrt(4 - Math.Pow(b, 2));

Рис. 8 Значение функции в точках а и b

Начинаем вычисление суммы площадей с крайних точек. (рис. 9) по формуле

.

y += (y1 + y2) / 2 * h;

Рис. 9

Создаем цикл для вычисления площадей внутри графика с шагом 1 до числа n. X вычисляется по формуле

х=a+(i/n),

так как нужно использовать I и i-1 значения, то используем y1 и y2 для вычисления суммы площадей (рис. 10)

for (Double i=0; i<n; i++)

{

x = a + (i / n);

x1 = a + ((i - 1) / n);

y1= Math.Pow(x, 2) * Math.Sqrt(4 - Math.Pow(x, 2));

y2= Math.Pow(x1, 2) * Math.Sqrt(4 - Math.Pow(x1, 2));

y += (y1 + y2) / 2 * h;

}

Рис. 10 Создание цикла и функции внутри цикла

Заканчиваем программу выводом искомого y в консоль. (рис. 11)

Console.WriteLine(y);

Console.ReadKey();

Рис. 11 Вывод значения на экран.

3.2 Руководство пользователя

Работа с приложением начинается с запуска файла sum.exe. После запуска приложения, производятся все вычисления, и на экран консоли выводится значение определенного интеграла.

ЗАКЛЮЧЕНИЕ

Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Visual Studio 2017. В ходе выполнения курсовой работы была разработана программа вычисления определенного интеграла методом прямоугольника.

В ходе выполнения курсового проекта были проведены - анализ технического задания и постановка задачи проектирования. В разработке программы использовалось программное обеспечение для разработки программных средств от Microsoft, а именно лицензированная среда разработки MS Visual Studio 2017 Pro.

Были выделены функции, которыми должна обладать разрабатываемая программа. алгоритм определенный интеграл программный

Был разработан алгоритм программы, предназначенной для выполнения сформированных функций.

В качестве перспектив развития данной программы можно отметить такие нереализованные возможности как самостоятельный ввод пользователем нужной ему функции, границ интеграла, количество шагов, расширение списка методов вычисления определенных интегралов, а также разработка интерфейса программы.

В ходе решения поставленных задач, согласно алгоритму, было разработано программное обеспечение для автоматизации расчета определенного интеграла. В ходе разработки программы проводилось ее тестирование и отладка. Программа удовлетворяла поставленной задачи.

В ходе разработки курсового проекта, мною были закреплены на практике знания разработки программного обеспечения. Теоретическая значимость курсовой работы заключается в закреплении знаний разработки программных средств.

СПИСОК ЛИТЕРАТУРЫ

1) Павловская Т.А. С#. Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2010. - 432 с.: ил.

2) Пискунов Н.С. Дифференциальное и интегральное исчисления. Том первый. 13-е издание. - М.: Изд-во «Наука», 1985. - 430 с.

3) Дьяконов В.П. Справочник по алгоритмам и программам для ПЭВМ. - М.: Изд-во «Наука», 1987. - 240 с.

4) Выгодский М.Я. Справочник по высшей математике. - М.: ООО «Издательство Астрель»: ООО «Издательство АСТ», 2003. -- 991 с.

ПРИЛОЖЕНИЕ А

ФБГОУ ВО Кубанский государственный технологический университет

(КубГТУ)

Кафедра Информационных систем и программирования

Институт Компьютерных систем и информационной безопасности

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

по дисциплине

(наименование дисциплины)

на тему

(тема курсового проекта (работы))

Выполнил (а) студент (ка) группы ________________________________

(ф.и.о.)

Допущен к защите_________________________

Руководитель проекта___________________________

Нормоконтролер ____________________________

Защищен _____________________ Оценка _______________________

(дата)

Члены комиссии _________________________

(подпись, дата, расшифровка подписи)

Краснодар

2017

ПРИЛОЖЕНИЕ B

ФБГОУ ВО Кубанский государственный технологический университет

(КубГТУ)

Кафедра Информационных систем и программирования

Институт Компьютерных систем и информационной безопасности

УТВЕРЖДАЮ

Зав. кафедрой __________________

Видовский Л.А.

З А Д А Н И Е

на курсовую работу

Студенту:_________________________ группы__________________ курса

(Ф.И.О.) (№ группы и курса)

факультета __________________________

специальности ______________________________

(шифр и наименование)

Тема проекта:_____________________

Содержание задания:___________________

Объем работы:

а) пояснительная записка к проекту _____________ с.

б) программы.

Рекомендуемая литература:___________________

Срок выполнения проекта: с "___" ______по"___"____20__г.

Срок защиты: "___"____20__г.

Дата выдачи задания: "___"____20__г.

Дата сдачи проекта на кафедру: "___"____20__г.

Руководитель проекта _________________________________

(подпись, ф.и.о., звание, степень)

Задание принял студент _______________________________

(подпись, дата)

ПРИЛОЖЕНИЕ C

ФБГОУ ВО Кубанский государственный технологический университет

(КубГТУ)

Кафедра Информационных систем и программирования

Институт Компьютерных систем и информационной безопасности

Реферат

Пояснительная записка курсового проекта (работы) 49 с., 17 рис., 6 табл., 4 источника, 3 прил.

ОПРЕДЕЛЕННЫЙ ИНТЕГРАЛ, МЕТОД ПРЯМОУГОЛЬНИКОВ, МЕТОД КРИВОЛИНЕЙНЫХ ТРАПЕЦИЙ, МЕТОД СИМПСОНА (ПАРАБОЛ), ТРАНСЦЕНДЕНТНОЕ УРАВНЕНИЕ, МЕТОД ДИХОТОМИИ, МЕТОД КАСАТЕЛЬНЫХ, МЕТОД ХОРД, ПОСТРОЕНИЕ ГРАФИКА, МАСШТАБИРОВАНИЕ

Объектом исследования является…

Цель работы состоит…

К полученным результатам относятся…

Размещено на Allbest.ru

...

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

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