- •Литература:
- •Язык программирования 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()
v1% = Проверка1.Value: v2% = Проверка2.Value
v3% = Проверка3.Value: v4% = Проверка4.Value
v5% = Проверка5.Value
Call Summa(v1%, v2%, v3%, v4%, v5%, s%, m%) Текст1.Text = s
Текст2.Text = m End Sub
Системные функции, функции RND, Timer, IIf
К системным функциям относятся функции, действие которых напрямую зависит от работы Windows. Мы рассмотрим функцию InputBox - используемую для ввода данных пользователем через системное окно и функцию MsgBox – служащую для выдачи сообщений пользователю через системное окно. Синтаксис функции следующий:
InputBox (Приглашение [, Заголовок] [,НачЗначение]) Приглашение – любой текст, который находится в Окне ввода и служит для подсказки.
Заголовок – необязательная надпись в строке заголовка. НачЗначение – это значение, которое будет введено автоматически, если пользователь с этим согласен. Возвращаемым значением данной функции является информация вводимая пользователем. VB автоматически приписывает этой информации тип String. В программе функция InputBox может входить в состав выражения, значение которого присваивается переменной. При обращении к функции, на экране появляется Окно ввода. После щелчка по кнопке ОК происходит присваивание и окно ввода исчезает.
Окно ввода |
Результат |
Текст модуля
Private Sub CommandButton1_Click()
Dim Fam, Im, Ot As String
Fam = InputBox("Введите Вашу фамилию:", "Ввод фамилии") Im = InputBox("Введите Ваше имя :", "Ввод имени")
Ot = InputBox("Введите Ваше отчество:", "Ввод отчества") TextBox1.Text = Fam: TextBox2.Text = Im: TextBox3.Text = Ot End Sub
Функция MsgBox служит для выдачи сообщени пользователю через системное окно.
Синтаксис функции следующий: MsgBox (Текст [,Опция ] [,Заголовок ])
Это традиционная форма синтаксиса, когда функци возвращает значение, которое затем используется программе, если скобки отсутствуют, то функция н возвращает никакого значения, а действует как операто т.е. просто выдаёт информацию в Окно сообщения.
Текст- это строка сообщения. Она может содержат до 1024 символов;
Опция – это целое число, которое определяется п формуле ОР=ОР1 + ОР2
Значение ОР1 определяет вид сообщения и пиктограмму, которая помещается в Окно сообщения
-Критическое сообщение, код=16
-Вопрос, код=32
-Предупреждение, код=48
-Информация, код=64
Значение ОР2 определяет набор кнопок в Окне сообщения:
0 |
– ОК; 1 – ОК, ОТМЕНА; 2 – СТОП, ПОВТОР, |
ПРОПУСТИТЬ; |
|
3 |
– ДА, НЕТ, ОТМЕНА; 4 – ДА, НЕТ; |
5 |
– ПОВТОР, ОТМЕНА. |
Простая экранная форма – приветствие приведена на рисунке. В этом окне имеются три объекта: кнопка OK, надпись “Здравствуй друг!” и рисунок. В VBA экранная форма хранится в отдельном файле, имя которого имеет расширение frm.
Общий вид экранной формы представлен на рисунке.
Программный модуль, относящийся к данной экранной форме, хранится в файле с расширением bas и для нашего примера выглядит так:
Private Sub КоманднаяКнопка_Click()
MsgBox “Здравствуй, друг!”, 64, “Приветствие” End Sub
Рассмотрим использование ещё нескольких функций: датчика случайных чисел, счётчика времени и IIf.
В процессе решения вычислительных задач часто требуется программировать вероятность появления случайных событий. Для этого используют функцию RND значением, которой является число случайным образом выбираемое из интервала от 0 до 1. На самом деле при использование RND число берётся из очень длинной последовательности псевдослучайных чисел. Поэтому надо случайным образом определить место в этой последовательности с помощью оператора рандомизации Randomize, а для того, чтобы это число при каждом новом запуске программы было разным – используют ещё встроенный счётчик времени – функцию Timer без параметров.
Для программирования условного перехода можно использовать функцию IIF. Её синтаксис таков:
IIF(Условное_выражение, Значение1, Значение2), функция возвращает Значение1, если выражение истинно и Значение2, если оно ложно.
Private Sub Комманда1 _Click()
Randomize Timer
Dim Ver As Single: Ver = Rnd
Текст1 = IIf(Ver < 0.75, "Яблоки", "Грибы")
Текст2 = IIf(Ver < 0.75, "Яблочный пирог", "Пирог с грибами") End Sub