Обучающая программа "Построение графиков функций"

Среда 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.