Проект программного модуля для нахождения корня уравнения. Курсовая работа (т). Информационное обеспечение, программирование.

Проект программного модуля для нахождения корня уравнения. Курсовая работа (т). Информационное обеспечение, программирование.




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Проект программного модуля для нахождения корня уравнения

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

Целью данной курсовой работы является разработка
программного модуля для нахождения методом хорд корня уравнения x3 - x - 0.3 =
0 с точностью до 0,001. Для разработки используется табличный процессор Excel и
язык программирования Visual Basic for Application.







Рассматриваемый метод так же, как и метод деления отрезка
пополам, предназначен для уточнения корня на интервале [a, b], на концах
которого левая часть уравнения f(x) = 0 принимает разные знаки. Значение начала
интервала а вводится с клавиатуры. Для определения значения конца интервала b,
на котором функция меняет знак, при заданном значении начала отрезка а
используют следующий итерационный алгоритм:


Здесь h – это заданный шаг изменения х.


Если f(a) и f(x) имеют разные знаки, то принять b = x и
прекратить вычисления, иначе принять




Очередное приближение теперь в отличие от метода деления
отрезка пополам берем не в середине отрезка, а в точке х1, где пересекает ось
абсцисс прямая линия, проведенная через точки f(a) и f(b) (рисунок 1).


В качестве нового интервала для продолжения итерационного
процесса выбираем тот из двух [a, x1] или [x1, b], на концах которого функция f(x)
принимает значения с разными знаками. Заканчиваем процесс уточнения корня,
когда расстояние между очередными приближениями станет меньше заданной точности
e





или когда значения функции f(x) попадут в область шума
(рисунок 1), т. е.




Уравнение прямой линии, проходящей через точки fa = f(a) и
fb = f(b), запишем в общем виде




Коэффициенты k и c уравнения этой прямой определим из
условий




Вычитая левые и правые части последних соотношений,
получим









Точку пересечения прямой y(x) с осью абсцисс получим,
приравнивая y(x) нулю




При заданной точности e метод состоит из таких шагов:


Вычислить x1 по формуле (1) или по формуле (2).


Если f(x1) = 0, то принять в качестве решения значение
x1, вывести его и прекратить вычисления, иначе перейти к шагу 4.


Если f(x1) и f(a) имеют одинаковые знаки, то заменить a
на x1.


Если f(x1) и f(b) имеют одинаковые знаки, то заменить b
на x1.


Если |b -
a| £ e (e - заданная погрешность вычислений) или
|f(x1)| < e1 (e1 – заданное значение
шума), то принять в качестве решения последнее значение x1, вывести его и
прекратить вычисления, в противном случае перейти к шагу 2.


Предусмотреть проверку на допустимость исходных данных и
повторение ввода при ошибочных данных;


Ввод исходных данных осуществлять в поля ввода формы.


Все выходные данные выводятся на форму;
В данной программе реализован следующий способ контроля
ввода:


Сначала проверяется, является ли набираемый символ либо
цифрой, либо запятой;


Если не является, то набор символа игнорируется;


Если набираемый символ является цифрой, то он вводится в
поле ввода;


Если набираемый символ является запятой, то проверяется,
является ли


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


Данный способ контроля ввода реализован с помощью функции
KeyPress.


Однако пользователь может не ввести в поле ввода данные.
В этом случае выдается следующее сообщение:




Если пользователь ввел начало отрезка больше, чем конец отрезка,
то в этом случае выдается следующее сообщение:




Рисунок 4. Структурная диаграмма программного модуля.




UserForm1 – пользовательская форма.


UserForm_Initialize() – процедура начальной инициализации
пользовательской формы.


CommandButton1_Click() – процедура, срабатывающая при
нажатии кнопки «Найти корни», которая производит вычисления и записывает
результат.


CommandButton3_Click() – процедура, срабатывающая при
нажатии кнопки «О программе», которая выводит информацию о задаче и о
разработчике.


CommandButton4_Click() – процедура, срабатывающая при нажатии
кнопки «Очистить», которая удаляет построенный график.


CommandButton5_Click() – процедура, срабатывающая при
нажатии кнопки «Построить», которая считывает данные и строит график.


f() – функция, которая вычисляет значение функции в
зависимости от аргумента.







Рисунок 5. Схема процедуры обработки кнопки «Найти
корни».




x1 – число из [a,b], для которого вычисляется значение
функции;


2.3 Разработка пользовательского интерфейса




При запуске программы появляется следующее окно:




В окне программы расположены 2 закладки Page1 -
«Вычисления» и Page2 - «Построение графика».


На закладке «Вычисления» расположены исходные данные в
элементе управления Label, результат (элемент управления Label) и сами
вычисления на элементе управления ListBox.


После нажатия на кнопку «Найти корни» производится расчет
и выводится результат.


После нажатия на кнопку «О программе» появляется
сообщение с данными о задаче, которую решает данная программа, и о
разработчике.




Рисунок 7. Сообщение «О программе».




На закладке «Построение графика» ячейки для ввода отрезка
(элемент управления TextBox), на котором будет построен график (для уточнения
корня уравнения), и сам график. График выводится на элемент управления Image.







Dim x1 As Double 'значение аргумента


Dim x2 As Double 'значение аргумента


Dim number As String 'строка для проверки вводимого числа


Dim sign As String 'строка для проверки знака вводимого
числа


Dim ry As Range 'область данных по y для построения
графика


Dim rx As Range 'область данных по x для построения
графика




Application.Visible = False 'делаем Excel невидимым


ListBox1.AddItem "x" 'заполнение ListBox1


ListBox1.List(0, 1) = "y(x)" 'заполнение
ListBox1


x1 = a - ((b - a) / (f(b) - f(a))) * f(a)


