![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Проект программного модуля для нахождения корня уравнения |
СодержаниеВведение 1. Постановка задачи 1.1 Математическая модель задачи 1.2 Входные данные 1.3 Выходные данные 1.4 Обработка ошибок. 2 Проектирование программного модуля 2.1 Структурная диаграмма программного модуля 2.2 Разработка схемы программного модуля и её описание 2.3 Разработка пользовательского интерфейса 3 Реализация программного модуля 3.1 Код программы 4 Тестирование программного модуля Заключение Список использованных источников ВведениеЦелью данной курсовой работы является разработка программного модуля для нахождения методом хорд корня уравнения x3 - x - 0.3 = 0 с точностью до 0,001. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Applica io . 1. Постановка задачи 1.1 Математическая модель задачиРассматриваемый метод так же, как и метод деления отрезка пополам, предназначен для уточнения корня на интервале , на концах которого левая часть уравнения f(x) = 0 принимает разные знаки. Значение начала интервала а вводится с клавиатуры. Для определения значения конца интервала b, на котором функция меняет знак, при заданном значении начала отрезка а используют следующий итерационный алгоритм: Задают начальное значениех = a h.Здесь h – это заданный шаг изменения х. Вычислить значения f(a) и f(x). Если f(a) и f(x) имеют разные знаки, то принять b = x и прекратить вычисления, иначе принятьx = x hи перейти к шагу 2. Очередное приближение теперь в отличие от метода деления отрезка пополам берем не в середине отрезка, а в точке х1, где пересекает ось абсцисс прямая линия, проведенная через точки f(a) и f(b) (рисунок 1). В качестве нового интервала для продолжения итерационного процесса выбираем тот из двух , на концах которого функция f(x) принимает значения с разными знаками. Заканчиваем процесс уточнения корня, когда расстояние между очередными приближениями станет меньше заданной точности e x – x -1 &l ; eили когда значения функции f(x) попадут в область шума (рисунок 1), т. е. f(x ) &l ; e1. Рисунок 1. Метод хорд.Уравнение прямой линии, проходящей через точки fa = f(a) и fb = f(b), запишем в общем видеy(x) = kx c .Коэффициенты k и c уравнения этой прямой определим из условийfa = ka c ,fb = kb c .Вычитая левые и правые части последних соотношений, получим ,c = fa – ka .Точку пересечения прямой y(x) с осью абсцисс получим, приравнивая y(x) нулю (1)или .(2)При заданной точности e метод состоит из таких шагов: Вычислить f(a) и f(b) . Вычислить 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) &l ; e1 (e1 – заданное значение шума), то принять в качестве решения последнее значение x1, вывести его и прекратить вычисления, в противном случае перейти к шагу 2. 1.2 Входные данныеВходными данными являются: Начало отрезка; Конец отрезка; Требования к входным данным: Предусмотреть проверку на допустимость исходных данных и повторение ввода при ошибочных данных; Ввод исходных данных осуществлять в поля ввода формы.
1.3 Выходные данныеВыходными данными являются: Таблица вычислений; График функции. Требования к выходным данным: Все выходные данные выводятся на форму; Ко всем выходным данным должен быть запрещен доступ со стороны пользователя. 1.4 Обработка ошибокВ данной программе реализован следующий способ контроля ввода: Сначала проверяется, является ли набираемый символ либо цифрой, либо запятой; Если не является, то набор символа игнорируется; Если набираемый символ является цифрой, то он вводится в поле ввода; Если набираемый символ является запятой, то проверяется, является ли она первой вводимой запятой. Если ранее запятые не вводились, то она вводится в поле ввода. В противном случае ввод запятой игнорируется. Данный способ контроля ввода реализован с помощью функции KeyPress. Однако пользователь может не ввести в поле ввода данные. В этом случае выдается следующее сообщение: Рисунок 2. Сообщение об ошибке.Если пользователь ввел начало отрезка больше, чем конец отрезка, то в этом случае выдается следующее сообщение: Рисунок 3. Сообщение об ошибке. 2 Проектирование программного модуля 2.1 Структурная диаграмма программного модуля Рисунок 4. Структурная диаграмма программного модуля.UserForm1 – пользовательская форма. UserForm I i ialize() – процедура начальной инициализации пользовательской формы. Comma dBu o 1 Click() – процедура, срабатывающая при нажатии кнопки «Найти корни», которая производит вычисления и записывает результат. Comma dBu o 3 Click() – процедура, срабатывающая при нажатии кнопки «О программе», которая выводит информацию о задаче и о разработчике. Comma dBu o 4 Click() – процедура, срабатывающая при нажатии кнопки «Очистить», которая удаляет построенный график. Comma dBu o 5 Click() – процедура, срабатывающая при нажатии кнопки «Построить», которая считывает данные и строит график. f() – функция, которая вычисляет значение функции в зависимости от аргумента. 2.2 Разработка схемы программного модуля и её описание Рисунок 5. Схема процедуры обработки кнопки «Найти корни».Обозначения переменных: x1 – число из , для которого вычисляется значение функции; a, b – начало и конец отрезка; i – счетчик итераций. 2.3 Разработка пользовательского интерфейсаПри запуске программы появляется следующее окно: Рисунок 6. Окно программы.В окне программы расположены 2 закладки Page1 - «Вычисления» и Page2 - «Построение графика». На закладке «Вычисления» расположены исходные данные в элементе управления Label, результат (элемент управления Label) и сами вычисления на элементе управления Lis Box. После нажатия на кнопку «Найти корни» производится расчет и выводится результат. После нажатия на кнопку «О программе» появляется сообщение с данными о задаче, которую решает данная программа, и о разработчике. Рисунок 7. Сообщение «О программе».На закладке «Построение графика» ячейки для ввода отрезка (элемент управления ex Box), на котором будет построен график (для уточнения корня уравнения), и сам график. График выводится на элемент управления Image. 3 Реализация программного модуля 3.1 Код программыDim a As Double 'начало отрезка Dim b As Double 'конец отрезка Dim x1 As Double 'значение аргумента Dim x2 As Double 'значение аргумента Dim i As I eger 'счетчик Dim umber As S ri g 'строка для проверки вводимого числа Dim sig As S ri g 'строка для проверки знака вводимого числа Dim k As I eger Dim j As Double Dim ry As Ra ge 'область данных по y для построения графика Dim rx As Ra ge 'область данных по x для построения графикаPriva e Sub UserForm I i ialize() Applica io .V
isible = False 'делаем Excel невидимым umber = &quo ;0123456789,-&quo ; sig = &quo ;-&quo ; Image1.Visible = False Comma dBu o 4.E abled = False E d SubPriva e Sub Comma dBu o 1 Click() Lis Box1.Clear a = -5 'присвоение значения b = 5 'присвоение значения i = 1 'присвоение значения Lis Box1.AddI em &quo ;x&quo ; 'заполнение Lis Box1 Lis Box1.Lis (0, 1) = &quo ;y(x)&quo ; 'заполнение Lis Box1 Do While ( rue) x2 = x1 x1 = a - ((b - a) / (f(b) - f(a))) f(a) Lis Box1.AddI em x1 'заполнение Lis Box1 Lis Box1.Lis (i, 1) = f(x1) 'заполнение Lis Box1 i = i 1 If (f(x1) = 0) he 'проверка условия Exi Do 'выход из цикла E d If If ((f(x1) f(a)) &g ; 0) he 'проверка условия a = x1 'изменение начала отрезка E d If If ((f(x1) f(b)) &g ; 0) he 'проверка условия b = x1 'изменение конца отрезка E d If If (Abs(x2 - x1) &l ;= 0.001) he 'проверка условия Exi Do 'выход из цикла E d If Loop Label4.Cap io = x1 E d SubPriva e Sub Comma dBu o 3 Click() MsgBox &quo ;Программа уточнения корня уравнения x^3-x-0,3=0 методом хорд.&quo ; & vbCr & &quo ;Разработчик программы: Шараваров Д.&quo ;, vbI forma io , &quo ;О программе&quo ; E d SubPriva e Sub Comma dBu o 4 Click() ex Box1.Value = &quo ;&quo ; ex Box2.Value = &quo ;&quo ; Image1.Visible = False Comma dBu o 5.E abled = rue Comma dBu o 4.E abled = False E d SubPriva e Sub Comma dBu o 5 Click() 'проверяем введены ли все данные If ( ex Box1.Value = &quo ;&quo ; Or ex Box2.Value = &quo ;&quo ;) he MsgBox (&quo ;Введите начало и конец отрезка!&quo ;) Exi Sub E d If 'проверяем правильно ли введены данные(a&l ;b) If (CDbl( ex Box1.Value) &g ;= CDbl( ex Box2.Value)) he MsgBox (&quo ;Проверьте введенные данные!&quo ;) Exi Sub E d If k = 1 For j = CDbl( ex Box1.Value) o CDbl( ex Box2.Value) S ep 0.01 Cells(k, 1) = j Cells(k, 2) = f(j) k = k 1 ex jSe ry = Shee s(Ac iveShee . ame).Ra ge(Cells(1, 2), Cells(k, 2)) Se rx = Shee s(Ac iveShee . ame).Ra ge(Cells(1, 1), Cells(k, 1)) Char s.Add Ac iveChar .Char ype = xlLi e Ac iveChar .Se SourceDa a Source:=ry, Plo By:=xlColum s Ac iveChar .SeriesCollec io (1).XValues = &quo ;=&quo ; & rx.Address(Refere ceS yle:=xlR1C1, ex er al:= rue) Ac iveChar .Loca io Where:=xlLoca io AsObjec , ame:=&quo ;Лист1&quo ; Wi h Ac iveChar .Has i le = False .Axes(xlCa egory, xlPrimary).Has i le = False .Axes(xlValue, xlPrimary).Has i le = False E d Wi h Wi h Ac iveChar .Axes(xlCa egory) .HasMajorGridli es = False .HasMi orGridli es = False E d Wi h Wi h Ac iveChar .Axes(xlValue) .HasMajorGridli es = False .HasMi orGridli es = False E d Wi h Ac iveChar .HasLege d = False Ac iveChar .HasDa a able = False Ac iveChar .Expor File ame:=CurDir &quo ; Grafic fu c.gif&quo ;, Fil er ame:=&quo ;GIF&quo ; Ac iveShee .Char Objec s.Dele e Workshee s(1).UsedRa ge.Clear Image1.Pic ure = LoadPic ure(CurDir &quo ; Grafic fu c.gif&quo ;) 'загружаем в Image1 файл с графиком Image1.Visible = rue Comma dBu o 5.E abled = False Comma dBu o 4.E abled = rue E d SubPublic Fu c io f(x As Double) As Double 'нахождение значения функции f = x ^ 3 - x - 0.3 E d Fu c io Priva e Sub ex Box1 KeyPress(ByVal KeyAscii As MSForms.R
Понятие о функциях и операторах Важным понятием системы Maple (да и математики вообще) является понятие функции. Функция возвращает результат некоторого преобразования исходных данных — параметров функции по определенному правилу, обычно представленному в виде формулы или программного модуля. Maple имеет множество встроенных функций, включенных в его ядро и в пакеты. Функция в выражениях задается вводом ее имени и списка параметров функции (одного или нескольких), заключенного в круглые скобки: например, sqrt(2) задает функцию вычисления квадратного корня с параметром 2 (численной константой). Основным признаком функции является возврат значения в ответ на обращение к ней по имени (идентификатору) с указанием списка параметров функции. Например: > 2*sin(1.); 1.682941970 > 2*sin(1); 2 sin(1) Обратите внимание на особую роль десятичной точки — здесь она служит указанием к выполнению вычисления значения sin(1.0) (или, что то же самое, sin(1.)). А вот синус целочисленного аргумента 1 не вычисляется — считается, что вычисленное значение менее ценно, чем точное значение sin(1)
1. Выбор комплекса технических средств автоматизации процесса абсорбции
2. Технические средства таможенного контроля
3. Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal
4. Технические средства статической проекции и методика их применения в начальной школе
5. Технические средства транспорта
9. Технические средства светофорного регулирования
10. Применение технических средств обучения в языковом ВУЗе
12. Организация движения: технические средства светофорное урегулирование
14. Современные технические средства наблюдения
16. Изучение физических принципов работы аппаратуры в курсе "Технические средства обучения"
18. Современные инженерно-технические средства безопасности
21. Совершенствование технологий и технических средств поверхностной обработки почвы
25. Технические средства защиты информации
26. Технические средства предприятия
29. Противодействие техническим средствам разведки
30. Технические средства автоматизированных складских систем (АСС)
31. Надежность технических средств
32. Технические средства обеспечения анестезии
34. Технические средства образования в детском саду
35. Традиционные технические средства обучения в семейном воспитании
36. Выбор технических средств автоматизации химической промышлености
41. Техническое обслуживание средств вычислительной техники и компьютерных систем
42. Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации
44. Средства отладки электронных схем
47. Математическое моделирование и оптимизация элементов тепловой схемы энерготехнологического блока
48. Техническая оснащенность сельского хозяйства и проблемы восстановления агропромышленного комплекса
50. Проектування схеми універсального блоку регуляторів
51. Техническая диагностика средств вычислительной техники
52. Радіорелейні комплекси на основі перспективних схемо-технічних рішень
53. Реализация схемы автоматизации технического процесса
59. Средства достижения выразительности в интерьере
60. Оценка безотказной работы технической аппаратуры (задачи)
61. Орбитальный комплекс "Буран"
62. Альбом схем по основам теории радиоэлектронной борьбы
63. Органы технического и тылового обеспечения, создаваемые в танковом батальоне в оборонительном бою
64. Военно промышленный комплекс России
65. Классификация коллективных средств защиты и правила поведения людей в убежищах
66. Современные средства поражения
67. Характеристика современных средств поражения и последствия их применения
68. Развитие и размещение отраслей топливно-энергетического комплекса России
73. Топливно-энергетический комплекс Украины
74. Топливно-энергетический комплекс России
75. Нефтедобывающий и газовый комплекс Украины
76. Характеристика природного комплекса Черного моря
77. Технический проект аэрофотосъемки
78. О тестировании спутниковых приемников и программных средств
79. Нормативное регулирование перемещения через таможенную границу транспортных средств
80. Исключительные права на средства индивидуализации товаров, работ, услуг и их производителей
81. Программные средства как объект авторского права
82. Неправомерное завладение автомобилем или иным транспортным средством без цели хищения
83. Порядок формирования и использования средств Фонда социального страхования РФ
84. Технические резервы в страховой компании
85. Страхование автотранспортных средств
89. Средства художественного языка в авангардных стилях начала XX века
91. Книга как основное средство документной коммуникации
92. Творческая биография А.А. Блока
93. Блок Александр Александрович
94. Образ Родины в творчестве Александра Блока
95. Россия Блока
96. Поэзия природы: средства изобразительности и функции
98. Анализ рассказа Блока "Потомки солнца"
99. Анализ стихотворения Блока "О доблестях, о подвигах, о славе..."