- •Литература:
- •Язык программирования 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)
- •Выход
Если имя процедуры уникально, то включать имя модуля |
|
в вызов процедуры не обязательно. Процедура является |
|
уникальной, если она определена только в одном месте. |
|
Если два или более модулей содержат процедуры с |
|
одинаковыми именами, то при вызове таких процедур |
|
необходимо уточнять их с помощью имени |
|
соответствующего модуля. Например, если процедура с |
|
именем CommonName существует и в Module1, и в |
|
Module2, то при вызове |
из Module1 процедуры |
CommonName процедуры Module2, надо записать: Module2. CommonName(аргумент), в противном случае будет вызвана процедура этого модуля.
В VB кроме стандартных встроенных функций можно писать собственные процедуры Function. Её синтаксис таков:
[Private/Public][Static]Function<имя_процедуры> (аргументы) [As type]
<Операторы тела процедуры> End Function.
Вызов процедуры Function чаще всего осуществляется заданием её имени и параметров в тексте выражения. Процедура Function имеет тип, который определяет тип возвращаемого выражения.
присваивается переменной с именем процедуры. Обычно процедуре для выполнения требуется некоторая информация о состоянии программы. Эта информация заключена в значениях переменных, передаваемых процедуре при её вызове (их называют параметрами процедуры). По умолчанию параметры процедуры имеют тип Variant, в явном виде параметрам можно задать любой другой тип. Пример: Function ForLunch(WeekDay As String, Hour As integer) As String
If WeekDay=“четверг” then
ForLunch=“рыба”
Else
ForLunch= “куры”
End if
If Hour >4 then ForLunch=“ Too late”
End Function
Параметры процедуры могут передаваться по значению и по ссылке. В первом случае процедуре передаётся только копия переменной, выступающей в качестве параметра процедуры. Если процедура изменяет значение параметра, то это затрагивает только копию переменной, а не саму переменную, т.е. во вне новое значение не передаётся.
Ключевое слово ByVal служит признаком того, что параметр передаётся по значению. Например:
Sub PostAcc(ByVal AcctNum As Integer)
Передача процедуре параметров по ссылке открывает ей доступ к области памяти, где хранится содержимое переменной. В результате процедура может изменять значение переменной являющейся её параметром. По умолчанию в VB все параметры передаются по ссылке.
Пример: Получить таблицу значений функции по формуле: y=(arcsin(x*x)+arcsin(x))/arctan(x).
Private Sub Комманда1_Click() Dim M, Y As Single
Dim a, b, c, l As Single a = Val(Текст1.Text)
b = Val(Текст2.Text)
c = Val(Текст3.Text) n = Int((b - a) / c)
l = a - c
For k = 1 To n s = " "
l = l + c M = l
s = “№" & Str(k) & "=" & Str(M) Список1.AddItem s
Y = arcsin(M ^ 2) + arcsin(M) / Atn(M) s = " "
s = “№" & Str(k) & "=" & Str(Y) Список2.AddItem s
Next k
End Sub
Function arcsin(x)
arcsin = Atn(x / Sqr(1 - x * x)) End Function
Использование файлов в Visual Basic
Работа с файлами в языке Visual Basic
Информация, которая вводится и выводится из программы, организована в файлы. Файлом называется поименованная область памяти на диске, содержащая совокупность связанных между собой записей.
Запись представляет собой набор элементов, рассматриваемых как единое целое с точки зрения устройств ввода-вывода. Именно записями одно устройство компьютера (например, память) обменивается с другим (например принтером или дисководом). В предельном случае запись может состоять из одного символа. При работе с Windows — приложениями, файлы чаще всего хранятся на внешнем магнитном носителе.
При записи данных в файл необходимо выполнить: открытие файла для записи, запись компонентов файла, закрытие файла. При чтении файла необходимо выполнить: открытие файла для чтения, чтение
компонентов файла, закрытие файла. При открытии
файлу ставится в соответствие канал ввода/вывода с определенным номером – дескриптором. Таким образом, каждый открытый файл имеет собственный канал, с помощью которого записываются или считываются данные.
Следовательно, для ввода и вывода данных в файл имеет значение не имя файла, а дескриптор. Кроме того, операционная система должна иметь сведения о наличии свободных каналов, которые можно использовать для открытия файлов. Номер свободного канала можно узнать с помощью функции FreeFile.
Файлы могут содержать программы и данные. Файлы данных подразделяются на три типа: последовательные, произвольного доступа и двоичные.
В двоичном файле информация записана как набор байтов. Обычно они используются для хранения исполняемых файлов.
Важнейшим атрибутом файла является его
имя. Имя файла состоит из имени дисковода, имени папки и идентификатора файла — пути поиска файла на диске.
При работе с файлами данных различают три вида работ:
-создание (запись файла на диск); -чтение файла и обработка записей;
-добавление записей и корректировка файла. Для добавления записей или их корректировки в файлах с последовательным доступом требуется фактически переписать
все записи файла заново.
Файлы данных с произвольным доступом позволяют считывать данные в любом порядке, независимо от того в какой последовательности они были записаны в файл. Каждая запись в файлах произвольного доступа имеет свой номер, что обеспечивает возможность непосредственного обращения к ней.
Операторы и функции для работы с файлами последовательного доступа
OPEN — открыть файл; CLOSE — закрыть файл;
Input # — прочитать запись из файла; Print # — записать запись в файл; Write # — записать запись в файл; Lof — вернуть длину файла;
Eof — логическая величина, используемая для определения конца файла.
Оператор OPEN выполняет подготовительную работу для последующих операций ввода-вывода. Он заполняет блок управления данными, в которые система помещает файл и номер устройства, с которым будет работать; резервирует области памяти для буферов обмена операций ввода- вывода; определяет организацию данных в файле, режим его обработки и т.д.