- •Литература:
- •Язык программирования 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)
- •Выход
3) Условие False в начале цикла.
Структура:
Do Until <условие> <блок операторов>
Exit Do
<блок операторов>
Loop
Цикл выполняется до тех пор, пока условие не станет истинным.
4) Условие False в конце цикла. Структура:
Do
<блок операторов>
Exit Do
<блок операторов>
Loop Until<условие>
Условие проверяется в конце цикла.
Цикл прекращается, когда условие станет истинным.
Пример:
Do While True
A=Rnd :Debug.Print a
If a>0.99 Then Exit Do Loop
Цикл While-Wend аналогичен циклу Do While-Loop, проверка условия выполняется в начале цикла. Структура:
While <условие> <блок операторов>
Wend.
Пример программы на использование цикла с условием. Расчёт количества расфасованных пакетов.
Private Sub Command_Click()
M=100: I=0
Print “Номер “, “Остаток “
Do
I=I+1
If I>99 then Exit Do ‘Оператор Exit Do служит для прерывания цикла, помещается внутри цикла и приводит передаче управления следующему за циклом оператору
Цикл For Each. Оператор относится к категории объектных операторов, т.е. применяется к массивам, наборам объектов, коллекциям. Выполняется фиксированное число раз, число объектов в наборе определяется автоматически.
Структура:
For Each <элемент> In <набор> <блок операторов>
Exit For
<блок операторов> Next <элемент> Пример:
For each z In arrx n=n+1
x(n)=z Next z
Формула линейной интерполяции |
||
yn=y1+(y2-y1)*(xn-x1)/(x2-x1) |
||
y2 |
|
|
yn |
|
|
y1 |
|
|
x1 |
xn |
x |
|
|
2 |
Пример программы с оператором For Each.
Function intl (arrx; arry; x_new)
Dim i As Integer
Dim n As Integer
Dim j As Integer
Dim x (1 to 100) as Double
Dim y (1 to 100) as Double
Dim z
n=0
For each z in arrx n=n+1
x(n)=z Next z n=0
For each z in arry n=n+1
y(n)=z Next z
Пример программы с оператором For Each (продолжение).
For i=1 to n-1
If x(i) <= x_new And x(i+1)>= x_new Then j= i
Next i
If x_new > x(n) Then j = n – 1
If x_new < x(1) Then j = 1
Intl = y(j) + (y( j+1 ) – y( j ) ) * (x_new – x ( j )) / (x( j + 1) – x(j)) End Function
Цикл For Each…Next похож на цикл For …Next, но повторяет группу операторов для каждого элемента набора объектов (коллекции). Он особенно удобен, тогд когда заранее не известно, сколько элементов содержится наборе. Для наборов параметром этого цикла может бы только переменная типа Variant, Object или объекто перечисленным в Object Browser. Для массивов параметро этого цикла может быть только переменная типа Varia Нельзя использовать этот цикл с массивом, имеющи определённый пользователем тип.
Использование процедур в VB
Программные модули на VB состоят из процедур. Использование процедур упрощает программирование, разбивая код модуля на процедуры, можно намного упростить чтение и модификацию текстов программ. В VB используется несколько видов процедур:
•Процедуры SUB (не возвращает значения);
•Процедуры Function (возвращает значение);
•Процедуры Property (могут возвращать и присваивать
значение, а также устанавливать ссылки на объекты). Процедура SUB – это блок кода, который выполняется в ответ на событие. Синтаксис процедуры:
[Private/Public ] [Static ] Sub <имя_процедуры>(аргументы) Операторы тела процедуры
End Sub
В VB следует понимать различие между двумя типами процедур SUB: общими процедурами и процедурами обработки событий.
Общая процедура указывает приложению, как выполнять конкретную задачу. Однажды определённая, она должна каждый раз специально вызываться приложением.
В противоположность ей процедура обработки события после вызова остаётся в ожидания событий, вызванных пользователем или инициированных системой. Так программа обработки события Click вызывает процедуру Sub с именем CommandButton1, которая выполняет свой код и возвращает управление процедуре обработки события Click. Как только объект в VB распознаёт, что произошло событие, он активизирует процедуру обработки события с именем, соответствующем данному событию. Так как имя процедуры устанавливает связь между объектом и кодом, то говорят, что процедуры обработки событий прикреплены к формам и элементам управления.
Процедуру Sub в отличие от Function нельзя вызывать по имени в выражении. Её вызов осуществляется в отдельном операторе. Процедура Sub не возвращает значения, однако она может изменять значения любых переменных, переданных ей в качестве параметров.
Существуют два способа вызова процедуры Sub. Например для процедуры Prog1 c параметрами а и b:
Call Prog1(a,b) или Prog1 a,b . Как видно из примера при использование оператора Call, параметры заключены в круглые скобки.