![](/user_photo/2706_HbeT2.jpg)
- •Содержание
- •17.2.2. Свойства 130
- •17.6.2. Свойства 133
- •17.7.2. Свойства 134
- •18. Меню 139
- •Основные понятия ооп
- •Объекты
- •Классы объектов
- •Свойства
- •События
- •Три основных принципа ооп
- •Инкапсуляция
- •Наследование
- •Полиморфизм (имеющий много форм)
- •Визуальное проектирование интерфейса
- •Событийно-управляемое программирование
- •Процесс создания приложений
- •Интегрированная среда разработки (иср) visual basic
- •Общая организация программы в vb
- •Структура проекта vb
- •Структура событийной процедуры
- •Общее описание среды vb
- •Краткая характеристика элементов управления, используемых при создании простых приложений
- •Основные свойства, методы и события объектов vb
- •Основные элементы языка Vb
- •Типы данных
- •Переменные
- •Объявление переменных
- •Explicit-объявление
- •Константы
- •Выражения и операции
- •Стандартные подпрограммы
- •Математические функции vb
- •Функции преобразования данных vb
- •Операторы
- •Простые операторы
- •Оператор присваивания
- •Операторы вызова процедур
- •Оператор безусловного перехода
- •Системные диалоговые окна
- •Диалоговое окно ввода информации InputBox
- •InputBox(Приглашение,Заголовок,НачЗначение),
- •Окно сообщения MsgBox
- •Ввод и вывод данных в vb
- •Ввод данных
- •Вывод результатов
- •Функция Format
- •Структурные операторы
- •Условные операторы
- •Оператор выбора Select … Case
- •Операторы повтора
- •Циклы с параметром
- •Элемент управления Slider
- •Циклы с условием
- •Использование рекуррентной формулы для вычисления суммы ряда
- •Использование функции Timer
- •Подпрограммы пользователя
- •Пользовательские процедуры
- •Способ передачи аргументов
- •Функции пользователя
- •Массивы
- •Оператор Option Base
- •Динамические массивы
- •Функции lBound и uBound
- •Функция Rnd
- •Оператор Erase
- •Типовые задачи на обработку одномерных массивов
- •Формирование массива с помощью функции Split
- •Линейная сортировка массива
- •Уплотнение массива
- •Вставка элемента в массив
- •Изменение положения элементов на некотором отрезке
- •Кольцевой сдвиг элементов массива
- •Двумерные массивы
- •Ввод и вывод двумерных массивов
- •Формирование двумерного массива с помощью диалогового окна InputBox и функции Split
- •Вывод двумерного массива с помощью элемента управления msFlexGrid
- •Типовые задачи на обработку двумерных массивов
- •Преобразование двумерных массивов
- •Типовые задачи с квадратными матрицами
- •Массивы в качестве формальных параметров в процедурах и функциях пользователя
- •Данные строкового типа
- •Операции над строками
- •Функции, предназначенные для работы со строками
- •Функция Split
- •Функция Join
- •Оператор Mid
- •Типовые задачи на обработку строк
- •Анализ символьных строк
- •Изменение строк (замена, удаление, вставка символов)
- •Функции и операторы для работы с файлами
- •Открытие файлов
- •Закрытие файлов
- •Работа с файлами последовательного доступа
- •Чтение данных
- •Запись данных
- •Элемент управления CommonDialog
- •Графика в vb
- •Методы графики в vb
- •Задание цвета
- •Свойства объектов, влияющих на графические методы:
- •Применение метода Scale
- •Построение графика функции
- •Некоторые дополнительные элементы управления, которые часто используются в проектах.
- •Объект управления Shape (Фигура)
- •Свойства
- •Объект управления Timer
- •События
- •Свойства
- •Окна общего диалога
- •Создание меню
- •Свойства
- •Работа с несколькими формами
-
Типовые задачи на обработку одномерных массивов
Формирование и вывод массива, вычисление суммы, произведения, количества элементов, среднего арифметического элементов массива, нахождение максимального и минимального элемента массива.
Пример. Задать размер n линейного массива A, заполнить его случайными целыми числами в диапазоне от –10 до 10. Массив вывести в текстовое окно и определить:
-
сумму всех элементов массива;
-
количество положительных элементов массива;
-
наименьший элемент массива;
-
среднее арифметическое элементов массива кратных пяти.
Поскольку размер массива n и сам массив A будут использоваться в разных событийных процедурах (в процедуре заполнения массива случайными числами и процедуре обработки массива), то они должны быть описаны в разделе объявления доступном для всех процедур приложения (в разделе General).
Для поиска минимального элемента в массиве вначале устанавливается текущий минимум по нулевому элементу массива min:=A[0]. Затем начинается просмотр элементов массива: выбирается очередной элемент A[i] и сравнивается с min. Если элемент M[i] меньше текущего min, то выполняется переприсваивание min:=A[i].
Option Explicit 'Установка режима, при котором запрещается использовать
'необъявленные переменные
Dim a() As Integer 'Описание динамического массива целых чисел
Dim n As Integer
'Процедура заполнения массива случайными числами и вывод массива в текстовое окно
Private Sub Command1_Click()
Dim i As Integer
Randomize
n = Val(Text1.Text) 'Количество элементов массива
ReDim a(n) 'Задание размера динамического массива А
Text2.Text = "" 'Очистка окна Text2
'Заполнение массива случайными значениями целых чисел
For i = 0 To n - 1
'Присвоение элементу массива случайного числа из отрезка [-10,10]
a(i) = Int(21 * Rnd - 10)
'Вывод элементов массива в текстовое поле Text2
Text2.Text = Text2.Text + " " + Str(a(i))
Next i
End Sub
'Процедура обработки массива
Private Sub Command2_Click()
Dim i As Integer, Sum As Integer, Min As Integer
Dim Sum1 As Integer, Kol As Integer, Count_P As Integer
Min = a(0) 'Установка начального значения минимума
'Очистка текстовых окон
Text3.Text = "": Text4.Text = "": Text5.Text = ""
Text6.Text = ""
Sum=0: Sum1=0: Kol=0: Count_P=0 'Инициализация переменных
For i = 0 To n - 1
Sum = Sum + a(i) 'Суммирование элементов массива
'Подсчет количества положительных элементов
If a(i) > 0 Then Count_P = Count_P + 1
If a(i) < Min Then Min = a(i) 'Поиск минимального элемента
If (a(i) Mod 5 = 0) And (a(i) <> 0) Then
Sum1 = Sum1 + a(i) 'Суммирование элементов кратных пяти
Kol = Kol + 1 'Подсчет количества элементов кратных пяти
End If
Next i
Text3.Text = Str(Sum)
Text4.Text = Str(Count_P)
Text5.Text = Str(Min)
If Kol <> 0 Then Text6.Text = Str(Sum1 / Kol)
End Sub
-
Формирование массива с помощью функции Split
Число элементов массива и сам массив можно задать в текстовых окнах. В качестве разделителя значений элементов массива можно использовать любой символ, например, пробел. В VB имеется функция Split, которая позволяет, указав разделитель, ввести из текстового поля все элементы массива сразу. Эта функция разделит строку по указанному разделителю на массив подстрок. Подстрок будет столько, сколько было введено элементов. Массив полученных подстрок индексируется с нуля!
В приведенном ниже примере поиска максимального значения в массиве для ввода данных используются два элемента управления TextBox. Первый – для указания количества элементов массива. Второй – для ввода строки, состоящей из элементов массива разделенных пробелом. Функция Split делит строку Text2 по пробелу на массив подстрок. После этого в цикле заполняются элементы массива. Результаты расчета выводятся на графическое окно PictureBox.
Option Base 1 Dim a(30) As Single Dim av As String
Private Sub Command1_Click() n = Val(Text1.Text) 'Ввод количества элементов массива av = Split(Text2.Text, " ") 'Ввод строки, состоящей из n значений 'элементов массива в переменную av For i = 1 To n a(i) = Val(av(i - 1)) 'Заполнение массива Next i 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 |