Обучающая программа "Построение графиков функций"
Среда VisualBasic как средство разработки приложений. Принципы создания интерфейса. Требования к программной документации. Руководство системного программиста. Вызов и загрузка программы, методика испытаний. Ведомость эксплуатационных документов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 29.04.2009 |
Размер файла | 735,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Dim d As String
1: d = InputBox("Введите значение для коэффициента a", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If a > 5 Or a < -5 Then GoTo 2
If Not mnucls.Enabled Then osi1 'Построение осей
For j = -6 * pi To 6 * pi Step 0.01
PSet (kx * j + ScaleWidth / 2, ScaleHeight / 2 - ky * a * Tan(j)), QBColor(2)
Next
mnucls.Enabled = True
Exit Sub
2:
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента выше допустимого уровня) ", vbCritical, "Ошибка"
GoTo 1
End Sub
Процедура построения графика функции y=ctg x
Private Sub mnuctg_Click()
Dim d As String
1: d = InputBox("Введите значение для коэффициента a", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If a > 5 Or a < -5 Then GoTo 2
If Not mnucls.Enabled Then osi1 'Построение осей
For j = -6 * pi To 6 * pi Step 0.01
PSet (kx * j + ScaleWidth / 2 + kx * (-pi) / 2, ScaleHeight / 2 + ky * a * Tan(j)), QBColor(1)
Next
mnucls.Enabled = True
Exit Sub
2:
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента выше допустимого уровня) ", vbCritical, "Ошибка"
GoTo 1
End Sub
Процедура построения графика линейной функции
Private Sub mnulin_Click()
Dim d, e As String
1: d = InputBox("Введите значение для коэффициента K", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
k = CDbl(d)
If k > 50 Or k < -50 Then
If k > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 1
End If
2: e = InputBox("Введите значение для B", "Графики")
If e = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 2
End If
End If
If Not IsNumeric(e) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 2
End If
b = CDbl(e)
If b > 50 Or b < -50 Then
If b > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 2
End If
If Not mnucls.Enabled Then osi2 'Построение осей
For j = -20 To 20 Step 0.01
PSet (j * kx + ScaleWidth / 2, -(k * j * kx + b * kx) + ScaleHeight / 2), QBColor(13)
Next
mnucls.Enabled = True
End Sub
Процедура построения графика степенной функции
Private Sub mnustep_Click()
On Error GoTo 4
Dim d As String
1: d = InputBox("Введите значение для основания А", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If Not mnucls.Enabled Then osi2 'Построение осей
If a > 4 Or a < -4 Then GoTo 3
Select Case a
Case Is > 1
a = CInt(a)
Dim j1 As Integer
Dim j2 As Integer
If a = 1 Then
j1 = -14
j2 = 14
Else
j1 = -4
j2 = 4
End If
For j = j1 To j2 Step 0.001
PSet (j * kx + ScaleWidth / 2, -(j ^ a * kx) + ScaleHeight / 2), QBColor(5)
Next
Case 0 To 1
For j = 0 To 20 Step 0.001
PSet (j * kx + ScaleWidth / 2, -(j ^ a * kx) + ScaleHeight / 2), QBColor(5)
Next
Case Is < 0
For j = 0.1 To 12 Step 0.001
PSet (j * kx + ScaleWidth / 2, -(j ^ a * kx) + ScaleHeight / 2), QBColor(5)
Next
End Select
mnucls.Enabled = True
Exit Sub
3:
Select Case a
Case Is > 1
For j = -2 To 2 Step 0.001
PSet (j * kx + ScaleWidth / 2, -(j ^ a * kx) + ScaleHeight / 2), QBColor(5)
Next
Case Is < 0
For j = 0.1 To 2 Step 0.001
PSet (j * kx + ScaleWidth / 2, -(j ^ a * kx) + ScaleHeight / 2), QBColor(5)
Next
End Select
mnucls.Enabled = True
Exit Sub
4:
mnucls_Click
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение основания выше допустимого уровня) ", vbCritical, "Ошибка"
GoTo 1
End Sub
Процедура построения графика квадратичной функции
Private Sub mnukw_Click()
On Error GoTo 4
Dim d, e, f As String
1: d = InputBox("Введите значение для первого коэффициента А", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If a > 50 Or a < -50 Then
If a > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 1
End If
2: e = InputBox("Введите значение для второго коэффициента В", "Графики")
If e = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 2
End If
End If
If Not IsNumeric(e) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 2
End If
b = CDbl(e)
If b > 50 Or b < -50 Then
If b > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 2
End If
3: f = InputBox("Введите значение для третьего коэффициента С", "Графики")
If f = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 3
End If
End If
If Not IsNumeric(f) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 3
End If
c = CDbl(f)
If c > 50 Or c < -50 Then
If c > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 3
End If
If Not mnucls.Enabled Then osi2 'Построение осей
For j = -10 To 10 Step 0.01
PSet (j * kx + ScaleWidth / 2, -(a * (j ^ 2) * kx + b * j * kx + c * kx) + ScaleHeight / 2), QBColor(0)
Next
mnucls.Enabled = True
Exit Sub
4:
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' выше допустимого уровня) ", vbCritical, "Ошибка"
Exit Sub
5:
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' ниже допустимого уровня) ", vbCritical, "Ошибка"
Exit Sub
End Sub
Процедура построения графика показательной функции
Private Sub mnupok_Click()
On Error GoTo 2
Dim d As String
1: d = InputBox("Введите основание функции, которое должно быть положительным числом. Десятичное число вводится через запятую.", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If a <= 0 Then
MsgBox "Число должно быть положительным!", vbExclamation, "Информация"
GoTo 1
End If
If Not mnucls.Enabled Then osi2 'Построение осей
For j = -8 To 8 Step 0.01
PSet (j * kx + ScaleWidth / 2, -(a ^ j * kx) + ScaleHeight / 2), QBColor(4)
Next
2: mnucls.Enabled = True
End Sub
Процедура построения графика логарифмической функции
Private Sub mnulogarifm_Click()
Dim d As String
1: d = InputBox("Введите основание логарифма, которое должно быть положительным числом и не равное 1. Десятичное число вводится через запятую.", "Графики")
If d = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(d) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a = CDbl(d)
If a <= 0 Or a = 1 Then
MsgBox "Число должно быть положительным и не равное 1!", vbExclamation, "Информация"
GoTo 1
End If
If Not mnucls.Enabled Then osi2 'Построение осей
For j = 0.1 To 20 Step 0.01
PSet (j * kx + ScaleWidth / 2, ScaleHeight / 2 - (Log(j) / Log(a) * kx)), QBColor(2)
Next
mnucls.Enabled = True
End Sub
Процедура очистки формы
Private Sub mnucls_Click()
Графики.Cls
For i = 0 To 7
Image1(i).Visible = False
Next
mnucls.Enabled = False
mnufun.Enabled = True
End Sub
Процедура решения системы линейных уравнений
Private Sub mnulinur_Click()
Dim k1, k2, b1, b2
1: k1 = InputBox("Введите значение для коэффициента 'K' 1-го уравнения", "Графики")
If k1 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(k1) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
k1 = CDbl(k1)
If k1 > 50 Or k1 < -50 Then
If k1 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 1
End If
2: b1 = InputBox("Введите значение для 'B' 1-го уравнения", "Графики")
If b1 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 2
End If
End If
If Not IsNumeric(b1) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 2
End If
b1 = CDbl(b1)
If b1 > 50 Or b1 < -50 Then
If b1 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 2
End If
3: k2 = InputBox("Введите значение для коэффициента 'K' 2-го уравнения", "Графики")
If k2 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 3
End If
End If
If Not IsNumeric(k2) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 3
End If
k2 = CDbl(k2)
If k2 > 50 Or k2 < -50 Then
If k2 > 50 Then
MsgBox "Невозможно отобразить график. Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'К' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 3
End If
4: b2 = InputBox("Введите значение для 'B' 2-го уравнения", "Графики")
If b2 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 4
End If
End If
If Not IsNumeric(b2) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 4
End If
b2 = CDbl(b2)
If b2 > 50 Or b2 < -50 Then
If b2 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 4
End If
mnucls_Click
mnufun.Enabled = False
If Not mnucls.Enabled Then osi2 'Построение осей
'Построение графиков
For j = -20 To 20 Step 0.01
PSet (j * kx + ScaleWidth / 2, -(k1 * j * kx + b1 * kx) + ScaleHeight / 2), QBColor(4)
PSet (j * kx + ScaleWidth / 2, -(k2 * j * kx + b2 * kx) + ScaleHeight / 2), QBColor(3)
Next
mnucls.Enabled = True
'Ищем целые значения
For j = -100 To 100
y1 = Round(k1 * j + b1)
y2 = Round(k2 * j + b2)
If y1 = y2 Then
If (Round((k1 * (j - 0.1) + b1), 1) <> Round((k2 * (j - 0.1) + b2), 1)) And (Round((k1 * (j + 0.1) + b1), 1) <> Round((k2 * (j + 0.1) + b2), 1)) Then
If (Round((k1 * (j - 0.01) + b1), 2) <> Round((k2 * (j - 0.01) + b2), 2)) And (Round((k1 * (j + 0.01) + b1), 2) <> Round((k2 * (j + 0.01) + b2), 2)) Then
masresh1(1, 1) = 1
masresh1(1, 2) = Round(j)
masresh1(1, 3) = y1
GoTo 5
End If
End If
End If
Next
Ищем с десятыми значения
For j = -100 To 100 Step 0.1
y1 = Round((k1 * j + b1), 1)
y2 = Round((k2 * j + b2), 1)
If y1 = y2 Then
If (Round((k1 * (j - 0.01) + b1), 2) <> Round((k2 * (j - 0.01) + b2), 2)) And (Round((k1 * (j + 0.01) + b1), 2) <> Round((k2 * (j + 0.01) + b2), 2)) Then
masresh1(1, 1) = 1
masresh1(1, 2) = Round(j, 1)
masresh1(1, 3) = y1
GoTo 5
End If
End If
Next
Ищем с сотыми значения
For j = -100 To 100 Step 0.01
y1 = Round(FormatNumber((k1 * j + b1), 2, vbTrue))
y2 = Round(FormatNumber((k2 * j + b2), 2, vbTrue))
If y1 = y2 Then
masresh1(1, 1) = 1
masresh1(1, 2) = FormatNumber(j, 2, vbTrue)
masresh1(1, 3) = Round(FormatNumber((k1 * j + b1), 2, vbTrue), 1)
GoTo 5
End If
Next
5: If masresh1(1, 1) = 1 Then
MsgBox "Решением данных уравнений является " & vbCrLf & "точка с координатами: " & "(" & masresh1(1, 2) & "; " & masresh1(1, 3) & ")", vbInformation, "Решение уравнений"
Else
MsgBox "Решений нет", vbInformation, "Решение уравнений"
End If
masresh1(1, 1) = 0
End Sub
Процедура решения системы квадратичных уравнений
Private Sub mnukwur_Click()
Dim a1, b1, c1
Dim a2, b2, c2
1: a1 = InputBox("Введите значение для 1-го коэффициента 'А' 1-го уравнения", "Графики")
If a1 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 1
End If
End If
If Not IsNumeric(a1) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 1
End If
a1 = CDbl(a1)
If a1 > 50 Or a1 < -50 Then
If a1 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 1
End If
2: b1 = InputBox("Введите значение для 2-го коэффициента 'В' 1-го уравнения", "Графики")
If b1 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 2
End If
End If
If Not IsNumeric(b1) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 2
End If
b1 = CDbl(b1)
If b1 > 50 Or b1 < -50 Then
If b1 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 2
End If
3: c1 = InputBox("Введите значение для 3-го коэффициента 'С' 1-го уравнения", "Графики")
If c1 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 3
End If
End If
If Not IsNumeric(c1) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 3
End If
c1 = CDbl(c1)
If c1 > 50 Or c1 < -50 Then
If c1 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 3
End If
4: a2 = InputBox("Введите значение для 1-го коэффициента 'А' 2-го уравнения", "Графики")
If a2 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 4
End If
End If
If Not IsNumeric(a2) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 4
End If
a2 = CDbl(a2)
If a2 > 50 Or a2 < -50 Then
If a2 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'A' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 4
End If
5: b2 = InputBox("Введите значение для 2-го коэффициента 'В' 2-го уравнения", "Графики")
If b2 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 5
End If
End If
If Not IsNumeric(b2) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 5
End If
b2 = CDbl(b2)
If b2 > 50 Or b2 < -50 Then
If b2 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'B' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 5
End If
6: c2 = InputBox("Введите значение для 3-го коэффициента 'С' 2-го уравнения", "Графики")
If c2 = "" Then
If MsgBox("Вы ничего не ввели или выбрали 'Отмена'! Будете повторять ввод числа?", vbYesNo + vbExclamation, "Информация") = vbNo Then
Exit Sub
Else
GoTo 6
End If
End If
If Not IsNumeric(c2) Then
MsgBox "Вы ввели не число!", vbExclamation, "Информация"
GoTo 6
End If
c2 = CDbl(c2)
If c2 > 50 Or c2 < -50 Then
If c2 > 50 Then
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' выше допустимого уровня) ", vbCritical, "Ошибка"
Else
MsgBox "Невозможно отобразить график.Вычисляемое значение функции превышает размеры области построения (значение коэффициента 'C' ниже допустимого уровня) ", vbCritical, "Ошибка"
End If
GoTo 6
End If
mnucls_Click
mnufun.Enabled = False
If Not mnucls.Enabled Then osi2 'Построение осей
'Построение графиков
For j = -20 To 20 Step 0.01
PSet (j * kx + ScaleWidth / 2, -(a1 * (j ^ 2) * kx + b1 * j * kx + c1 * kx) + ScaleHeight / 2), QBColor(4)
PSet (j * kx + ScaleWidth / 2, -(a2 * (j ^ 2) * kx + b2 * j * kx + c2 * kx) + ScaleHeight / 2), QBColor(3)
Next
mnucls.Enabled = True
Ищем целые значения
kol = 0
For i = -30 To 30
y1 = a1 * (i ^ 2) + b1 * i + c1
y2 = a2 * (i ^ 2) + b2 * i + c2
If y1 = y2 Then
kol = kol + 1
flag1 = True
End If
Next
If kol = 0 Then GoTo 7
ReDim masresh2(3, 2)
For i = -30 To 30
y1 = a1 * (i ^ 2) + b1 * i + c1
y2 = a2 * (i ^ 2) + b2 * i + c2
If y1 = y2 Then
If masresh2(1, 1) <> 1 Then
masresh2(1, 1) = 1
masresh2(2, 1) = i
masresh2(3, 1) = a1 * (i ^ 2) + b1 * i + c1
Else
masresh2(1, 2) = 1
masresh2(2, 2) = i
masresh2(3, 2) = a1 * (i ^ 2) + b1 * i + c1
End If
End If
Next
If kol = 2 Then
stroka = "Решением данных уравнений являются " & vbCrLf & "точки с координатами: "
stroka = stroka & "(" & masresh2(2, 1) & "; " & masresh2(3, 1) & ")" & ", (" & masresh2(2, 2) & "; " & masresh2(3, 2) & ")"
MsgBox stroka, vbInformation, "Решение уравнений"
Exit Sub
End If
7: 'Ищем количество
For j = -30 To 30 Step 0.01
j = FormatNumber(j, 2, vbTrue)
If Not flag1 Or Int(j) <> j Then
y1 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 3, vbTrue), 2)
y2 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 3, vbTrue), 2)
y3 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 2, vbTrue), 1)
y4 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 2, vbTrue), 1)
y5 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 1, vbTrue))
y6 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 1, vbTrue))
If y1 = y2 Or y3 = y4 Or y5 = y6 Then kol = kol + 1
End If
Next
If kol = 0 Then GoTo 8
Ищем значения
If flag1 Then
ReDim Preserve masresh2(3, kol)
i = 2
Else
ReDim masresh2(3, kol)
i = 1
End If
For j = -30 To 30 Step 0.01
j = FormatNumber(j, 2, vbTrue)
If Not flag1 Or Int(j) <> j Then
y1 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 3, vbTrue), 2)
y2 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 3, vbTrue), 2)
y3 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 2, vbTrue), 1)
y4 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 2, vbTrue), 1)
y5 = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 1, vbTrue))
y6 = Round(FormatNumber((a2 * (j ^ 2) + b2 * j + c2), 1, vbTrue))
If y1 = y2 Or y3 = y4 Or y5 = y6 Then
masresh2(1, i) = 1
masresh2(2, i) = Round(j, 2)
masresh2(3, i) = Round(FormatNumber((a1 * (j ^ 2) + b1 * j + c1), 2, vbTrue), 2)
i = i + 1
End If
End If
Next
i = i - 1
8:
If kol = 0 Then
MsgBox "Решений нет", vbInformation, "Решение уравнений"
Else
If kol = 1 Then
stroka = "Решением данных уравнений является " & vbCrLf & "точка с координатами: "
stroka = stroka & "(" & masresh2(2, 1) & "; " & masresh2(3, 1) & ")"
Else
stroka = "Решением данных уравнений являются " & vbCrLf & "точки с координатами: "
If masresh2(2, 1) = Int(masresh2(2, kol)) Then
stroka = stroka & "(" & masresh2(2, 2) & "; " & masresh2(3, 2) & ")" & ", (" & masresh2(2, 1) & "; " & masresh2(3, 1) & ")"
Else
stroka = stroka & "(" & masresh2(2, 1) & "; " & masresh2(3, 1) & ")" & ", (" & masresh2(2, kol) & "; " & masresh2(3, kol) & ")"
End If
End If
MsgBox stroka, vbInformation, "Решение уравнений"
End If
flag1 = False
End Sub
Процедура перехода на форму «Справка»
Private Sub mnuprog_Click()
Справка.Show vbModal
End Sub
Процедура перехода на форму «Помощь»
Private Sub mnuhelp_Click()
Помощь.Show vbModal
End Sub
Процедура перехода на форму «Теория»
Private Sub mnuteor_Click()
Теория.Show vbModal
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
Процедура построения осей координат
Private Sub osi1()
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2, ScaleHeight)
Line (0, ScaleHeight / 2)-(ScaleWidth, ScaleHeight / 2)
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2 - 120, 120)
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2 + 120, 120)
Line (ScaleWidth, ScaleHeight / 2)-(ScaleWidth - 120, ScaleHeight / 2 - 120)
Line (ScaleWidth, ScaleHeight / 2)-(ScaleWidth - 120, ScaleHeight / 2 + 120)
CurrentX = ScaleWidth / 2 - 240
CurrentY = 120
Print "Y"
CurrentX = ScaleWidth - 240
CurrentY = ScaleHeight / 2 - 240
Print "X"
Dim xc1 As Integer
For j = -2 * pi To 2 * pi Step pi / 2
If CInt(j) <> 0 Then
Image1(xc1).Visible = True
Image1(xc1).Left = kx * j + ScaleWidth / 2
Image1(xc1).Top = ScaleHeight / 2 + 60
xc1 = xc1 + 1
Line (kx * j + ScaleWidth / 2, ScaleHeight / 2 - 60)-(kx * j + ScaleWidth / 2, ScaleHeight / 2 + 60)
Else
CurrentX = ScaleWidth / 2 + 120
CurrentY = ScaleHeight / 2 + 60
Print "0"
End If
Next
Dim yc1 As Integer
yc1 = 1
For i = ScaleHeight / 2 - 720 To 360 Step -720
CurrentX = ScaleWidth / 2
CurrentY = i
Line (ScaleWidth / 2 - 60, i)-(ScaleWidth / 2 + 60, i)
Print yc1
yc1 = yc1 + 1
Next
Dim yc2 As Integer
yc2 = -1
For i = ScaleHeight / 2 + 720 To ScaleHeight - 360 Step 720
CurrentX = ScaleWidth / 2
CurrentY = i
Line (ScaleWidth / 2 - 60, i)-(ScaleWidth / 2 + 60, i)
Print yc2
yc2 = yc2 - 1
Next
End Sub
Процедура построения осей координат
Private Sub osi2()
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2, ScaleHeight)
Line (0, ScaleHeight / 2)-(ScaleWidth, ScaleHeight / 2)
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2 - 120, 120)
Line (ScaleWidth / 2, 0)-(ScaleWidth / 2 + 120, 120)
Line (ScaleWidth, ScaleHeight / 2)-(ScaleWidth - 120, ScaleHeight / 2 - 120)
Line (ScaleWidth, ScaleHeight / 2)-(ScaleWidth - 120, ScaleHeight / 2 + 120)
CurrentX = ScaleWidth / 2 - 240
CurrentY = 120
Print "Y"
CurrentX = ScaleWidth - 240
CurrentY = ScaleHeight / 2 - 240
Print "X"
Dim xc1 As Integer
For i = ScaleWidth / 2 To ScaleWidth - 360 Step 360
CurrentX = i
CurrentY = ScaleHeight / 2
Line (i, ScaleHeight / 2 - 60)-(i, ScaleHeight / 2 + 60)
Print xc1
xc1 = xc1 + 1
Next
Dim xc2 As Integer
For i = ScaleWidth / 2 To 360 Step -360
CurrentX = i
CurrentY = ScaleHeight / 2
Line (i, ScaleHeight / 2 - 60)-(i, ScaleHeight / 2 + 60)
Print xc2
xc2 = xc2 - 1
Next
Dim yc1 As Integer
yc1 = 1
For i = ScaleHeight / 2 - 360 To 360 Step -360
CurrentX = ScaleWidth / 2
CurrentY = i
Line (ScaleWidth / 2 - 60, i)-(ScaleWidth / 2 + 60, i)
Print yc1
yc1 = yc1 + 1
Next
Dim yc2 As Integer
yc2 = -1
For i = ScaleHeight / 2 + 360 To ScaleHeight - 360 Step 360
CurrentX = ScaleWidth / 2
CurrentY = i
Line (ScaleWidth / 2 - 60, i)-(ScaleWidth / 2 + 60, i)
Print yc2
yc2 = yc2 - 1
Next
End Sub
Форма 3
Private Sub Form_Load()
b = 0
End Sub
Процедуры выбора смещения графиков тригонометрических функций
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
b = 0
Case 1
b = pi / 6
Case 2
b = pi / 3
Case 3
b = pi / 2
Case 4
b = pi
Case 5
b = 3 * pi / 2
End Select
End Sub
Процедура кн.Закрыть для закрытия формы «Смещение»
Private Sub CmdClose_Click()
Unload Смещение
End Sub
Форма 4
Объявление переменных
Option Explicit
Dim nod As Node
Процедура построения дерева каталогов
Private Sub Form_Load()
Set nod = TreeView1.Nodes.Add(, , "A0", "Функции", 1)
Set nod = TreeView1.Nodes.Add(, , "A1", "Тригонометрические", 1)
Set nod = TreeView1.Nodes.Add("A1", tvwChild, "A1А1", "y = sin x", 3)
Set nod = TreeView1.Nodes.Add("A1", tvwChild, "A1А2", "y = cos x", 3)
Set nod = TreeView1.Nodes.Add("A1", tvwChild, "A1А3", "y = tg x", 3)
Set nod = TreeView1.Nodes.Add("A1", tvwChild, "A1А4", "y = ctg x", 3)
Set nod = TreeView1.Nodes.Add(, , "A2", "Линейная", 3)
Set nod = TreeView1.Nodes.Add(, , "A3", "Степенная", 3)
Set nod = TreeView1.Nodes.Add(, , "A4", "Квадратичная", 3)
Set nod = TreeView1.Nodes.Add(, , "A5", "Показательная", 3)
Set nod = TreeView1.Nodes.Add(, , "A6", "Логарифмическая", 3)
End Sub
Процедура настройки размеров формы
Private Sub Form_Resize()
If Теория.WindowState = 1 Then Exit Sub
If Теория.Width > 2600 And Теория.Height > 1240 Then
RichTextBox1.Height = Теория.ScaleHeight - 640
RichTextBox1.Width = Теория.ScaleWidth - 2400
TreeView1.Height = Теория.ScaleHeight - 640
End If
If Теория.Width < 2600 And Теория.Height > 1240 Then
TreeView1.Height = Теория.ScaleHeight - 640
End If
End Sub
Процедура для закрытия формы «Теория»
Private Sub Form_Unload(Cancel As Integer)
Unload Теория
End Sub
Процедура для перехода на форму 2 «Графики»
Private Sub mnuExit_Click()
Unload Теория
End Sub
Процедура фиксации пиктограммы узла при ее открытии
Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node)
Node.ExpandedImage = 2
End Sub
Процедура доступа к текстовым файлам
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Select Case Node.Index
Case 1
RichTextBox1.Text = " "
Case 2
Exit Sub
Case 3
RichTextBox1.FileName = App.path & "\теория\син.rtf"
Case 4
RichTextBox1.FileName = App.path & "\теория\кос.rtf"
Case 5
RichTextBox1.FileName = App.path & "\теория\тан.rtf"
Case 6
RichTextBox1.FileName = App.path & "\теория\кот.rtf"
Case 7
RichTextBox1.FileName = App.path & "\теория\лин.rtf"
Case 8
RichTextBox1.FileName = App.path & "\теория\степ.rtf"
Case 9
RichTextBox1.FileName = App.path & "\теория\квад.rtf"
Case 10
RichTextBox1.FileName = App.path & "\теория\пок.rtf"
Case 11
RichTextBox1.FileName = App.path & "\теория\лог.rtf"
End Select
End Sub
Форма 5
Процедура для перехода на форму 2 «Графики»
Private Sub Form_Click()
Unload Справка
Графики.Show
End Sub
Процедура доступа к текстовому файлу
Private Sub Form_Load()
Dim path As String
n = FreeFile
path = App.path & "\Справка.txt"
Open path For Input As n
Label2.Caption = Label2.Caption + Input$(LOF(n), n)
Close #n
End Sub
Форма 6
Процедура для перехода на форму 2 «Графики»
Private Sub Label5_Click()
Unload Помощь
Графики.Show
End Sub
Процедура для перехода на форму 2 «Графики»
Private Sub Picture1_Click()
Unload Помощь
Графики.Show
End Sub
ПРИЛОЖЕНИЕ 2
Виды экранных форм
Вид формы 1
Вид формы 2 «Графики»
Вид формы 3 «Теоретический материал»
Вид формы 4 «Смещение»
Вид формы 5 «О программе»
Вид формы 6 «Помощь»
ПРИЛОЖЕНИЕ 3
Виды диалоговых окон
Диалоговое окно при выборе пункта меню
Сервис'-`Построение графиков функций'- `Тригонометрические'
Диалоговые окна при выборе
`Сервис'-`Построение графиков функций'- `Линейная'
Диалоговое окно при выборе
Сервис'-`Построение графиков функций'- `Степенная'
Диалоговые окна при выборе
`Сервис'-`Построение графиков функций'- `Квадратичная'
Диалоговое окно при выборе
`Сервис'-`Построение графиков функций'- `Показательная'
Диалоговое окно при выборе
`Сервис'-`Построение графиков функций'- `Логарифмическая'
Диалоговое окно при выборе кнопки отмены действий
Диалоговое окно при вводе недопустимых значений функции
Диалоговое окно при вводе недопустимых значений функции
Диалоговое окно при вводе недопустимых значений функции
Диалоговое окно при выборе пункта меню
`Сервис'-`Графическое решение уравнений'
Диалоговое окно при выборе
пункта меню `Файл'-`Печать…'
Диалоговое окно при выборе пункта меню `Файл'-`Выход'
управляющей кнопки `Закрыть'
Данная расчетно-пояснительная записка состоит из 7 основных глав, которые в общей сложности занимают 82 печатных листа. В состав 7 основных глав входят: специальная часть дипломного проекта (теоретическая часть, практическая часть, программная документация, эксплутационная документация, разработка программного обеспечения), организационно-экономическая часть, главы по охране труда и технике безопасности и эргономике.
Расчетно-пояснительная записка содержит 5 рисунков и 7 таблиц.
Подобные документы
Классификация групп стандартов. Основные виды программ и программных документов: спецификация, ведомость держателей подлинников, текст и описание программы, методика испытаний. Содержание эксплуатационных документов. Руководство системного программиста.
презентация [97,7 K], добавлен 27.12.2013Средства программирования, описание языка С++. Назначение программы, требования к документации. Стадии разработки, виды испытаний. Используемые технические, программные средства. Вызов и загрузка, входные и выходные данные. Программа и методика испытаний.
контрольная работа [205,3 K], добавлен 23.07.2013Анализ и описание алгоритма. Основные характеристики выбранного компьютера, программных сред (операционная система и среда программирования). Описание компонентов и интерфейса программы, а также модулей, процедур и функций. Вызов и загрузка программы.
курсовая работа [1,3 M], добавлен 26.04.2015Использование единой системы программной документации. Состав нормативно-технических документов. Разработка анкетирования средствами web-приложений. Описание и текст программы, методика испытаний. Анализ предметной области сайта. Пояснительная записка.
курсовая работа [32,2 K], добавлен 13.03.2015Структура взаимодействия входной, выходной информации. Требования к программно-аппаратному окружению, эргономике. Эскиз, спецификация типовых объектов управления графического интерфейса. Руководство системного программиста, настройка и проверка программы.
курсовая работа [2,6 M], добавлен 02.09.2013Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.
дипломная работа [2,0 M], добавлен 10.07.2012Основания для разработки программы: назначение и сферы практического использования, главные предъявляемые требования. Характеристика логической структуры и используемые технические средства. Программа и методика испытаний. Эксплуатационные документы.
курсовая работа [2,4 M], добавлен 16.12.2013Требования к программе или программному продукту. Условия эксплуатации и требования к параметрам технических средств. Программное обеспечение, рекомендуемое для функционирования программы. Руководство системного программиста и настройка программы.
отчет по практике [1,1 M], добавлен 22.07.2012Техническое задание на разработку программного продукта и требования к программе. Написание алгоритма работы и разработка интерфейса программы. Руководство системного программиста и оператора. Основные методы и принципы тестирования базы данных.
дипломная работа [2,7 M], добавлен 27.01.2013Краткое описание этапов разработки программного продукта. Анализ поставленных задач и определение основных функций программы. Разработка пользовательского интерфейса. Составление программной документации. Техническое задание на разработку проекта.
дипломная работа [1,5 M], добавлен 06.04.2013