Тема курсовой работы
Вид материала | Документы |
СодержаниеИсходные данные Результаты расчета Контрольный пример 2.1 Блок-схема алгоритма функции Calculate(метод хорд) Копии экранных форм программы |
- Методические указания по выполнению курсовой работы 11 Тема курсовой работы, 211.19kb.
- Методические рекомендации по организации и защите курсовой работы по дисциплине для, 794.15kb.
- Требования к написанию курсовой работы, 54.49kb.
- Методические указания к выполнению курсовой работы по дисциплине " информационные технологии, 233.79kb.
- 1. составление плана курсовой работы, 485.55kb.
- О. А. Иванова Методические указания по выполнению курсовых работ для студентов всех, 314.38kb.
- Учебно-методическое пособие содержит следующие структурные разделы: введение, цели, 335.07kb.
- Методические рекомендации по написанию курсовой работы, 95.34kb.
- Рекомендации по написанию Курсовой работы При выполнении данной Курсовой работы используйте, 92.33kb.
- Рекомендации по написанию Курсовой работы При выполнении данной Курсовой работы используйте, 80.88kb.
Тема курсовой работы
Метод хорд
Постановка задачи
Вычислить корень уравнения



Цель работы
Изучить метод нахождения корней уравнений методом хорд. Составить программу расчета корней уравнения

Исходные данные
Функция

Начальные приближения


Значения параметра


Выходные данные
Значение функции на заданном отрезке. График функции в соответствующем интервале.
Математическая модель (краткая теория)
Метод хорд – итерационный метод нахождения корня уравнения.
Этот метод применяется при решении уравнений вида


1)



2) производная




Идея метода состоит в том, что по двум точкам















В зависимости от того, лежат ли точки




Итак, очередное приближение будет зависеть от двух предыдущих:


Интерполяционную линейную функцию






Решая уравнение



Заметим, что величина



Имеются две разновидности применения формулы (1).
Первая разновидность:
вычисления ведутся непосредственно по формуле (1) при

















Вторая разновидность:
называется методом ложного положения. Предположим, что корень























Результаты расчета
При вычислении методом хорд функции





S | 1 | 2 | 3 |
X | 1 | 0,25 | 0,209064 |
Контрольный пример
Для оценки правильности полученный алгоритм и составленную программу проверяем на тестовом примере. В качестве примера берём интервал [-1; 0,7]. Полученные значения представлены в таблице:
S | 1 | 2 |
x | 1 | 0,25 |
Все вычисления были проверены в MS Excel. Вычисленные значения соответствуют действительности.
Описание алгоритма в псевдокодах
- Вводим интервал [a, b]
- Выбираем значение параметра s
- Проверяем правильность введённых данных
- Если данные введены неправильно, то выводится сообщение об ошибке.
- Вычисляем корень используя метод хорд.
- Строим график.
2. Блок-схема (Основной алгоритм):

2.1 Блок-схема алгоритма функции Calculate(метод хорд):

Код программы
Private Sub Form_Load()
cbx_s.AddItem ("1")
'Добавляем элементы S в CheckBox
cbx_s.AddItem ("2")
cbx_s.AddItem ("3")
cbx_s.ListIndex = 0
'Выбираем первым элемент 0
End Sub
Private Function func(x As Variant) As Double
'Вычисление значения функции
func = s * x - (Cos(pi * x) * Cos(pi * x))
End Function
Private Sub Draw()
picGraph.Cls
'Задание масштаба
picGraph.Scale (-3, 2)-(3, -2)
'Построение графика функции
For sngX = -3 To 3 Step 0.001
picGraph.PSet (sngX, func(sngX))
Next sngX
'Ось Х
picGraph.Line (-3, 0)-(3, 0)
For bytI = -3 To 3
picGraph.PSet (bytI, 0)
picGraph.Print bytI
Next bytI
'Ось Y
picGraph.Line (0, 2)-(0, -2)
For bytI = -2 To 2
picGraph.PSet (0, bytI)
picGraph.Print bytI
Next bytI
End Sub
Private Function Calculate(a As Variant, b As Variant) As Double
'Метод хорд
Dim eps As Double
eps = 0.0000001
s = cbx_s.Text
While (Abs(b - a) > eps)
'Проверяем достигнута ли точность
a = b - (b - a) * func(b) / (func(b) - func(a))
'новое значение а
b = a - (a - b) * func(a) / (func(a) - func(b))
'новое значение b
Wend
Calculate = b
'Возвращаем результат вычислений
End Function
Private Sub btnStart_Click()
Dim a As Double
Dim b As Double
On Error GoTo ErrorHandler
'Если ошибка(мы ввели буквы вместо цифр или "." вместо ",") то перейдем на метку ErrorHandler:
a = txtA.Text
b = txtB.Text
If a > b Then
'Проверка на корректность начальных значений
MsgBox "'A' не может быть больше 'B'", , "Error"
ElseIf a < -3 Then
MsgBox "'A' не может быть меньше -3", , "Error"
ElseIf a > 0 Then
MsgBox "'A' не может быть больше 0", , "Error"
ElseIf b > 3 Then
MsgBox "'B' не может быть больше 3", , "Error"
ElseIf b < 0 Then
MsgBox "'B' не может быть меньше 0", , "Error"
Else
'Если значения корректны, считаем и рисуем
lblResult.Caption = Format(Calculate(a, b), "0.000000")
'Вывод результата в заданном формате
Draw
'Рисуем график
End If
Exit Sub
ErrorHandler:
'Если произошла ошибка переходим сюда
MsgBox "Введите другие границы", , "Error"
End Sub
Private Sub mnuAutor_Click()
frmAutor.Show
End Sub
Private Sub mnuProgram_Click()
frmProgram.Show
End Sub
Private Sub mnuSave_Click()
Open "D:\example.txt" For Output As #1
Print #1, lblResult.Caption
Close #1
Print "Ваши данные в файле example.txt на диске D"
End Sub
'при нажатии мыши пишет значения x и y
Private Sub picGraph_MouseUp(Button As Integer, Shift As Integer, x As Single, F As Single)
picGraph.PSet (x, F)
picGraph.ForeColor = vbRed
picGraph.Print "x="; x; "F(x)="; F
End Sub
К



Список использованных источников
- Дэвид Дж.Луенбергер. Информатика. – «Техносфера», Москва, 2008г.
- ссылка скрыта.
- Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы. – М.: Мир, 1976 г.
- Вирт Н. Алгоритмы+структуры данных = программы. М.: Мир, 1985 г.
- Линке М. Visual Basic 5. Справочник: Пер. с нем. – М.: ЗАО «Издательство БИНОМ», 1998 г.
- Шмидт В. Visual Basic 5.0. – М.: АБФ, 1997 г.
- Крис Паппас Visual С ++ 6 «Ирина», ВНV, – Киев 2000 г.
- Глаголев В.Б. Персональный сайт «Информатика» (ссылка скрыта).
- Шевченко А.Г. Сетевой обучающий курс «Основные информационные ресурсы WWW» (ссылка скрыта).
- Программа Visual Basic.