
- •Федеральное государственное бюджетное образовательное учреждение
- •Оглавление
- •§ 2. Объекты, методы, свойства
- •2.1. Объекты (Objects)
- •2.2. Классы объектов (Classes Objects)
- •2.3. Свойства объекты (Properties)
- •2.4. Методы объекты (Methods)
- •Объект.Метод (арг1, арг2) § 3 Объекты: Application, Range, Selection, Cells, их методы и свойства
- •3.1. Объект Application (приложение)
- •3.1.1. Свойства объекта Application
- •3.1.2. Методы объекта Application
- •3.2. Объект Range
- •3.2.1. Свойства объекта Range
- •Объект. Cells ( номер_строки, номер_столбца).
- •3.2.2. Методы Объекта Range
- •3.3. Объект Selection
- •3.3.1. Свойства Объекта Selection
- •3.3.2. Методы Объекта Selection
- •§ 4 Семейство UserForms, их методы и свойства
- •4.1. Свойства пользовательской формы
- •4.2. Методы пользовательской формы
- •§ 5 Элементы управления
- •5.1. Свойства элементов управления
- •5.2. Label – метка (надпись, статический текст)
- •5.3. TextBox – поле ввода (окно редактирования)
- •5.4. CommandButton – командная кнопка
- •5.5. OptionButton – кнопка-переключатель
- •5.6. ListBox – список
- •5.7. CheckBox – флажок (кнопка выбора)
- •5.8. ScrollBar – полоса прокрутки
- •5.9. Frame – рамка (группы)
- •§ 6 Создание пользовательских форм
- •Лабораторный практикум № 1. Заполнение ListBox.
- •1. Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •Программа Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •2. Заполнение объектов ListBox, расположенных на разных объектах UserForm.
- •2.1 Заполнение списка поэлементно, если список состоит из одной колонки
- •2.2 Заполнение списка массивом, если список состоит из одной колонки
- •2.3 Заполнение списка из диапазона, в который предварительно введены элементы списка
- •2.4 Заполнение списка поэлементно, если список состоит из нескольких колонок
- •2.5 Заполнение списка массивом, если список состоит из нескольких колонок
- •3. Заполнение объектов ListBox, расположенных на листе Excel
- •Программа Заполнение объектов ListBox, расположенных на листе Excel
- •Лекция 2. Виды алгоритмов. Операторы цикла
- •§ 1. Алгоритмы последовательные, разветвляющиеся и циклические с заданным числом итераций и с неизвестным числом итераций
- •1.1. Алгоритмы линейной структуры
- •1.2. Алгоритмы разветвляющейся структуры
- •If [условие] Then
- •1.3. Алгоритмы циклической структуры
- •§ 2. Операторы цикла в Excel и vba
- •2.1. Операторы цикла vba
- •Операторы
- •Операторы
- •Do While [условие] операторы
- •Операторы
- •2.3. Выход из структур управления
- •2.4. Оператор цикла с предусловием While…Do
- •While Условие Do Оператор.
- •2.5. Оператор цикла с постусловием Repeat…Until
- •2.3 Оператор цикла с параметром for
- •2.4 Оператор цикла с параметром With
- •Лабораторный практикум № 2. Табулирование функции
- •Программа табулирование разветвляющейся функции вVва
- •Функции, разветвляющейся больше, чем один раз
- •Программа табулирования двух функций вVва
- •2. Табулирование функции
- •2.1 Программа табулирования функции в vва
- •4. Табулирование функций в объектах ListBox
- •2.2 Программа Табулирование функций в объекте ListBox
- •Лекция 3. Файлы
- •Чтение из файла.
- •Чтение из файла
- •Лабораторный практикум № 3.
- •Часть 1
- •Часть 2
- •Часть 3
- •Лекция 4. Массивы
- •Лабораторный практикум № 4
- •Лекция 5. Графика
- •Ксения Владимировна Григорьева Информатика Введение в объектно-ориентированное программирование
Лабораторный практикум № 4
Private Sub CommandButton1_Click()
Dim a(1 To 2,1 To 3) As Double
Dim b(1 To 3,1 To 4) As Double
Dim c(1 To 2,1 To 4) As Double
Range(''al:c2'').Select
Cells(4,1)=''Матрицa A''
For i=1To 2
For j=1To 3
a(i,j)=Selection.Cells(i,j).Value
Cells(i+4,j)=a(i,j)
Next j
Next I
Range(''eI:h3'').Select
Cells(4,5)=''Матрица B''
For i=1 To 3
For j=1 To 4
b(i,j)=Selection.Cells(i,j).Value
Cells(i+4,j+4)=b(i,j)
Next j
Next I
Cells(8,3)=''Матрица C''
Range(''E8:H9'').Select
Selection.FormulaArray =''=MMULT(A1:C2,E1:H3)''
Cells(11,1)=''Матрица Z''
Cells(11,6)=''Матрица Z трансп''
Range(''F12:H14'').Select
Selection.FormulaArray=''=TRANSPOSE(A12:C14)''
Cells(16,1)=''Матрица Z обр''
Range(''a17:c19'').Select
Selection.FormulaArray=''= minverSE(A12:C14)''
'c(1 To 2,1 To 4)=application.mmult(a( 1 To 2, 1 To 3):b(1 To 3,1 To 4))
'c=Application.MMult(a.b)
End Sub
Function Ed(al As Variant)As Variant
Ed=Application.MMult(Application.MInverse(al),al)
End Function
Function Kvadr_Forma(A As Variant,y As Variant)As Variant
s1=Application.Transpose(y)'Транспонирование Y
s2=Application.MMult(s1,A)'YT*A
s3= Application.Transpose (A)'Транспонирование A
s4= Application.MMult(s2,s3)'
s5= Application.MMult(s4,A)
s6= Application.MMult(s5,s3)
s7= Application.MMult(s6,y)
Kvadr_Forma=s7
End Function
=мумнож(мумнож(мумнож(трансп(F2:F5);A2:D5);мумнож(C12:F17;A2:D5));мумнож(C14:F17;F2:F5))
Лекция 5. Графика
Материалы этой статьи опубликованы в [], [].
§ 1.
…
1.1.
Программма выводит на поверхность формы изображение оцифрованной координатной сетки. Окно программы показано на рис. 2.6
Dim x0, y0 As Integer |
‘координаты начала координатных ‘осей |
Dim dx, dy As Intager |
‘ шаг координатной сетки по X и Y |
Dim h, w As Integer |
‘высота и ширина области вывода ‘координатной сетки |
Dim x, y As Integer |
|
Dim 1x, 1y As Single
|
‘ метки (оцифровка) линий сетки ‘по осям X и Y |
Dim d1x, d1y As Single
|
‘ шаг меток (оцифровки) линий сетки ‘ по осям X и Y |
Dim cross As Integer
Dim dcross As Integer |
‘ счётчик не оцифрованных линий ‘сетки ‘ количество не оцифрованных линий ‘между оцифрованными по оси X |
‘ инициализация формы
Private Sub Form_Initialize()
Form1.BackColor = RGB (255, 255, 255)
h = 210
w = 210
-
x0 = 30 y0 = 15 + h
‘оси начинаются в точке (30, 15 + h)
dx = 30
dy = 30
‘шаг координатной сетки – 30 ‘пикселов
dcross = 1
‘ линии сетки X помечаются:
‘dcross = 1 – каждая,
‘dcross = 2 – через одну,
‘dcross = 3 – через две и т.д.
d1x = 0.5
‘ шаг меток оси X
d1y = 1
‘ шаг меток оси Y, метками будут:
‘ 1, 2, 3, 4 и т.д.
cross = dcross
Form1.Height=(Form1.Height - Form1.ScaleHeight) + _
(h+30+15)*Screen.TwipsPerPixelX
Form1.Width=(Form1. Width - Form1.Scale Width) + _
(w+30+15)*Screen.TwipsPerPixelX
Form1.ScaleMode = 3
End Sub
‘ обработка события Paint
Private Sub Form_Paint ()
Line (x0, y0) – (x0, y0 – h) ‘ ось Х
Line (x0, y0) – (x0 + w, y0) ‘ ось Y
‘засечки, сетка и оцифровка по оси X
x = x0 + dx
lx = dlx
While (x < x0 + w)
Line (x, y0 + 3 ) – (x, y0 – 3) ‘ засечка
cross = cross – 1
If cross = 0 Then ‘ оцифровка
Forml.CurrentX = x – 8
Forml.CurrentY = y0 + 5
Print Format$(lx, “0.0”)
cross = dcross
End If
Forml.DrawStyle = 2 |
‘ задание типа линии ‘ пунктирный |
Line ( x, y0 – 5) – (x, y0 – h) |
‘ линия сетки |
Forml.DrawStyle = 0 |
‘задание типа линии ‘сплошной |
lx = lx + dlx
x = x + dx
Wend
‘ засечки, сетка и оцифровка по оси Y
y = y0 – dy
ly = dly
While (y > y0 - h)
Line (x0 – 3, y) – (x0 +3, y) ‘ засечка
Forml.CurrentX = x0 – 22 ‘оцифровка
Forml.CurrentY = y – 5
Print.Format$(ly, “0.0”)
Forml.DrawStyle = 2
Line (x0 +5, y)-(x0 +w, y) ‘линия сетки
Forml.DrawStyle = 0
y = y - dy
ly = ly + dly
Wend
End Sub
6. Программа вычеркивает график фкункции (в данном примере функция имеет вид 2sin(x)ex/5) на поверхности формы. Окно программы приведено на рис. 2.7.
‘ инициализация формы
Private Sub Form_Initialize()
Form1.BackColor = RGB (255, 255, 255)
End Sub
‘ функция, график которой будет построен
Function f (x As Single) As Single
f = 2 * Sin(x) * Exp(x/5)
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 |
‘ очистка формы |
Call DrawGraph |
‘ построение графика |
End Sub
Список литературы
Н.Д. Угринович «Информатика и информационные технологии». Учебник для 10-11 классов. М: БИНОМ. Лаборатория знаний, 2007. – 511 с.: ил.
Угринович Н.Д. «Информатика и ИКТ». Учебник для 9 класса. М.:БИНОМ. Лаборатория знаний, 2007. – 320 с.: ил.
http://yandex.ru/clck/redir/ Справочник Visual Basic for Applications.
http://www.bourabai.kz/
http://www.excel-team.ru/user_forms.php
http://www.INTUIT.ru
Информатика для I курса (лабораторные работы) часть I: Учебное пособие по выполнению лабораторных работ по курсу ”Информатика” для студентов всех специальностей/ СПбГАСУ; Сост.: С. Н. Никифоров СПб., 2011. 94 с.
http:// ru.wikipedia.org/wiki/
http://www.mini-soft.ru/soft/vba/r_7.php
http://forprogrammer.narod.ru/pascal/statements.htm
http://borlpasc.narod.ru/docym/le/teor/g7/str.htm
12 http://www.studfiles.ru Visual Basic 6.0 Информатика/БВГ/БурковВГ_Материалы_Расширений_электронных_лекций/БурковВГ_Лекция_Данные символьного типа и работа с файлами в VB 6.0..doc