Работа в среде программирования Lazarus
Метод хорд как итерационный метод нахождения корня уравнения, его отличительные особенности и условия эффективного использования. Алгебраическое и геометрическое обоснование, описание и анализ блок-схемы. Описание решения задачи и работы системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 28.12.2015 |
Размер файла | 337,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
В данной работе требуется реализовать программу для решения нелинейного уравнения, иначе говоря найти его корень. Для нахождения корня использован метод половинного деления. Данное уравнение: 3x-14+ex-e-x=0. Точность и интервал задается с клавиатуры. Также необходимо визуализировать этот метод и сравнить решения полученные данным методом и в математическом пакете. Результаты сохранить в текстовом файле.
1. Описание метода секущих (хорд)
Метод хорд - итерационный метод нахождения корня уравнения. Суть метода состоит в разбиении начального отрезка на части, определяемые с помощью точки пересечения хорды - отрезка, соединяющего точки, соответствующие значениям функции на концах отрезка, с осью Ох.
1.1 Алгебраическое описание метода
Пусть - абсциссы концов хорды, - уравнение секущей, содержащей хорду. Найдем коэффициенты и из системы уравнений:
.
Вычтем из первого уравнения второе:
, затем найдем коэффициенты и :
, тогда
.
Уравнение принимает вид:
Таким образом, теперь можем найти первое приближение к корню, полученное методом секущих:
Теперь возьмем координаты и и повторим все проделанные операции, найдя новое приближение к корню. Таким образом, итерационная формула метода секущих имеет вид:
.
Повторять операцию следует до тех пор, пока не станет меньше или равно заданному значению погрешности.
1.2 Геометрическое описание метода
Будем искать корень функции f(x). Выберем две начальные точки C1 (x1; y1) и C2 (x2; y2) и проведем через них прямую. Она пересечет ось абсцисс в точке (x3; 0). Теперь найдем значение функции с абсциссой x3. Временно будем считать x3 корнем на отрезке [x1; x2]. Пусть точка C3 имеет абсциссу x3 и лежит на графике. Теперь вместо точек C1 и C2 мы возьмём точку C3 и точку C2. Теперь с этими двумя точками проделаем ту же операцию и так далее, т.е. будем получать две точки Cn + 1 и Cn и повторять операцию с ними. Таким образом мы будем получать две точки, отрезок, соединяющий которые, пересекает ось абсцисс в точке, значение абсциссы которой можно приближенно считать корнем. Эти действия нужно повторять до тех пор, пока мы не получим значение корня с нужным нам приближением.
1.3 Блок-схема метода секущих (хорд)
На рисунке 1 изображена блок-схема метода секущих(хорд):
Рисунок 1 - Метод секущих (хорд)
2. Описание решения задачи
Для реализации проекта создано 4 формы:
1. Форма «Титульный лист» (рисунок 3), на которой находятся:
Ш Кнопка Начало (Button) для перехода на следующую форму
Ш Надписи оформления титульного листа с помощью меток (Label)
Рисунок 3 - Форма «Титульный лист»
2. Форма «Решение» (рисунок 4), на которой находятся:
Ш Кнопки (Button) для вычисления корня нелинейного уравнения, для перехода на форму визуализации, для сохранения результата и для выхода из программы
Ш Текстовые поля (Edit) для ввода интервала, точности и количества шагов
Ш Графическое окно (Image) на котором изображено уравнение, корень которого необходимо найти
Ш Текстовое поле (Memo) на которое выводится результат нахождения корня
Ш Метки (Label) для оформления надписей
Ш Меню (MainMenu) для перехода на форму визуализации, выхода из программы, сохранение результата в текстовый файл, информация о методе
Ш Объект диалогового окна (SaveDialog) для сохранения результатов в текстовый файл
Рисунок 4 - Форма «Решение»
3. Форма «Визуализация» (рисунок 5), на которой находятся:
Ш Кнопка Визуализировать (Button) для визуализирования данного метода и для закрытия этой формы
Ш Графическое поле (Chart) для изображения графика и визуализирования данного метода
Рисунок 5 - Форма «Визуализация»
4. Форма «О Методе» (рисунок 6), на которой находится:
Ш Текстовое поле (Memo) с описанием метода
Ш Кнопка «Ok» (Button) для закрытия этой формы
Рисунок 6 - Форма «О Методе»
3. Описание работы системы
Для того чтобы начать работу с разработанным приложением необходимо запустить исполняемый файл. После чего появляется форма с названием «Титульный лист» (рисунок 9), на которой представлена информация о теме курсовой работы и выполнившем ее студенте. Для перехода на следующую форму необходимо нажать на кнопку «Начало» расположенную внизу формы.
Рисунок 9 - Работа программы (титульный лист)
После нажатия кнопки появляется форма с названием «Решение» (рисунок 10). На ней вычисляется корень. Для этого необходимо задать интервал и точность и нажать на кнопку «Решить». После того как мы получили данные, решение уравнения, мы можем сохранить результат в текстовый файл при помощи кнопки «Сохранить» либо выбрав в меню «Файл - Сохранить» и выбрав директорию и название документа. На форме расположено меню «Файл - Визуализация» и кнопка «Визуализация» позволяющие перейти на соответствующую форму. Присутствует кнопка «Выход» для завершения программы. Меню «Информация - О Методе», позволяют показать на экране форму с информацией о данном методе.
Рисунок 10 - Работа программы (Решение)
Как только мы перешли в форму «Визуализация» мы можем изобразить данный метод нажав на кнопку «Визуализация». На форме присутствует кнопка «Выход» скрывающая форму «Визуализация».
Рисунок 11 - Работа программы (Визуализация)
Заключение
хорда алгебраический геометрический уравнение
В данной работе было разработано приложение на языке программирования Object Pascal в среде программирования Lazarus, которая позволяет найти решение нелинейного уравнения методом секущих (хорд) и сравнить данный результат с результатом, полученным в математическом пакете.
В данной работе с помощью метода секущих (хорд) было найдено решение данного уравнения, интервал и точность которого задается с клавиатуры. На экран были выведены корень уравнения полученный данный методом, количество итераций, произведенных во время его выполнения и результат полученный в математическом пакете. Для визуализации метода был построен график функции. Полученные результаты были сохранены в текстовом файле.
В результате мы получили 2 значения, первый из них - методом секущих, а второй - в математическом пакете. Полученные нами корни имеют очень малое различие, около 0,0000000006. Метод секущих, используемый нами в данной работе имеет высокую точность и не чуть не уступает методу использованному в математическом пакете.
Список литературы
1. ГОСТ 19.701-90 Схемы алгоритмов программ, данных и систем. М., 1992. 22 с.
2. ГОСТ 2.105-95. Общие требования к текстовым документам. М., 1996. 31 с.
Размещено на Allbest.ru
Подобные документы
Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.
курсовая работа [832,6 K], добавлен 24.07.2012Определение недостатков итерационного численного способа нахождения корня заданной функции (метод Ньютона). Рассмотрение основ математического и алгоритмического решения поставленной задачи, ее функциональной модели, блок-схемы и программной реализации.
курсовая работа [364,8 K], добавлен 25.01.2010Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010Применение методов касательных (Ньютона) и комбинированного (хорд и касательных) для определения корня уравнения. Разработка алгоритма решения и его описание его в виде блок-схем. Тексты программ на языке Delphi. тестовый пример и результат его решения.
курсовая работа [923,7 K], добавлен 15.06.2013Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Особенности задач линейного программирования. Симплексный метод решения задач линейного программирования. Обоснование выбора языка, инструментария программирования, перечень идентификаторов и блок-схема алгоритма. Логическая схема работы программы.
дипломная работа [2,4 M], добавлен 13.08.2011Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).
курсовая работа [29,6 K], добавлен 02.10.2008Рассмотрение основ создания в IDE Lazarus приложения, которое будет находить решение нелинейного уравнения. Использование для расчетов метода секущихся (хорд). Выполнение решения в математическом пакете и сравнение результата с созданным приложением.
курсовая работа [4,2 M], добавлен 28.01.2015Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.
курсовая работа [849,1 K], добавлен 15.06.2013Методы вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол). Примеры применения, блок-схемы методов трапеций и Симпсона. Разработка программы в объектно-ориентированной среде программирования Lazarus, конструирование интерфейса.
реферат [2,1 M], добавлен 18.04.2011