End Function

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

SubDrawGraph ()

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

Dimx1 As Single,x2 As Single

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

Dimy1 As Single, y2 As Single

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

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

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

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

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

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

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

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

Dimmx As Single,my As Single

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

Dimx0 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 SubForm_Paint ()

CallDrawGraph

End Sub

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

Private SubForm_Resize ()

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