Слайд 2

Слайд 3

ПОСТРОЕНИЕ ГРАФИКОВ

ПОСТРОЕНИЕ ГРАФИКОВ

Слайд 4

Dim a() As Single, b() As Single, c() As Single, n

Dim a() As Single, b() As Single, c() As Single, n

As Integer
Private Sub Command1_Click()
With MSChart1
.chartType = VtChChartType2dLine
.RowCount = n
.ColumnCount = 2
.ShowLegend = True
.Title.Text = "ГРАФИКИ"
For i = 1 To n
.Row = i: .Column = 1
.ColumnLabel = "first"
.RowLabel = CStr(a(i))
.Data = CStr(b(i))
.Column = 2
.ColumnLabel = "second"
.Data = CStr(c(i))
Next i
End With
End Sub
Слайд 5

Private Sub Form_Load() n = 10 List1.Clear: List2.Clear: List3.Clear ReDim a(1

Private Sub Form_Load()
n = 10
List1.Clear: List2.Clear: List3.Clear
ReDim a(1 To n) As

Single, b(1 To n) As Single, c(1 To n) As Single
For i = 1 To n
a(i) = i + 3: b(i) = a(i) * 3 + 2
c(i) = 7 * a(i)
List1.AddItem (CStr(a(i)))
List2.AddItem (CStr(b(i)))
List3.AddItem (CStr(c(i)))
Next i
End Sub
Слайд 6

Слайд 7

Слайд 8

Слайд 9

Dim ArrX() As Currency, ArrY() As Currency Dim NValue As Integer

Dim ArrX() As Currency, ArrY() As Currency
Dim NValue As Integer
Dim NFunc

As Integer
Const Pi = 3.14
Private Sub Form_Load()
NFunc = 1
cboName.AddItem ("Фигуры Лиссажу")
cboName.AddItem ("Кардиоида")
cboName.AddItem ("Розы")
End Sub
Private Sub Command1_Click()
Cls
PicChart.Cls
MakeChart Text1.Text, CCur(Text2.Text), CCur(Text3.Text), CCur(Text4.Text), CCur(Text5.Text), Text6.Text, Text7.Text, Text8.Text, Text9.Text
End Sub
Слайд 10

'Рисование графика функции Private Sub MakeChart(NValue As Integer, XMin As Currency,

'Рисование графика функции
Private Sub MakeChart(NValue As Integer, XMin As Currency,
XMax

As Currency, YMin As Currency, YMax As Currency, NxGrid As Integer, NyGrid As Integer, TextX As String,
TextY As String)
Dim XCounter As Integer, YCounter As Integer
Dim XStep As Currency, YStep As Currency
Dim XDraw1 As Currency, YDraw1 As Currency, XDraw2 As Currency, YDraw2 As Currency
Dim XYScale As Integer, ValuePrint As Currency
'Установка пользовательских координат
PicChart.Scale (XMin, YMax)-(XMax, YMin)
Слайд 11

'Сетка PicChart.DrawStyle = vbDot PicChart.DrawWidth = 1 PicChart.ForeColor = vbBlack XStep

'Сетка
PicChart.DrawStyle = vbDot
PicChart.DrawWidth = 1
PicChart.ForeColor = vbBlack
XStep = (XMax - XMin)

/ NxGrid
YStep = (YMax - YMin) / NyGrid
For XCounter = 0 To NxGrid
XDraw1 = XMin + XCounter * XStep
YDraw1 = YMin
YDraw2 = YMax
PicChart.Line (XDraw1, YDraw1)-(XDraw1, YDraw2)
Next XCounter
For YCounter = 0 To NyGrid
XDraw1 = XMin
XDraw2 = XMax
YDraw1 = YMin + YCounter * YStep
PicChart.Line (XDraw1, YDraw1)-(XDraw2, YDraw1)
Next YCounter
Слайд 12

'Подписи к осям CurrentX = PicChart.Left CurrentY = PicChart.Top - TextHeight(TextY)

'Подписи к осям
CurrentX = PicChart.Left
CurrentY = PicChart.Top - TextHeight(TextY)
Print TextY
CurrentX =

PicChart.Left + PicChart.Width + TextWidth("0")
CurrentY = PicChart.Top + PicChart.Height - TextHeight(TextX)
Print TextX
'Подписи к линиям сетки
For XCounter = 0 To NxGrid
ValuePrint = Round(XMin + XCounter * XStep, 2)
CurrentX = PicChart.Left + PicChart.Width * XCounter / NxGrid - TextWidth((ValuePrint)) / 2
CurrentY = PicChart.Top + PicChart.Height + TextHeight("0") / 2
Print ValuePrint
Next XCounter
Слайд 13

For YCounter = 0 To NyGrid ValuePrint = Round(YMax - YCounter

For YCounter = 0 To NyGrid
ValuePrint = Round(YMax - YCounter *

YStep, 2)
CurrentX = PicChart.Left - TextWidth(Abs(ValuePrint)) - TextWidth("00")
CurrentY = PicChart.Top + PicChart.Height * YCounter / NyGrid - TextHeight(ValuePrint) / 2
Print ValuePrint
Next YCounter
'Задание массивов
Call EntryArray(NValue)
'Рисование графиков
PicChart.DrawStyle = vbSolid
PicChart.DrawWidth = 2
For YCounter = 1 To NFunc
'Изменение цветов
Select Case YCounter
Case 1: PicChart.ForeColor = vbRed
Case 2: PicChart.ForeColor = vbBlue
Case 3: PicChart.ForeColor = vbGreen
End Select
Слайд 14

'Рисование первой точки XDraw1 = ArrX(1) YDraw1 = ArrY(YCounter, 1) PicChart.PSet

'Рисование первой точки
XDraw1 = ArrX(1)
YDraw1 = ArrY(YCounter, 1)
PicChart.PSet (XDraw1, YDraw1)
'Рисование остальных

точек
For XCounter = 2 To NValue
XDraw1 = ArrX(XCounter)
YDraw1 = ArrY(YCounter, XCounter)
PicChart.Line -(XDraw1, YDraw1)
Next XCounter
Next YCounter
Erase ArrX, ArrY
End Sub
Слайд 15

'Заполнение массивов Private Sub EntryArray(NX As Integer) Dim XCounter As Integer

'Заполнение массивов
Private Sub EntryArray(NX As Integer)
Dim XCounter As Integer
Dim XMin As

Currency, XMax As Currency, XStep As Currency, _
XNow As Currency
Dim KardParam As Integer
Dim RoseParamA As Integer, RoseParamM As Currency
'Граничные значения аргумента
XMin = -2 * Pi
XMax = 2 * Pi
XStep = (XMax - XMin) / (NX - 1)
'Выбор функции
Select Case cboName.Text
Case "Фигуры Лиссажу"
Слайд 16

'Фигуры Лиссажу NFunc = 1 ReDim ArrX(1 To NX) As Currency,

'Фигуры Лиссажу
NFunc = 1
ReDim ArrX(1 To NX) As Currency, ArrY(1 To

NFunc, 1 To NX)
For XCounter = 1 To NX
XNow = XMin + (XCounter - 1) * XStep
ArrX(XCounter) = Sin(2 * XNow)
ArrY(1, XCounter) = Sin(3 * XNow)
Next XCounter
'Кордиоида (a=1,a=2,a=3)
Case "Кардиоида"
NFunc = 3
ReDim ArrX(1 To NX) As Currency, ArrY(1 To NFunc, 1 To NX)
For XCounter = 1 To NX
XNow = XMin + (XCounter - 1) * XStep
KardParam = 1
ArrX(XCounter) = Cos(XNow) * 2 * KardParam * (1 + Cos(XNow))
ArrY(1, XCounter) = Sin(XNow) * 2 * KardParam * (1 + Cos(XNow))
KardParam = 2