INFFFFF
.doc
20) VB. Структура программы на VB. Правило записи программы. Программа Visual Basic построена из стандартных блоков. Решение состоит из одного или нескольких проектов. Проект в свою очередь может содержать одну или несколько сборок. Каждая сборка компилируется из одного или нескольких исходных файлов. Исходный файл включает в себя определения и реализацию классов, структур, модулей и интерфейсов, и в конечном счете содержит весь код.
21) VB. Стандартные функции. Арифметические выражения. Порядок выполнения арифметических операций. Стандартные функции: Математические функции: sin x = Sin x) cos x = Cos(x) tg x = Tan(x) arctg x = Atn(x) корень из x = Sqr(x) |x| = Abs(x) eX= Exp(x) ln x = Log(x) Функции приобразования типов: CInt(x) — преобразование строковой переменной к целому числу CSng(x) — преобразование строковой переменной к вещественному числу CStr(x) — преобразование численной (целая или вещественная) переменной в строку Функции работы со строками: Len(строка) — возвращает число символов в строке аргумента Chr(x) — возвращает символ, код которого равен числовому аргументу ASC(строка) — возвращает код первого символа строки аргумента Mid(строка,i,j) — строка из j символов строки-аргумента «строка», начиная с символаi Left(строка,j) — строка из первых j символов строки-аргумента «строка» (пример, («А3В2,2) возвращает «А3») Right(строка,j) — строка из последних j символов строки-аргумента «строка» (пример, («А3В2,2) возвращает «В2») Арифметическим выражением называется выражение, результатом выполнения которого является числовое значение и которое не содержит знаков операций отношения и логических. А.в. Образуется из арифметических операндов, соединёнными знаками арифметических операций, и круглыми скобками. Арифметические операции: ^ - возведение в степень +,- - сложение, вычитание, присвоение знака *, / - умножение, деление \ - целочисленное деление Mod — модульная операция
22) VB. Строковые переменные. Операция с символьными переменными. Правило их выполнения. Обработка последовательности символов. Стандартные функции работающие со строковыми переменными. Строковые выражения — выражения, результатом выполнения которого является символьное значение. Символьное выражение может состоять из символьной переменной, символьной константы, символьной функции или нескольких символьных переменных или констант соединённых знаков конкатенации. Конкатенация — это сцепление (сложение) 2 символьных строк. Для этого используются символы & и +. Рекомендуется использовать знак &. Пример: А=«студент» В=«Иванов» С=A&B Результат: «студент Иванов» Стандартные функции, работающие со строковыми переменными: Len(строка) — возвращает число символов в строке аргумента Chr(x) — возвращает символ, код которого равен числовому аргументу ASC(строка) — возвращает код первого символа строки аргумента Mid(строка,i,j) — строка из j символов строки-аргумента «строка», начиная с символа i (пример, Mid(«АВС»,2,1) возвращает «В») Left(строка,j) — строка из первых j символов строки-аргумента «строка» (пример, Left(«А3В2,2) возвращает «А3») Right(строка,j) — строка из последних j символов строки-аргумента «строка» (пример, Right(«А3В2,2) возвращает «В2») 23) VB. Оператор присваивания. Оператор перехода. Порядок выполнения операторов. Оператор присваивания используется, если какой-то переменной нужно присвоить новое значение. Он имеет следующий синтаксис: ИМЯ_ПЕРЕМЕННОЙ = ВЫРАЖЕНИЕ Сначала вычисляется выражение в правой части, а затем результат присваивается переменной, стоящей в левой части. В VBA существует четыре вида операторов присваивания: • Let (прямое присваивание); • LSet (левое присваивание); • RSet (правое присваивание); • set (объектное присваивание). С помощью оператора присваивания происходит обычное присваивание значения выражения, стоящего справа от знака =, переменной, имя которой стоит слева от знака =. Причем тип присваиваемого значения должен соответствовать типу переменной. Оператор условного перехода – это структура, которая выбирает ту или иную ветвь кода процедуры на основе некоторого предопределенного условия или группы условий. Оператор безусловного перехода – это оператор, просто изменяющий последовательность выполнения кода процедуры независимо ни от какого конкретного условия. Условный переход используется гораздо чаще, чем безусловный. Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места. Если выражения содержат операторы различных категорий, они вычисляются по следующим правилам: • Арифметические операторы и операторы объединения имеют порядок приоритета, описанный далее, их приоритет выше, чем у операторов сравнения, логических и поразрядных. • У всех операторов сравнения приоритет одинаковый, и он выше, чем у логических и поразрядных операторов, но ниже, чем у арифметических операторов и операторов объединения. • Логические и поразрядные операторы имеют порядок приоритета, описанный далее, их приоритет ниже, чем у арифметических операторов, операторов объединения и сравнения. • Операторы с одинаковым приоритетом вычисляются слева направо в том порядке, в каком они стоят в выражении.
24) VB. Операции отношения. Логические выражения. Логические операции. Правило выполнения логических операторов. Операторы отношения Обычно операции сравнения используются в операторах организации циклов для принятия какого-либо решения о дальнейшем ходе выполнения операций. Результатом любой операции сравнения является значение типа Boolean: True, False. Если оба операнда в выражении сравнения имеют один и тот же тип данных, VBA выполняет простое сравнение для этого типа. Если оба операнда в выражении сравнения имеют определенные типы и эти типы не являются совместимыми, VBA выдает сообщение об ошибке несовпадения типов. Если один или оба операнда в выражении сравнения являются переменными типа Variant, VBA пытается преобразовать тип Variant в какой-либо совместимый тип. При сравнении строк операторами отношения, VBA сравнивает каждую строку слева направо посимвольно. В VBA одна строка равна другой только, когда обе строки содержат точно такие же символы в точно таком же порядке и обе строки имеют одну и ту же длину. Например, строки "абвгд" "абвгд " " абвгд" не равны между собой, т.к. VBA не игнорирует начальные или конечные символы пробела при сравнении строк. Следует быть внимательным при сравнении строк переменной длины. Логические операции В состав логических выражений могут входить логические переменные, логические значения, операторы сравнения, а также логические операции. Логические выражения могут принимать лишь два значения True (Истина) или False (Ложь). Операторы сравнения =, <, >, <= и >= сравнивают выражение в левой части оператора с выражением в правой части оператора и представляют результат в виде логического значения True или False. Примеры: Выражение 5 > 3 имеет значение True. Выражение "А" = "В" имеет значение False. Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: конъюнкция — And, дизъюнкция — Or и логическое отрицание — Not. При записи сложных логических выражений используются скобки. Примеры: Выражение (5 > 3) And ("А" = "В") имеет значение False Выражение (5 > 3) Or ("A" = "В") имеет значение True Выражение Not (5 > 3) имеет значение False Порядок выполнения операции сравнения- слева направо < - меньше (то есть, первый операнд, стоящий слева от данного оператора имеет значение меньшее, чем операнд, стоящий справа) > - больше (аналогично) <= - меньше или равно >= - больше или равно <> - не равно = - равно. один и тот же оператор = используется для двух различных операций- для операции присваивания и операции сравнения. Логические выражения выполняются слева направо. К логическим выражениям также можно применять скобки, они работают так же, как в математике- сперва выполняется то, что находится в скобках.
25) VB. Системные функции. Функции InputBox() и MsgBox() Функция InputBox (Окно ввода) Функция предназначена для ввода строки в отдельном окне. InputBox (Подсказка, Заголовок окна, Значение по умолчанию) Подсказка — любой текст, который должен находиться в Окне ввода. Он служит подсказкой пользователю, какую информацию нужно ввести в специальное поле ввода, находящееся в этом окне. Заголовок окна — надпись в строке заголовка Окна ввода, текстовая константа или переменная. Значение по умолчанию — значение, которое вводится автоматически (по умолчанию), если пользователь не изменит это значение. После ввода нужной информации, следует нажать кнопку «ОК». В противном случае — кнопку «Отмена». Функция MsgBox (Окно сообщений) MsgBox (Текст, набор кнопок, Заголовок) Текст — строка, отображаемая в Окне сообщения. Заголовок — надпись в строке заголовка Окна сообщения, текстовая константа или переменная. Набор кнопок — константа, определяющая внешний вид окна. Значения опциий и соответствующих им кнопок: 0 — ОК 1 — ОК, Отмена 3 — Да, Нет, Отмена 4 — Да, Нет
26) VB. Условный оператор. Линейный и блочный синтаксис. Порядок выполнения операторов. Алгоритмы, в которых последовательность выполнения некоторых действий зависит от выполнения проверяемых программой условий, называются алгоритмы с ветвлением. Они представляют собой выбор пути решения задачи в соответствии с выполнением или невыполнением некоторого условия выбора. Условия выбора представляются в форме условных выражений. Для реализации алгоритмов с ветвлением служит условный оператор If ... End If. Существует однострочная и многострочная форма записи этого оператора:
Однострочная форма синтаксиса: If Условное Выражение Then Дествие1 [Else Действие2]
Многострочная форма синтаксиса: If Условное Выражение Then Дествия1 [Else Действия2 ] End If Логика работы условного оператора: С помощью условного оператора в определённый момент делается выбор дальнейшего пути выполнения алгоритма. Существует два варианта. Первый вариант: если условное выражение имеет значение True(истинное значение), то делается переход к выполнению операторов, стоящих после ключевого слова Then. Если условное выражение имеет значение False(ложное значение), выполнение условного оператора сразу заканчивается и начинают выполняться операторы программы, которые следуют за условным оператором. Второй вариант: если условное выражение имеет значение True(истинное значение), то делается переход к выполнению операторов, стоящих после ключевого слова Then. Если условное выражение имеет значение False (ложное значение), то делается переход к выполнению операторов, стоящих после слова Else. После этого выполнение условного оператора заканчивается и начинают выполняться операторы программы, которые следуют за условным оператором. ДАЛЕЕ ЛЕКЦИЯ «ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА» Если выражения содержат операторы различных категорий, они вычисляются по следующим правилам: 1. Арифметические операторы и операторы объединения имеют порядок приоритета, описанный далее, их приоритет выше, чем у операторов сравнения, логических и поразрядных. 2. У всех операторов сравнения приоритет одинаковый, и он выше, чем у логических и поразрядных операторов, но ниже, чем у арифметических операторов и операторов объединения. 3. Логические и поразрядные операторы имеют порядок приоритета, описанный далее, их приоритет ниже, чем у арифметических операторов, операторов объединения и сравнения. 4. Операторы с одинаковым приоритетом вычисляются слева направо в том порядке, в каком они стоят в выражении.
27) VB. Оператор выбора Selekt...Gase. Описание и порядок выполнения. Пример. Оператор Select Case позволяет использовать столько условий (или случаев), сколько требуется, делая удобным написание кода для ситуаций, в которых имеется множество вариантов. Тип цикла Select Case выполняет одно из нескольких действий – функций в зависимости от значения некоторого выражения. У этого цикла следующая структура: Select Case Выражение [Case Список_Выражений-n [действия – функции-n]]… [Case Else [действия – функции_else]] End Select Выражение - обязательный элемент – любое числовое или строковое выражение. Список_Выражений-n - обязательный элемент структуры при наличии предложения Case. Представляет собой список с разделителями. Структура такого списка может быть одной из следующих: – Выражение, – Выражение_1 To Выражение_2, – Is Оператор_сравнения Выражение. Ключевое слово To задаёт диапазон значений. При использовании To перед ним должно находиться меньшее значение. Ключевое слово Is с операторами сравнения (не должны использоваться операторы Is и Like) задаёт диапазон значений. Если ключевое слово Is не указано, оно вставляется по умолчанию. Действия – функции-n - необязательный элемент – одно или несколько действий – функций, которые выполняются в том случае, если выражение совпадает с любым компонентом списка Список_Выражений-n. Действия – функции_else - необязательный элемент – одно или несколько действий – функций, выполняемых в том случае, если выражение не совпадает ни с одним из предложений Case. Пронаблюдаем алгоритм работы Select Case. Если выражение совпадает с любым выражением из Списка¬_Выражений-n в предложении Case, то выполняются все действия – функции, следующие за данным предложением Case до следующего предложения Case (в случае если предложение является последним, то до End Select). После этого управление передается действию – функции, следующей за End Select. Предложение Case Else задаёт список действий–функций_else. Эти действия – функции будут выполнены, если нет ни одного совпадения Выражения и элемента Список_Выражений-n ни в одном из предложений Case. Хотя предложение Case Else не является обязательным, рекомендуется помещать его в блок Select Case, чтобы предусмотреть неожиданные значения выражения. Если ни в одном предложении Case элемент Список_Выражений-n не содержит значения, отвечающего аргументу Выражение, и отсутствует Case Else, выполнение программы продолжается с действия – функции, следующей за End Select. В предложении Case допускается использование нескольких выражений или диапазонов. Допускается вложенность Select Case. При этом каждой вложенной Select Case должна соответствовать End Select. Select Case a Case A1 Операторы, которые будут выполнены, если a = A1 Case A2 To A3, Is > A4 Операторы, которые будут выполнены, если (A2 <= a <= A3) ИЛИ (a > A4) Case Else Операторы, которые будут выполнены, если ни одно из условий не выполнено End Select
28) VB. Оператор цикла For...Next. Заголовок оператора. Структура. Область действия оператора. Порядок изменения параметров цикла. 29) VB. Оператор цикла Do...Loop. Структура оператора. Операторы с предусловием и с постусловием. Условия While, Until. Выполнение оперетора. 30) VB. Вложенные циклы. Порядок изменения параметров внешних и внутренних циклов. Пример.
31) VB. Переменные с индексами. Объявление массивов. Размерность и размер массива. Объявление статических и динамических массивов. Пример. В основе массивов лежит понятие индекса. В математике широко применяются так называемые индексированные переменные. На бумаге они записываются так: x1 x2 b8 yi yi-6 z i j z i+1 j Все эти маленькие подстрочные цифры и выражения называются индексами. Поскольку в алфавите VB нет подстрочных букв и цифр, то те же индексированные переменные в VB приходится обозначать так: X(1) X(2) B(8) Y(i) Y(i-6) Z(i,j) Z(i+1, j) Объявление массива с использованием оператора Dim имеет следующий синтаксис: Dim VarName([Subscripts]) [As Type] VarName - любое имя массива, использующее допустимый идентификатор имени; Subscripts - измерение массива. Если размерность массива больше единицы, то Subscripts разделяются запятыми. Оператор Subscripts имеет следующий синтаксис: [lower To] upper [,[lower To] upper].. lower - определяет нижний диапазон допустимых индексов для массива (необязательный аргумент); upper - определяет верхний предел для индексов массива (обязательный аргумент). Примеры правильного объявления массивов: Dim Array_Str (1 To 10) As String - одномерный статический строковый массив, включающий 10 элементов; Dim Array_Var() - динамический массив; Dim Array_Mult (0 To 5, 0 To 7) As Integer - двумерный статический массив целых чисел, включающий 6*8=48 элементов. При объявлении массивов следует помнить, что включение оператора Subscripts в объявлении массива создает статический массив с фиксированным числом элементов, пропуск оператора Subscripts в объявлении массива создает динамический массив, а установка директивы компилятора Option Base влияет на общее число элементов в массиве. Могут сложиться обстоятельства, при которых точно неизвестно, сколько элементов потребуется в массиве. В VBA имеется возможность при помощи оператора ReDim переопределять размерность массива, а во время объявления не указывать его размерность.
