End Function

‘ процедура строит график функции

Sub DrawGraph ()

‘ границы изменения аргумента функции:

Dim x1 As Single, x2 As Single

границы изменения значения функции:

Dim y1 As Single, y2 As Single

Dim x As Single ‘ аргумент функции

Dim y As Single ‘ значение функции в точке х

Dim dx As Single ‘ приращение аргумента

Dim 1, b As Integer ‘ левый нижний угол области

‘ вывода графика

Dim w, h As Integer ‘ ширина и высота области

‘ вывода графика

‘ масштаб по осям X и Y:

Dim mx As Single, my As Single

‘ точка начала координат:

Dim x0 As Integer, y0 As Integer

‘ область вывода графика

Forml.ScaleMode = 3

1 = 10 ‘ X-координата левого верхнего угла
b = Forml.ScaleHeight – 20 ‘ Y-координата левого верхнего угла
h = Forml.ScaleHeight – 40 ‘ высота области вывода
w = Forml.ScaleWidth – 20 ‘ ширина области вывода
x1 = 0 ‘ нижняя граница диапозона аргумента
x2 = 25 ‘ верхняя граница диапозона аргумента
dx = 0.01 ‘ шаг аргумента
‘ нахождение максимального и минимального значений функции на отрезке [x1, x2]
y1 = f (x1) ‘ пусть это минимум
y2 = f (x2) ‘ пусть это максимум

x = x1

While (x <= x2)

y = f(x)

If y < y1 Then y1 = y

‘ если нашлось меньшее значение, то считаем это значение минимальным и т.д.

If y > y2 Then y2 = y

‘ аналогично для максимума: если нашлось большее значение, то считаем это значение максимальным и т.д.

x = x + dx

Wend

‘ вычисление масштаба

my = h / Abs (y2 – y1) ‘ масштаб по оси Y
mx = w / Abs (x2 – x1) ‘ масштаб по оси X

‘ прорисовка координатных осей и подпись максимального и минимального значений

x0 = 1

y0 = b – Abs (Round (y1 * my))

Line (l, b) – (l, b – h)

Line (x0, y0) – (x0 + w, y0)

Form1.CurrentX = l + 5

Forml. CurrentY = b – h

Print Format$ (y2, “##0. 000”)

Forml. CurrentX = l + 5

Forml. CurrentY = b – 12

Print Format$ (y1, “##0. 000”)

‘ построение графика

x = x1

While (x <= x2)

y = f (x)

PSet (x0 + Round (x * mx), y0 – Round (y * my)), RGB (200, 0, 0)

x = x + dx

Wend

End Sub

‘ обработка события Paint

Private Sub Form_Paint ()

Call DrawGraph

End Sub

изменение размера окна программы

Private Sub Form_Resize ()

Forml.Cls ‘ очистка формы
CallDrawGraph ‘ построение графика

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: