Смекни!
smekni.com

Проект программного модуля для нахождения корня уравнения (стр. 2 из 2)

k = k + 1

Next j

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

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

Charts.Add

ActiveChart.ChartType = xlLine

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

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

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

With ActiveChart

.HasTitle = False

.Axes(xlCategory, xlPrimary).HasTitle = False

.Axes(xlValue, xlPrimary).HasTitle = False

End With

With ActiveChart.Axes(xlCategory)

.HasMajorGridlines = False

.HasMinorGridlines = False

End With

With ActiveChart.Axes(xlValue)

.HasMajorGridlines = False

.HasMinorGridlines = False

End With

ActiveChart.HasLegend = False

ActiveChart.HasDataTable = False

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

ActiveSheet.ChartObjects.Delete

Worksheets(1).UsedRange.Clear

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

Image1.Visible = True

CommandButton5.Enabled = False

CommandButton4.Enabled = True

End Sub

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

f = x ^ 3 - x - 0.3

End Function

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

If KeyAscii > 26 Then

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

KeyAscii = 0

End If

End If

End Sub

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

If KeyAscii > 26 Then

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

KeyAscii = 0

End If

End If

End Sub

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

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

Case vbYes

Cancel = 0

Application.Quit

Case vbNo

Cancel = -1

End Select

End Sub


4 Тестирование программного модуля

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

Рисунок 8. Закладка «Вычисления».

Рисунок 9. График функции.


Для проверки корня, построим график функции на отрезке [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.