Лабораторная работа

«Решение квадратного уравнения на Visual Basic (исходник)»

  • 10 страниц
Содержание

Аналитический способ

Приближенный способ

Графический способ

Введение

Аналитический способ

Приближенный способ

Графический способ

Option Explicit

Private Const PointsCount As Long = 40

Private Const frame As Single = 300

Private x_min As Double, x_max As Double

Private y_min As Double, y_max As Double

Private kx As Double, ky As Double

Private Sub Form_Load()

fraControl.Left = Me.ScaleWidth - fraControl.Width

picPlot.Move 0, 0, fraControl.Left, Me.ScaleHeight

End Sub

Private Sub cmdGo_Click()

Dim i As Long, x As Double, y As Double

Dim x0 As Single, y0 As Single

x_min = -5: x_max = 10

y_min = -20: y_max = 30

kx = (picPlot.ScaleWidth - 2 * frame) / (x_max - x_min)

ky = (picPlot.ScaleHeight - 2 * frame) / (y_max - y_min)

x0 = -x_min * kx

y0 = -y_min * ky

picPlot.Cls

picPlot.Line (frame + x0, frame)-(frame + x0, picPlot.ScaleHeight - frame), &HA0A0A0

picPlot.Line (frame, picPlot.ScaleHeight - frame - y0)-(picPlot.ScaleWidth - frame, picPlot.ScaleHeight - frame - y0), &HA0A0A0

If chkPoints.Value = vbChecked Then

DrawPoint frame + x_min * kx + x0, picPlot.ScaleHeight - frame - math_func(x_min) * ky - y0

End If

picPlot.CurrentX = frame + x_min * kx + x0

picPlot.CurrentY = picPlot.ScaleHeight - frame - math_func(x_min) * ky - y0

For i = 1 To PointsCount

x = x_min + i * (x_max - x_min) / PointsCount

y = math_func(x)

picPlot.Line -(frame + x * kx + x0, picPlot.ScaleHeight - frame - y * ky - y0)

If chkPoints.Value = vbChecked Then

DrawPoint frame + x * kx + x0, picPlot.ScaleHeight - frame - y * ky - y0

End If

Next i

picPlot.Line (frame, frame)-(picPlot.ScaleWidth - frame, picPlot.ScaleHeight - frame), &H808080, B

End Sub

Private Function math_func(ByVal x As Double) As Double

Dim k As Double, b As Double

If optFunc(0).Value Then

k = 2

b = 3

math_func = k * x + b

ElseIf optFunc(1).Value Then

math_func = 10 * Sin(x)

ElseIf optFunc(2).Value Then

math_func = x * x + 2 * x - 3

End If

End Function

Private Sub DrawPoint(ByVal x As Single, ByVal y As Single)

picPlot.DrawWidth = 3

picPlot.PSet (x, y)

picPlot.DrawWidth = 1

End Sub

Заключение

Option Explicit

Private Const PointsCount As Long = 40

Private Const frame As Single = 300

Private x_min As Double, x_max As Double

Private y_min As Double, y_max As Double

Private kx As Double, ky As Double

Private Sub Form_Load()

fraControl.Left = Me.ScaleWidth - fraControl.Width

picPlot.Move 0, 0, fraControl.Left, Me.ScaleHeight

End Sub

Private Sub cmdGo_Click()

Dim i As Long, x As Double, y As Double

Dim x0 As Single, y0 As Single

x_min = -5: x_max = 10

y_min = -20: y_max = 30

kx = (picPlot.ScaleWidth - 2 * frame) / (x_max - x_min)

ky = (picPlot.ScaleHeight - 2 * frame) / (y_max - y_min)

x0 = -x_min * kx

y0 = -y_min * ky

picPlot.Cls

picPlot.Line (frame + x0, frame)-(frame + x0, picPlot.ScaleHeight - frame), &HA0A0A0

picPlot.Line (frame, picPlot.ScaleHeight - frame - y0)-(picPlot.ScaleWidth - frame, picPlot.ScaleHeight - frame - y0), &HA0A0A0

If chkPoints.Value = vbChecked Then

DrawPoint frame + x_min * kx + x0, picPlot.ScaleHeight - frame - math_func(x_min) * ky - y0

End If

picPlot.CurrentX = frame + x_min * kx + x0

picPlot.CurrentY = picPlot.ScaleHeight - frame - math_func(x_min) * ky - y0

For i = 1 To PointsCount

x = x_min + i * (x_max - x_min) / PointsCount

y = math_func(x)

picPlot.Line -(frame + x * kx + x0, picPlot.ScaleHeight - frame - y * ky - y0)

If chkPoints.Value = vbChecked Then

DrawPoint frame + x * kx + x0, picPlot.ScaleHeight - frame - y * ky - y0

End If

Next i

picPlot.Line (frame, frame)-(picPlot.ScaleWidth - frame, picPlot.ScaleHeight - frame), &H808080, B

End Sub

Private Function math_func(ByVal x As Double) As Double

Dim k As Double, b As Double

If optFunc(0).Value Then

k = 2

b = 3

math_func = k * x + b

ElseIf optFunc(1).Value Then

math_func = 10 * Sin(x)

ElseIf optFunc(2).Value Then

math_func = x * x + 2 * x - 3

End If

End Function

Private Sub DrawPoint(ByVal x As Single, ByVal y As Single)

picPlot.DrawWidth = 3

picPlot.PSet (x, y)

picPlot.DrawWidth = 1

End Sub

Примечания

К работе прилагается программа с исходным кодом.

К работе прилагается все исходники.

Покупка готовой работы
Тема: «Решение квадратного уравнения на Visual Basic (исходник)»
Раздел: Информатика
Тип: Лабораторная работа
Страниц: 10
Цена: 300 руб.
Нужна похожая работа?
Закажите авторскую работу по вашему заданию.
  • Цены ниже рыночных
  • Удобный личный кабинет
  • Необходимый уровень антиплагиата
  • Прямое общение с исполнителем вашей работы
  • Бесплатные доработки и консультации
  • Минимальные сроки выполнения

Мы уже помогли 24535 студентам

Средний балл наших работ

  • 4.89 из 5
Узнайте стоимость
написания вашей работы
Популярные услуги
Дипломная на заказ

Дипломная работа

от 8000 руб.

срок: от 6 дней

Курсовая на заказ

Курсовая работа

от 1500 руб.

срок: от 3 дней

Отчет по практике на заказ

Отчет по практике

от 1500 руб.

срок: от 2 дней

Контрольная работа на заказ

Контрольная работа

от 100 руб.

срок: от 1 дня

Реферат на заказ

Реферат

от 700 руб.

срок: от 1 дня

682 автора

помогают студентам

23 задания

за последние сутки

10 минут

среднее время отклика