Слайд 1ПОДКЛЮЧЕНИЕ
ДОПОЛНИТЕЛЬНЫХ
ЭЛЕМЕНТОВ
УПРАВЛЕНИЯ
Слайд 4Dim 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 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
Слайд 9Dim 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,
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 = (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)
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
Слайд 13For 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, 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
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, 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
Слайд 17ArrY(2, XCounter) = Sin(XNow) * 2 * KardParam * (1
+ Cos(XNow))
KardParam = 3
ArrY(3, XCounter) = Sin(XNow) * 2 *
KardParam * (1 + Cos(XNow))
Next XCounter
'Розы (a=1,m=5/3)
Case "Розы"
NFunc = 1
ReDim ArrX(1 To NX) As Currency
ReDim ArrY(1 To NFunc, 1 To NX) As Currency
For XCounter = 1 To NX
XNow = XMin + (XCounter - 1) * XStep
RoseParamA = 1
RoseParamM = 5 / 3
ArrX(XCounter) = Cos(XNow) * RoseParamA * Sin(RoseParamM * XNow)
ArrY(1, XCounter) = Sin(XNow) * RoseParamA * Sin(RoseParamM * XNow)
Next XCounter
End Select
End Sub