- •Содержание
- •Основные понятия ооп
- •Объекты
- •Классы объектов
- •Свойства
- •События
- •Инкапсуляция
- •Наследование
- •Полиморфизм (имеющий много форм)
- •Визуальное проектирование интерфейса
- •Процесс создания приложений
- •Структура проекта
- •Событийно-управляемое программирование наVb
- •Типы данных, константы и переменные
- •Типы данных
- •Особые значения
- •Переменные
- •Объявление переменных
- •Константы
- •Выражения, операторы, встроенные функции Выражения
- •Операторы
- •Операции и выражения
- •Встроенные функцииVb Математические функцииVb
- •Функции преобразования данныхVb
- •ФункцияInputBox
- •ФункцияMsgBox
- •Некоторые константы аргумента Кнопки
- •Ввод и вывод данных в vb
- •Ввод данных
- •Вывод результатов
- •Функция Format
- •Управляющие операторы
- •Основные логические операции
- •Таблицы истинности для основных логических операций:
- •Циклы с параметром
- •Циклы «Делать пока»
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •ОператорOptionBase
- •ОператорErase
- •Ввод и вывод массивов Одномерные массивы
- •Двумерные массивы
- •Процедуры и функции Sub-процедуры
- •Событийные процедуры
- •Процедуры пользователя
- •Вызов процедур
- •Аргументы
- •Функции-процедуры
- •Данные символьного типа
- •Функция Split
- •Функция Join
- •Оператор Mid
- •Функции и операторы для работы с файлами
- •Открытие файлов
- •Закрытие файлов
- •Работа с файлами последовательного доступа
- •Чтение данных
- •Запись данных
- •Элемент управления CommonDialog
- •Графика в vb
- •Методы графики в vb
- •Задание цвета
- •Свойства объектов, влияющих на графические методы:
- •Применение метода Scale
- •Построение графика функции
- •Некоторые дополнительные элементы управления, которые часто используются в проектах.
- •Объект управленияProgressBar
- •Создание меню
- •Свойства
- •Работа с несколькими формами
ОператорErase
В случае массивов с фиксированным размером оператор Eraseпозволяет очищать все элементы массива. Его действие аналогично ***.
В случае динамических массивов оператор Eraseпозволяет полностью массив и его содержимое из оперативной памяти.
Синтаксис Erase a1[, a2, …], т.е. за один раз можно очистить (удалить) несколько массивов.
Ввод и вывод массивов Одномерные массивы
1. Найти максимум в одномерном массиве
Option Base 1 Dim a(10) As Single Private Sub Command1_Click() n = Val(Text1.Text) av = Split(Text2.Text, " ") For i = 1 To n a(i) = val(av(i - 1)) Next Max = a(1) k = 1 For i = 1 To n If a(i) > Max Then Max = a(i) k = i End If Next i Picture1.Print "Максимальный элемент "; Max Picture1.Print "Его номер "; k End Sub |
Для ввода были использованы два элемента управления TextBox. Первый - для указания числа элементов, из которых состоит массив. Во втором – вводится строка, состоящая из элементов массива разделенных пробелом.
Функция Splitразделит строкуText2по указанному разделителю (пробелу) на массив подстрок. Подстрок будет столько, сколько было введено элементов. Массив подстрок индексируется с нуля!
И только после этого цикл определит элементы массива.
2. Сортировка методом пузырька
Метод основан на сравнении соседних элементов. «Неправильно» расположенные по отношению друг к другу элементы меняются местами. Во вложенных циклах поочередно фиксируется пара соседних элементов массива. В результате первого прохода элемент с минимальным значением оказывается в первой позиции массива (всплывает).
Вывод массива осуществляется в PictureBoxв столбик.
Const n = 10 Dim a(1 To n) As Byte Private Sub Command1_Click() Randomize For i = 1 To n a(i) = Int(Rnd * 40) Picture1.Print a(i) Next i End Sub Private Sub Command2_Click() Dim r As Byte For i = 1 To n For j = 1 To n - 1 If a(j) > a(j + 1) Then r = a(j) a(j) = a(j + 1) a(j + 1) = r End If Next j Next i For i = 1 To n Picture2.Print a(i) Next i End Sub |
Двумерные массивы
Для обработки двумерных массивов чаще всего используют два вложенных друг в друга цикла For…Next, каждый из которых позволяет перебирать элементы в массиве по соответствующему индексу строки или столбца.
3. Вычислить произведение положительных элементов матрицы
Dim a(50,50) As Single
Private sub command1_click()
n=val(text1.text)
m=val(text2.text)
P=1
For i=0 to n-1
For j=0 to m-1
Txt=”задайте элемент из строки ” & str(i+1) & “ и столбца “ & str(j+1)
A(i,j)=val(inputbox(txt))
Picture1.Print Format (a(i,j), “##.#”);
If a(i,j)>0 then p=p*a(i,j)
Next j
Picture1.print
Next i
Picture1.Print “Произведение положительных”; p
End sub
В текстовых окнах задается количество строк и столбцов массива, элементы массива задаются по одному в окне InputBox, массив и результат печатаются в графическое окно:
При этом для вывода двумерного массива в виде таблицы или матрицы метод Printиспользуется внутри цикла по столбцу, причем в конце списка вывода ставится точка с запятой, которая означает, что вывод идет в одну и ту же строку. В конце цикла по строкам ставится пустойPrint для перевода курсора вывода в начало следующей строки.
4. Транспонирование матрицы (перемены местами строк и столбцов)
Dim a(1 To 2, 1 To 3), b(1 To 3, 1 To 2) As Single
Dim i As Integer, j As Integer
For i = 1 To 2
For j = 1 To 3
a(i, j) = Rnd * 10 + 1
b(j, i) = a(i, j)
Next j
Next i
For i = 1 To 3
For j = 1 To 2
Print b(i, j);
Next j
Next i