ListBox1.AddItem x1 'заполнение ListBox1


ListBox1.List(i, 1) = f(x1) 'заполнение ListBox1


If (f(x1) = 0) Then 'проверка условия


If ((f(x1) * f(a)) > 0) Then 'проверка условия


If ((f(x1) * f(b)) > 0) Then 'проверка условия


If (Abs(x2 - x1) <= 0.001) Then 'проверка условия


MsgBox "Программа уточнения корня уравнения
x^3-x-0,3=0 методом хорд." & vbCr & "Разработчик программы:
Шараваров Д.", vbInformation, "О программе"


If (TextBox1.Value = "" Or TextBox2.Value =
"") Then


MsgBox ("Введите начало и конец отрезка!")


'проверяем правильно ли введены данные(a= CDbl(TextBox2.Value)) Then


MsgBox ("Проверьте введенные данные!")


For j = CDbl(TextBox1.Value) To CDbl(TextBox2.Value) Step
0.01


Set ry = Sheets(ActiveSheet.Name).Range(Cells(1, 2),
Cells(k, 2))


Set rx = Sheets(ActiveSheet.Name).Range(Cells(1, 1),
Cells(k, 1))


ActiveChart.SetSourceData Source:=ry, PlotBy:=xlColumns


ActiveChart.SeriesCollection(1).XValues = "="
& rx.Address(ReferenceStyle:=xlR1C1, external:=True)


ActiveChart.Location Where:=xlLocationAsObject,
Name:="Лист1"


.Axes(xlCategory, xlPrimary).HasTitle = False


.Axes(xlValue, xlPrimary).HasTitle = False


ActiveChart.Export Filename:=CurDir +
"\Grafic_func.gif", FilterName:="GIF"


Image1.Picture = LoadPicture(CurDir +
"\Grafic_func.gif") 'загружаем в Image1 файл с графиком


Public Function f(x As Double) As Double 'нахождение
значения функции


Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger) 'Проверка ввода


If InStr(number, Chr(KeyAscii)) = 0 Or (InStr(TextBox1.Text,
",") > 0 And Chr(KeyAscii) = ",") Or (TextBox1.SelStart
> 0 And InStr(sign, Chr(KeyAscii)) > 0) Then


Private Sub TextBox2_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger) 'Проверка ввода


If InStr(number, Chr(KeyAscii)) = 0 Or
(InStr(TextBox2.Text, ",") > 0 And Chr(KeyAscii) = ",")
Or (TextBox2.SelStart > 0 And InStr(sign, Chr(KeyAscii)) > 0) Then


Private Sub UserForm_QueryClose(Cancel As Integer,
CloseMode As Integer) 'Закрытие формы


Select Case MsgBox("Закрыть окно?", vbYesNo +
vbQuestion, "Завершение работы")


Найдем корень уравнения. Нажмем на кнопку «Найти корни».
После этого появится результат и промежуточные вычисления.




Для проверки корня, построим график функции на отрезке
[1,1.3] (рис. 9)







Целью данной курсовой работы является разработка
программного модуля для нахождения методом хорд корня уравнения x3 - x - 0.3 =
0 с точностью до 0,001.


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







1
Биллинг В.А. VBA и Office 2000. Офисное программирование. – М.: «Русская
редакция», 1999.


2
Гарнаев Ю.А. Использование MS Excel и VBA в экономике и финансах. – СПб: БХВ –
Санкт-Петербург, 2002.


3
Гарнаев Ю.А. самоучитель VBA. – СПб: БХВ – Санкт-Петербург, 2002.


4
Васильев А. VBA в Office 2000: учебный курс – СПб: Питер, 2002.


5
Кузьменков В.Г. VBA 2002. – М.: Издательство БИНОМ, 2002.


6 MS
Office XP: Разработка приложений/Под ред. Ф.А.Новикова – СПб: БХВ –
Санкт-Петербург, 2003.








Похожие работы на - Проект программного модуля для нахождения корня уравнения Курсовая работа (т). Информационное обеспечение, программирование.
Как Пишется Сочинение Описание По Картине
Законодательный Процесс Понятие Стадии Особенности Диссертация
Курсовая Работа На Тему Социальное Страхование Как Форма Организации Социальной Защиты Населения
Урок 12 Контрольная Работа Номер 1
Курсовая Работа На Тему Биосенсоры: Основы И Приложения
Реферат: Развитие туризма в Италии. Скачать бесплатно и без регистрации
Курсовая работа по теме Проектирование электрической станции
Реферат: 1. Виды растворов. Причины образования водных растворов. 4
Доклад: Личностное самоопределение как психологическая проблема
Реферат: Клонирование и анализ генов легких цепей иммуноглобулинов стерляди
Особенности Логистики В Сельском Хозяйстве Реферат
Курсовая работа по теме Разработка бизнес-проекта транспортно-экспедиционной фирмы, занимающейся перевозкой бытовой техники
Реферат по теме Трейдерская деятельность У. Ганна
Реферат: Волжские берега. Скачать бесплатно и без регистрации
Сочинение М Ю
Реферат по теме About problems of interaction of bodies of constitutional justice and local self-management in the subjects of the Russian Federation
Мировой Экономический Кризис 1929 1933 Эссе
Пушкин И Шекспир Драматургические Принципы Реферат
Реферат: Диалектика социального прогресса. Скачать бесплатно и без регистрации
Дипломная работа: Управление хозяйственным риском на предприятиях рыбной промышленности. Скачать бесплатно и без регистрации
Реферат: Сучасний світ - території країни і держави
Похожие работы на - Технология использования цеолитов в растениеводстве
Курсовая работа: Особенности методов арт-терапии в работе с детьми с задержкой психического развития

Report Page