Простейшие операторы и конструкции VВА
Операторы присваивания. Эти операторы предназначены для задания начальных значений, записи результата вычислений в переменную, изменения значений. Оператор присваивания имеет следующую структуру: имя переменной = выражение В качестве имени переменной может выступать переменная, элемент массива или свойство объекта. Выражение состоит из переменных, констант, функций, операций. К основным операциям языка VВА относят: арифметические операции (+, -, *, /) и операции сравнения (= (равно), <> (не равно), <, >, <= (меньше либо равно), >= (больше либо равно)). Оператор комментариев— пояснения к процедуре для облегчения понимания ее логики и специфики. Комментарий можно приводить в любом месте процедуры. Он должен начинаться с символа ^ (апостроф). Оператор описания переменной и массива. Для описания переменных и массивов переменных в VВА используется оператор Dim. Упрощенный.синтаксис оператора имеет вид: Dim имя переменной [ (индексы )] [Аs тип] Параметр имя переменной — имя описываемой переменной или массива. Необязательный параметр индексы используется для описания массива и определяет количество его элементов. Дополнительный параметр Аs тип позволяет назначить описываемой переменной или массиву необходимый тип данных. Заметим, что здесь и далее атрибуты, записанные в квадратных скобках, являются необязательными и в ряде случаев могут отсутствовать. Считается, что VВА самостоятельно описывает переменные и использовать оператор Dim необязательно. Однако авторы рекомендуют включать этот оператор в тексты программ, чтобы сделать их более читабельными и избежать возможных конфликтов переменных. Приведем пример объявления и использования переменных и элементов массива. Пример 1. Фрагмент программы, запрашивающей у пользователя ввод номера месяца (функции InputBox) и выводящей на экран соответствующее этому номеру название месяца (функция МsgВох). Переменная strВремяГода объявлена, но в этом фрагменте не используется. Dim strМесяцы (12) Аs String, int Номер Аs Integer Dim strВремяГода Аs String strМесяцы (о) = « Январь » strМесяцы (1) = « Февраль » ……………………………. strМесяцы (10) = « Ноябрь » strМесяцы (11) = « Дерабрь » intНомер = InputBox ( «Введите номер месяца», «номер мясяца») МsgВох « Выбран месяц: » & strМесяцы ( intНомер-1) Заметим, что при вводе номера месяца необходимо указывать значения в диапазоне от 1 до 12 (строковые константы могут записываться с использованием кавычек). Конструкции управления порядком выполнения операторов. В простейших процедурах операторы выполняются последовательно (линейный процесс). Однако в ряде случаев требуется изменять порядок выполнения операторов в процедуре за счет организации разнообразных проверок (ветвящийся процесс) или многократного выполнения некоторой последовательности операторов (циклический процесс). Для организации управления ходом выполнения операторов VВА включает ряд операторов-конструкций. Рассмотрим конструкции для организации ветвящихся и циклических процессов. Конструкция для организации ветвящихся процессов. Приведём синтаксис двух простейших конструкций проверки одного условия. Первая конструкция имеет вид: If условие Then группа_1 группа_2] End If Здесь параметр условие - логическое выражение, принимающее значение «истинно» или «ложно». Если это выражение истинно, то выполняется совокупность операторов, отмеченная как группа_1. Если выражение ложно, то выполняются операторы, отмеченные как группа_2. Пример 2. Дополнить пример 1 проверкой корректности введенного номера месяца. Для этого заменим последний оператор примера 1 (оператор МsgВох) следующей конструкцией: If intНомер <= 12 And intНомер > 0 Then МsgВох « Выбран месяц: » » & strМесяцы ( intНомер-1) Else МsgВох « Указан не верный номер месяца: » & intНомер End If Вторая конструкция применяется для выполнения одной или нескольких групп инструкций в зависимости от значения условия. Sе1ес1 Саsе выражение Саsе значения_1 группа_1 [ Саsе значения_2 группа_2 ] ……………………. [ Саsе Е1sе группа_Е1sе ] Еnd Sе1ес1 Здесь выражение — вычисляемое арифметическое или логическое выражение, в простейшем случае— переменная. Значения — одно или несколько значений вычисляемого выражения, а соответствующая ему группа — совокупность операторов, выполняемых в случае, если результат вычисления совпадает с этим значением. Пример 3. Дополнить примеры 1 и 2 конструкцией, вычисляющей время года на основе введенного номера месяца. Sе1есt Саsе intНомер Саsе 3 То 5 strВремяГода = "весны" Саsе 6 То 8 strВремяГода = "лета" Саsе 9 То 11 strВремяГода = "осени" Саsе Е1sе strВремяГода = "зимы" Еnd Sе1ес1: МsgВох strМесяцы(IndНомер-1) & " - месяц " &strВремяГода Эту конструкцию следует поместить вместо оператора МsgВох "Выбран месяц:" & strМесяцы(intНомер-1) (см. пример 2). Конструкции для организации циклических процессов используются для многократного повторения одной или более операций. Язык VВА включает несколько управляющих структур для выполнения циклов. Простейший синтаксис этих конструкций имеет вид: Do While условие Операторы Lоор Fог счетчик = начало То конец [Stер шаг] - операторы Next [счетчик] Fог Еасh элемент In группа операторы Nехt: [элемент] Для конструкции Dо ... Lоор параметр условие — логическое выражение, принимающее значение «истинно» или «ложно». До тех пор, пока это выражение истинно, выполняются операторы, расположенные до Lоор, в противном случае эти операторы пропускаются. В конструкции Fог … Nехt параметр счетчик—имя вспомогательной переменной, которая изменяется с исходного значения начало до значения конец с шагом изменения шаг. При каждом изменении этой переменной выполняются инструкции, находящиеся между Fог и Nехt. Конструкция Fог Еасh ... Nехt не требует подсчитывать число элементов или задавать условие окончания цикла. Здесь элемент — это переменная, представляющая элемент семейства, а группа — имя семейства или массива. Операторы выполняются для всех элементов этой группы. Пример 4. Иллюстрация использования конструкций Dо ... Lоор и Foг ... Nехt для нахождения суммы чисел от 1 до 50 включительно и конструкции Fог Еасh ... Nехt для суммирования чисел, находящихся в массиве с именем «Налоги» (активного рабочего листа таблицы Ехсеl). В этом примере используется свойство Vа1uе объекта Сеll. intЧисло = 1 intСумма = 0 Do While intЧисло<= 50 intСумма = intСумма + intЧисло intЧисло = intЧисло + 1 Loop
intСумма = 0 For intЧисло = 1 To 50 step 1 IntСумма = intСумма + intЧисло Next intЧисло
IntСумма = 0 For Each Cell In Range («Налоги») IntСумма = intCумма +Сell. Value Next Cell
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (158)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |