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

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

  • 10 страниц(ы)
  • 3258 просмотров
фото автора

Автор: navip

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

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

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

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

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

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

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
Узнайте стоимость
написания вашей работы

Не подошла эта работа?

Воспользуйтесь поиском по базе из более чем 40000 работ

Другие работы автора
Наши услуги
Дипломная на заказ

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

от 8000 руб.

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

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

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

от 1500 руб.

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

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

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

от 1500 руб.

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

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

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

от 100 руб.

срок: от 1 дня

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

Реферат

от 700 руб.

срок: от 1 дня

682 автора

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

23 задания

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

10 минут

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