- •Литература:
- •Язык программирования Visual Basic является основой не только системы программирования, его версия -
- •Методика программирования на Visual Basic сводится к следующему:
- •В основе ООП лежат три принципа: инкапсуляции, наследования и полиморфизма.
- •Программный объект в ООП называется «контейнером». Контейнер включает в себя данные и программный
- •Рисунок 2. Первоначальное состояние среды разработки Visual Basic
- •1.2. Алфавит и лексемы языка
- •При запуске Редактора кода (Code Editor) появляется окно, котором можно вводить текст программы.
- •Лексемы языка Visual Basic. Программирование линейного вычислительного процесса
- •Лексема — это единица текста программы,
- •Visual Basic накладывает на имена следующие ограничения:
- •Примеры имен переменных:
- •В Visual Basic, как и в других языках программирования, есть зарезервированные (ключевые) слова,
- •Существуют соглашения по стилю имен, которых желательно придерживаться:
- •Длинное целое (Long) – занимает четыре байта памяти; Короткое целое (Byte) – всего
- •Переменные — это объекты, предназначенные для хранения данных. В разные моменты времени переменные
- •Option Explicit ‘запрещение запуска программы
- •Константы — это объекты, значения которых остаются постоянными и не могут быть изменены
- •Вещественные константы представляются в памяти
- •Примеры использования предопределенных констант:
- •Различают динамические и статические
- •2.2. Встроенные функции Visual Basic
- •Randomise — генератор случайных чисел;
- •Арифметическое выражение в Visual Basic
- •Составить программу для вычисления результата по формуле:
- •Текст программного модуля приведён ниже. Процедура запускается по щелчку мыши на свободном поле
- •При программировании часто приходится выводить информацию непосредственно на форму с помощью метода Print.
- •В ситуации, когда необходимо продолжать печатат значения в той же строке, вызывая новые
- •Алгоритмизация
- •Алгоритм и его свойства
- •Алгоритм и его свойства
- •Начало
- •Язык блок-схем
- •Требования к изображению блок-схем
- •Алгоритм решения квадратного уравнения
- •Текст модуля
- •Текст модуля (продолжение)
- •Базовые алгоритмы циклической
- •Базовые алгоритмы циклической
- •Программирование разветвляющихся процессов
- •Условный оператор
- •Условный оператор
- •Пример программы
- •Оператор выбора Select Case
- •Оператор выбора Select Case
- •Программный код должен содержать 5 одинаковых процедур для 5 событий – щелчок мышью
- •Sub Summa(v1%, v2%, v3%, v4%, v5%, s%, m%)
- •Private Sub Проверка1_Click()
- •Системные функции, функции RND, Timer, IIf
- •К системным функциям относятся функции, действие которых напрямую зависит от работы Windows. Мы
- •Окно ввода
- •Текст модуля
- •Функция MsgBox служит для выдачи сообщени пользователю через системное окно.
- •Простая экранная форма – приветствие приведена на рисунке. В этом окне имеются три
- •Рассмотрим использование ещё нескольких функций: датчика случайных чисел, счётчика времени и IIf.
- •Private Sub Комманда1 _Click()
- •Программирование циклических процессов
- •Объявление массивов
- •Объявление массива имеет следующий вид: Dim / Public / Private Имя_Массива (индексы)_Аs Тип_Данных
- •Объявление одномерного массива из восьми
- •Динамические массивы применяются в том случае, когда количество элементов массива заранее неизвестно и
- •Пример:
- •Для того, чтобы организовать повторени операций используют оператор цикла For Next. Оператор используется
- •Задача 1:
- •Задача2: Сумма элементов массива
- •Задача 3.
- •Программирование циклических процессов (продолжение)
- •Электронная форма для задачи поиск максимального элемента в одномерном массиве.
- •Private Sub Комманда1_Click() Dim MyArray As Single
- •Сортировка методом «пузырька»
- •Текст модуля: Сортировка
- •Пользовательское меню программы
- •Private Sub Комманда1_Click()
- •Пользовательское меню программ
- •Private Sub Комманда1_Click()
- •Оператор цикла Do-Loop. Логическ управляемый цикл, оператор Do — начало оператор Loop —
- •3) Условие False в начале цикла.
- •Условие проверяется в конце цикла.
- •Пример программы на использование цикла с условием. Расчёт количества расфасованных пакетов.
- •Цикл For Each. Оператор относится к категории объектных операторов, т.е. применяется к массивам,
- •Формула линейной интерполяции
- •Пример программы с оператором For Each.
- •Пример программы с оператором For Each (продолжение).
- •Использование процедур в VB
- •Программные модули на VB состоят из процедур. Использование процедур упрощает программирование, разбивая код
- •В противоположность ей процедура обработки события после вызова остаётся в ожидания событий, вызванных
- •Если имя процедуры уникально, то включать имя модуля
- •присваивается переменной с именем процедуры. Обычно процедуре для выполнения требуется некоторая информация о
- •Ключевое слово ByVal служит признаком того, что параметр передаётся по значению. Например:
- •Private Sub Комманда1_Click() Dim M, Y As Single
- •Function arcsin(x)
- •Использование файлов в Visual Basic
- •Работа с файлами в языке Visual Basic
- •Следовательно, для ввода и вывода данных в файл имеет значение не имя файла,
- •Важнейшим атрибутом файла является его
- •Операторы и функции для работы с файлами последовательного доступа
- •Формат записи оператора:
- •Пример:
- •Записывать данные в текстовый файл можно
- •Пример результата для оператора Write:
- •В качестве примера запишем программу, которая помещает в объект Text1 класса Текстовое поле
- •Разработать приложение, в котором необходимо: создать список группы студентов с указанием их фамилии,
- •Программный код для приложения можно
- •Private Sub Command2_Click()
- •Do Until EOF(2)
- •Выход
Программирование циклических процессов (продолжение)
Электронная форма для задачи поиск максимального элемента в одномерном массиве.
Private Sub Комманда1_Click() Dim MyArray As Single
Dim intValarray As Integer intValarray = Val(Текст1) ReDim a(intValarray) As Single Max = -1000: k = 0
For i = 0 To intValarray
MyArray = InputBox("Введите э-т массива :", "Ввод a(i)=") Список1.AddItem MyArray ‘метод AddItem используется Список2.AddItem i ‘для добавления элементов в список a(i) = MyArray
If a(i) > Max Then Max = a(i): k = i Next
Текст2.Text = Max Текст3.Text = k
Сортировка методом «пузырька»
Текст модуля: Сортировка
Private Sub Комманда1_Click() Dim a(1 To 10) As Integer Randomize Timer
For k = 1 To 10 a(k) = Int(10 * Rnd)
Список1.AddItem a(k) Next k
For i = 1 To 9 For j = i + 1 To 10 If a(i) > a(j) Then
b = a(i): a(i) = a(j): a(j) = b End If
Next j
Next i
For k = 1 To 10 Список2.AddItem a(k) Next k
End Sub
Пользовательское меню программы
формирования и транспонирования матрицы.
Private Sub Комманда1_Click()
Dim tr, tc As Integer : Dim s As String Randomize Timer
Dim a(1 To 3, 1 To 3) As Integer Dim b(1 To 3, 1 To 3) As Integer For tr = 1 To 3
s = " "
For tc = 1 To 3
a(tr, tc) = Int(10 * Rnd) s = s & " " & Str(a(tr, tc)) Next tc Список1.AddItem s Next tr
For tr = 1 To 3 ‘транспонирование For tc = 1 To 3 ‘матрицы
b(tr, tc) = a(tc, tr) Next tc : Next tr For tr = 1 To 3
s = " "
For tc = 1 To 3
s = s & " " & Str(b(tr, tc)) Next tc Список2.AddItem s Next tr
End Sub
Пользовательское меню программ
формирования матрицы и вычислени сумм элементов столбцов.
Private Sub Комманда1_Click()
Dim tr, tc, i, j As Integer : Dim s As String Randomize Timer
Dim a(1 To 3, 1 To 3) As Integer Dim b(1 To 3) As Integer
For tr = 1 To 3 s = " "
For tc = 1 To 3
a(tr, tc) = Int(10 * Rnd) s = s & " " & Str(a(tr, tc)) Next tc Список1.AddItem s Next tr
For j = 1 To 3 b(j) = 0
For i = 1 To 3 b(j) = b(j) + a(i, j) Next i
Next j s = " "
For j = 1 To 3
s = s & " " & Str(b(j)) Next j Список2.AddItem s End Sub
Оператор цикла Do-Loop. Логическ управляемый цикл, оператор Do — начало оператор Loop — конец цикла.
Оператор имеет четыре модификации:
1) Условие имеет значение True в начале цикла. Структура:
Do While <условие> <блок операторов>
Exit Do <блок операторов>
Loop
Цикл выполняется пока истинно условие Оператор Exit Do предназначен дл прекращения цикла и передачи управлени оператору Loop — конец цикла.
2) Условие имеет значение True в конце цикла. Структура:
Do
<блок операторов> Exit Do
<блок операторов> Loop While <условие>
Цикл выполняется хотя бы один раз, проверк условия в конце цикла.