Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ознакомьтесь с интерфейсом редактора VBA.Стр 1 из 6Следующая ⇒
Содержание
ВВЕДЕНИЕ........................................................................................ 4 1 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ VBA 5 1.1 Элементы языка...................................................................... 5 1.2 Константы............................................................................... 6 1.3 Идентификаторы..................................................................... 7 1.4 Переменные............................................................................. 8 1.5 Выражения и операции......................................................... 10 1.6 Массивы................................................................................. 12 1.7 Строки................................................................................... 13 2 СТРУКТУРА ПРОГРАММЫ НА VBA......................................... 14 2.1 Оператор комментария......................................................... 14 2.2 Оператор присваивания........................................................ 15 2.3 Оператор вывода и диалоговые окна ввода/вывода 2.4 Оператор безусловного перехода........................................ 16 2.5 Оператор условного перехода............................................. 17 2.6 Оператор множественного выбора...................................... 18 2.7 Операторы цикла................................................................. 20 2.8 Обработка информационных массивов............................... 22 2.9 Процедуры и функции.......................................................... 23 2.10 Обработка строковой информации.................................... 24 3 ЭЛЕМЕНТЫ СРЕДЫ РАЗРАБОТКИ VBA................................... 26 3.1 Панель инструментов Стандартная..................................... 27 3.2 Элементы управления........................................................... 29 Лабораторная работа №1 Тема: Инструментальная среда языка программирования VBA. 30 Лабораторная работа №2 Тема: Разработка программ линейной структуры в среде VBA. 35 Лабораторная работа №3 Тема: Разработка программ разветвленной структуры в среде Лабораторная работа № 4 Тема: Разработка программ циклической структуры в среде VBA.... 50 Лабораторная работа № 5 Тема: Разработка программ обработки информационных Лабораторная работа №6 Тема: Разработка программ смешанной структуры в среде VBA...... 63 Литература....................................................................................... 78 Приложение 1.................................................................................. 79 Указатель......................................................................................... 80
Язык Basic был разработан в 1963—1964 годах в Дартмутском колледже (США) по заказу фирмы General Electric. Название языка представляет собой аббревиатуру от Beginner's All-purpose Symbolic Instruction Code — универсальный язык символических команд для начинающих. Этот язык предназначался для решения задач вычислительного характера в режиме диалога. Ввод данных осуществлялся с клавиатуры терминала, а вывод выполнялся на экран терминала или печатающее устройство. Мощности программного языка вычислительных машин в те времена были очень ограничены, поэтому требовался интерпретатор, который осуществлял синтаксическую проверку каждой строки, преобразовывал в машинный код и при отсутствии ошибок отправлял на выполнение. В то время язык состоял примерно из 30 операторов, каждый из которых начинался своим ключевым словом. Язык Basic оказался настолько простым и удачным, что для каждого нового типа вычислительной машины в первую очередь создавался такой интерпретатор. В 1975 г. фирма Digital Equipment Corporation разработала версию языка Basic+, который уже содержал практически все элементы современных языков программирования. При появлении микроЭВМ язык Basic перенесли и на них. Интерпретатор языка Basic для таких ЭВМ разработали основатель и президент фирмы Microsoft Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen). Очень долгое время Basic существовал как самостоятельный продукт. Фирма Microsoft поставляет его вместе с операционной системой MS-DOS. Кроме того, в современных версиях MS-DOS, начиная с пятой, на его базе построены справочная система (Help) и «штатный» текстовой редактор MS-DOS. Фирма Microsoft разработала также систему программирования QBasic, которая представляет собой интерпретатор языка, встроенный в оболочку (текстовой редактор и отладчик). Это уже достаточно мощное средство для разработки программ. Следующим шагом было появление в мае 1991 г. языка Visual Basic, который включал в себя средства визуального проектирования и элементы объектно-ориентированного программирования. Эта версия стремилась предоставить самому пользователю средства для быстрого и не слишком сложного создания приложений для всех версий Microsoft Windows. Когда появился Word для Windows и другие приложения, объединенные в пакет Microsoft Office, возникла проблема их интеграции, поскольку все они предназначались для работы с документами и автоматизации бухгалтерских расчетов. Все эти приложения позволяют заменить повторяющиеся действия последовательностью машинных команд — макроопределений, или макросов. Visual Basic стал основным языком для разработки макроопределений. Появились новые сходные между собой неполные версии языка Visual Basic для Word, Access, Excel и т. д. - Visual Basic for Application (VBA).
В язык VBA добавлены элементы и средства объектно-ориентированного программирования (ООП). Конечно, он не относится к каноническим объектно-ориентированным языкам программирования (как, например, C++). В литературе его называют событийным (Event-Driven) языком программирования, ориентированным на работу с объектами. Данное пособие включает шесть лабораторных работ в среде Visual Basic for Application (VBA), целью которых является освоение студентами методов составления алгоритмов и программ с использованием элементов объектно-ориентированного программирования и решение задач на ПЭВМ. Каждая работа состоит из следующих разделов: цель работы, порядок выполнения работы, индивидуальные задания. 1 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ VBA 1.1 Элементы языка Язык программирования VBA служит для написания кода программы. Он, как и другие языки, имеет свой алфавит. В него входят: 1. Прописные и строчные буквы латинского алфавита (А - Z, a - z); 2. Прописные и строчные буквы кириллицы (А - Я, а -я); 3. Цифры от 0 до 9; 4. Символ подчеркивания «_»; 5. Неотображаемые символы (пробел, табуляция, переход на новую строку); 6. Специальные символы, участвующие в построении конструкций языка:
7. Знаки арифметических операций:
8. Знаки логических отношений:
1.2 Константы Константы - это объекты, значения которых остаются постоянными и не могут быть изменены во время выполнения программы. Константы могут быть именованными и неименованными. Синтаксис языка VBA определяет три типа констант: символы, целые числа и вещественные числа. Символьная константа служит для изображения отдельных знаков, состоит из изображаемого символа (или последовательности символов) и ограничивающих кавычек. Например, «Р», «Program», «3.14», «+» - неименованные символьные константы. Внутри кавычек может быть записан любой изображаемый символ. Целая десятичная константа представляется десятичным целым числом: 44, 684, 0, -1024 (неименованные десятичные целые константы). Вещественные константы представляются в памяти компьютера в форме с плавающей точкой. Каждая вещественная константа состоит из следующих частей: целая часть (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя «е» или «Е»; показатель (десятичная целая константа) (табл. 1.1).
Таблица 1.1 - Примеры записи вещественных констант
Различают встроенные константы Visual Basic и константы, создаваемые пользователем. Встроенные константы используются, например, для определения цветовых наборов, задач доступа к данным, кодов клавиш, контуров и т.д. Встроенные в систему VBA константы имеют префикс vb. Они могут использоваться для различных целей. Для того чтобы узнать конкретное значение константы, можно воспользоваться окном Просмотр объектов (View/ Object Browser). После выбора константы ее значение и описание функции появятся в текстовом поле в нижней части окна Просмотр объектов. Примеры: MsgBox «Текстовое сообщение», vbInformation В этом примере встроенная константа vbInformation указывает, что в окне сообщения должен быть помещен значок «Информация» (латинская буква «I»). MsgBox «Текстовое сообщение», vbExclamation В этом примере встроенная константа указывает, что в окне сообщения должен быть значок «Внимание» (восклицательный знак). Однако встроенного запаса констант при подготовке программы бывает недостаточно. В этом случае можно создавать свои собственные именованные константы. Для определения констант служит ключевое слово Const. Синтаксическая конструкция для декларирования констант имеет вид: Const ИМЯ_КОНСТАНТЫ [As Тип] = значение Пример: Const PI As Single = 3.1415 ‘Объявлена именованная числовая константа для хранения значения числа p. 1.3 Идентификаторы Идентификатор представляет собой последовательность букв, цифр и символов подчеркивания. Посредством идентификаторов обозначают имена переменных, констант, процедур и функций. Выбирая идентификатор для имени, следует учитывать два обстоятельства. Во-первых, имя должно быть содержательным, т.е. отражать назначение переменной, что делает программу более «читабельной». Во-вторых, VBA накладывает на имена следующие ограничения: · имя должно начинаться с буквы; · имя не должно содержать точки, пробела, разделительных символов, знаков операций, а также специальных символов; · имя должно быть уникальным, оно не должно совпадать с зарезервированными словами VBA или с другими именами; · длина имени не должна превышать 255 символов;
· имена могут быть простыми или составными. Примеры правильных имен: strMyName, I, intNumOne, Номер, Max_Len и т.п. Примеры неправильных имен: 2Week (имя начинается с цифры); _Номер (имя начинается со знака подчеркивания); Second.Week (в имени есть точка); Dim, As, Integer (эти слова являются зарезервированными); Number One (в имени есть пробел). 1.4 Переменные Переменные - это обозначенные через идентификатор объекты, предназначенные для хранения данных. В различные моменты времени переменные могут хранить различные значения. В переменных можно запоминать какие-либо значения и извлекать их из переменных. Переменные в программе перед их использованием нужно объявлять (декларировать). При этом надо указать, что объявляется переменная, задать имя переменной и указать ее тип. Тип указывает способ представления переменной. В переменных можно хранить практически любые типы данных: число, строку текста, экземпляр объекта, элементы управления, базы данных. Для эффективного использования памяти компьютера необходимо правильно выбирать тип переменной (табл. 1.2). В VBA различают две группы типов данных: основные (иногда их называют базовыми или встроенными) и определяемые пользователем. Таблица 1.2 – Типы переменных
Декларация переменных может быть явной или неявной. Для явного определения переменных существуют два способа. Первый (предпочтительный) способ предполагает использование любого из следующих операторов: [ Static/Public/Private ] Dim Имя1 As [Тип], Имя2 Аs [Тип], где Static (статический) - ключевое слово, которое определяет, сохраняет ли переменная свое значение при выходе из блока программы (процедуры, функции); Private (частный), Public (общий)- ключевые слова, определяющие область видимости переменных; Dim (размер) - ключевое слово, которое сообщает, что декларируется переменная и резервируется область памяти для ее хранения; Имя - имя переменной (идентификатор); As (как) - ключевое слово, которое сообщает, что определяется тип данных для переменной; Тип - тип данных объявляемой переменной. При подготовке кода программы среда программирования оказывает помощь пользователю: после набора ключевого слова As раскрывается список, в котором наряду с другими типами объектов указаны и базовые типы переменных. Тип переменной можно установить, дважды щелкнув по имени типа в этом списке.
Другим способом явного объявления переменных является указание типа с помощью суффикса. В этом случае тип данных переменной определяется с помощью добавления в конец ее имени специального символа описания типа - суффикса, поэтому использовать ключевое слово As не требуется. Синтаксис явного объявления переменных с помощью суффикса и приставки: [ Static/Public / Private ] Dim Приставка Имя_Переменной Суффикс Пример: Dim strФамилия$ - объявляется переменная типа «строка» String; Static sngСреднее_значение! - объявляется переменная типа Single; Private intHoмep% - объявляется переменная типа «целое» Integer. Ниже приведены приставки и соответствующие им суффиксы, применяемые при объявлении типов. Приставка Суффикс Int % Lng & Sng! Dbl # Cur @ Str $ Bln Нет Dtm Нет Obj Нет Vnt Нет Чтобы избежать неприятностей в случае ошибочной записи имени переменной, необходимо в раздел описаний общей области помещать оператор Option Explicit. В этом случае VBA будет расценивать любую неявно объявленную переменную как ошибочную, например: Option Explicit Dim intMyNum ‘Неявное объявление переменной intMyNam=10 ‘При ошибочном указании имени Option Explicit включит предупреждение об ошибке 1.5 Выражения и операции Последовательность действий, которые необходимо произвести над данными, чтобы получить требуемое значение, называется выражением. Порядок выполнения операций определяется правилами приоритета: 1. Арифметические операции; 2. Операции отношений (<, >, =, <=, >=, < >); 3. Логические операции: OR Логическое сложение (ИЛИ) AND Логическое умножение (И) NOT Логическое отрицание (НЕ) XOR Исключающее ИЛИ EQV Логическая эквивалентность IMP Логическая импликация Математические функции. В языке Visual Basic для решения различных математических задач существуют встроенные функции (табл. 1.3), зависящие от одного аргумента, которые можно использовать непосредственно при вычислении каких-либо выражений. Аргумент во всех тригонометрических функциях задается в радианах, а не в градусах. При вычислении арктангенса необходимо, чтобы аргумент находился в пределах интервала: (-p/2; p/2). При необходимости перевода значения, которое задано в градусах, в радианы, следует использовать формулу: радианы = градусы * p/180 При использовании стандартного датчика случайных чисел генерирует число в интервале [0; 1], при этом аргумент х в функции Rnd можно опустить.
Таблица 1.3 – Встроенные математические функции
Арифметические выражения – это числа, переменные и стандартные функции, соединенные знаками арифметических операций (табл. 1.4). При наличии в выражении нескольких арифметических операций порядок их выполнения определяется правилами приоритета: 1. возведение в степень (^) 2. умножение и деление - обычное и целочисленное (*, /, \) 3. остаток от деления (оператор Mod) 4. сложение и вычитание (+, -) Операции с одинаковым приоритетом выполняются в соответствии с порядком их записи в операторе слева направо. Если в выражении какие-либо операции заключены в скобки, то независимо от приоритета, они выполняются в первую очередь. Таблица 1.4 – Запись арифметических выражений на VBA
В арифметических выражениях могут присутствовать величины различных типов, например, складываются два числа: целое и вещественное. Результатом такого сложения будет величина вещественного типа, поэтому особое внимание следует обращать на тип той переменной, которой он будет присвоен. 1.6 Массивы Массивом называется упорядоченная последовательность элементов одного типа, обращение к которым осуществляется при помощи его имени и индекса (т.е. порядкового номера элемента). Примерами массива могут служить: последовательности заработных плат по табельным номерам работников; таблица выпуска различного вида продукции по месяцам года. У каждого массива определены нижняя и верхняя границы, в пределах которых может изменяться значение индекса. По умолчанию нижней границей любого массива является 0. Количество элементов содержащихся в массиве называется его размерностью. Существует две разновидности массивов: статические и динамические. Статические массивы. При объявлении такого массива значения его верхней и нижней границ не могут быть изменены в программе. Данный вид массивов описывается так же, как и переменные - при помощи одного из служебных слов: Dim, Private, Public или Static с последующим указанием типа после служебного слова As. При этом может быть указана как верхняя граница, так и обе границы одновременно, например: Dim arrA(9) As Integer Dim arrB(l To 10) As Single В данном случае оба массива содержат одно и то же количество элементов одинакового типа. Однако нумерация элементов аrrА начинается с нуля, в то время как нумерация аrrВ - с единицы. Для явного указания границ следует использовать служебное слово То, в то время как при описании стандартного массива с нумерацией элементов от нуля необходимо просто указать значение верхней границы. Массивы бывают одномерными и многомерными. Для описания многомерных массивов используются конструкции, аналогичные рассмотренным, однако отличие состоит в том, что границы размерностей указываются через запятую, например: Dim arrA(3, 4) As Integer ‘Объявлена таблица 4 строки, 5 столбцов Dim arrB(l To 4, 1 To 5) As Single ‘Объявлена таблица 4 строки, 5 столбцов В данном примере объявленные массивы являются двумерными и содержат одинаковое количество элементов, нумерация которых отличается: arrA нумеруется начиная с нуля, аrrВ - начиная с единицы. Динамические массивы используются в том случае, когда количество элементов массива заранее неизвестно и будет определяться в процессе выполнения программы. Описание динамических массивов осуществляется в два этапа: Объявить массив с использованием одного из служебных слов, например Dim, но без указания размерности (или размерностей). В нужном месте процедуры описать данный массив с требуемым значением для размерности при помощи оператора ReDim. Например: Dim arrA () As Integer ‘Описание типа массива n = InputBox(“Введите размерность массива”) ‘Ввод значения размерно ReDim arrA(5) As Integer ‘Указание размерности При указании значений для размерностей динамического массива оператором ReDim его тип не может быть изменен, т.е. он должен совпадать с тем, который объявлен в операторе Dim, иначе на стадии компиляции программы будет выдано сообщение об ошибке. При помощи оператора ReDim в любом месте программы можно устанавливать любые значения границ и количество размерностей, а также менять любой из установленных параметров, как в сторону увеличения, так и в сторону уменьшения. Кроме того, при каждом выполнении оператора ReDim все значения элементов массива, которые до этого в нем хранились, обнуляются. 1.7 Строки Строками называются такие переменные, которые предназначены для работы с текстом или с какой-либо символьной информацией, обозначаемой в тексте программы в двойных кавычках. Для описания строковых переменных используется тип String. Например: Dim strA As String strA = "Строковая переменная" Существует две разновидности строк: Строки переменной длины. Данный тип используется по умолчанию, при этом длина объявленной строки может изменяться в процессе выполнения программы, т.е. строка не занимает фиксированный объем памяти. В рассмотренном выше примере была использована строка переменной длины. Строки постоянной длины используются в том случае, когда требуется заранее определить длину объявляемой строки, причем ее длина не может изменяться при выполнении программы. Объявляется строка постоянной длины, так же как и переменная, но после служебного слова String указывается количество символов, которые она будет занимать. Например: Dim strA As String * 20 strA = "Строковая переменная" При выполнении первой из указанных команд для строки strA в памяти будет выделено место в 20 байт. Значение, присваиваемое строке переменной длины, может состоять как из меньшего, так и из большего количества символов, которые выделены для переменной. В первом случае в конец строки вместо недостающих символов автоматически будут добавлены пробелы, а во втором - удалятся лишние символы в конце строки. 2 СТРУКТУРА ПРОГРАММЫ НА VBA Тексты программ в VBA хранятся в мáкросах. Макрос на языке Visual Basic должен содержать хотя бы одну подпрограмму, которая называется Главной. От всех остальных она отличается тем, что ей передается управление при вызове макроса. Подпрограммы не могут быть вложенными. Подпрограмма начинается оператором заголовка, например: Sub Задача() Затем следуют строки, состоящие из операторов. Они составляют тело программы. В одной строке может находиться один или несколько операторов языка Visual Basic. Один оператор от другого отделяется знаком двоеточия (:). Один оператор может занимать несколько строк. В этом случае символом продолжения служит последовательность пробел-подчеркивание (_). Последним оператором в подпрограмме должен быть оператор End Sub Оператор - это минимальная конструкция языка, задающая описание некоторого действия. Наиболее распространены в процедурно-ориентированных языках следующие операторы: · комментария · присваивания; · ввода и вывода данных; · безусловной передачи управления; · условной передачи управления; · множественного выбора; · организации цикла (по счётчику и по условию). 2.1 Оператор комментария Оператор комментария не выполняет в программе никаких действий и может содержать любой текст. Оператор комментария имеет две формы записи. Это или самостоятельный оператор, начинающийся ключевым словом Rем, за которым может следовать произвольный текст, или знак апострофа (‘), который ставится после любого оператора. Интерпретатор языка игнорирует любые символы, которые находятся после этого знака: ‘ Это описание переменных Rem Это вычисление результата 2.2 Оператор присваивания Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет вид: Переменная = Выражение При выполнении этого оператора значение Выражения вычисляется и присваивается Переменной, например: А = 5 ‘Переменной А присваивается значение 5. А = А + 1 ‘В Выражении используется та же Переменная, ко Оператор выполняется следующим образом: к значению переменной А будет добавлена единица, и новое значение запишется в переменную А. После выполнения действий переменная А будет иметь значение 6. 2.3 Оператор вывода и диалоговые окна ввода/вывода информации В программах может предусматриваться ввод начальных данных и вывод результатов в диалоговые окна, которые вызываются при помощи стандартных функций VBA: InputBox и MsgBox. Синтаксис диалогового окна ввода: Имя_Переменной = InputBox (“Текст подсказки”, “Заголовок окна”) Например: А= InputBox(“Введите первое слагаемое”, “Суммирование”) Результатом вызова функции InputBox является значение, введённое в текстовое поле, которое присваивается переменной А (рис.1). Рис.1 Диалоговое окно ввода данных с помощью функции InputBox Функция MsgBox позволяет вывести на экран диалоговое окно, используемое для отображения какой-либо информации или сообщения (рис.2). Синтаксис диалогового окна вывода: MsgBox “Текст сообщения” & Имя_Переменной,, “Заголовок окна” & (логическое «и») позволяет объединить в одном окне информацию разных типов. Например: MsgBox "Sum=" & Sum,, "Результат суммирования" Рис.2 Диалоговое окно сообщения, вызываемое функцией MsgBox Оператор вывода результатов Debug.Print [список вывода] осуществляет вывод результатов работы программы в окно Immediate. Переменные из списка вывода могут отделяться друг от друга запятой или точкой с запятой, что влияет на форму печати. Если в качестве разделителя используется запятая, то печать позиционированная, при которой строка разбивается на зоны по 14 позиций в каждой зоне. При использовании в качестве разделителя выводного списка точки с запятой числа печатаются подряд через один пробел. Такая форма печати получила название - уплотненная печать. Например:
Если оператор Debug.Print записан без списка переменных, то при печати будет пропускаться одна пустая строка. Использование функции TAB в оператореDebug.Print. Функция TAB может использоваться как один из элементов в списке вывода оператора Debug.Print. Она обеспечивает вывод следующего за ней элемента в позицию n, номер которой задан как аргумент функции TAB. Общий вид функции: TAB (n) Если аргумент функции TAB меньше текущей позиции строки, то вывод результата осуществляется в следующей строке экрана. Например:
Рис.3 Результаты позиционированного вывода в окне Immediate 2.4 Оператор безусловного перехода Операторы перехода применяются в программе для реализации безусловных алгоритмических конструкций. Они выполняют переход с одного участка программы на любой другой без какого-либо условия. Оператор перехода имеет следующий вид: Go To Метка Метка - это идентификатор, помещаемый слева от программного оператора и отделенный от него двоеточием. Например: Dim m1 as Label ... Go To ml ОПЕРАТОРЫ ml: Textl.Text = «Это метка» ‘Переход к выводу сообщения в текстовое поле элемента управления TextBox в обход ОПЕРАТОРОВ 2.5 Оператор условного перехода Операторы условного перехода (выбора) используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть истина (True) или ложь (False). Такие выражения-условия записываются с помощью операций отношения. 1) Общая форма оператора условного перехода такова: If УСЛОВИЕ Then ОПЕРАТОР_1 Else ОПЕРАТОР_2 ОПЕРАТОР_1 выполняется в том случае, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2. 2) УСЛОВИЕ может задаваться не одним, а несколькими операторами. При этом условный оператор имеет следующий вид: If УСЛОВИЕ Then БЛОК_ОПЕРАТОРОВ_1 Else БЛОК_ОПЕРАТОРОВ_2 End If БЛОК_ОПЕРАТОРОВ_1 выполняется в том случае, если УСЛОВИЕ истинно, в противном случае выполняется БЛОК_ОПЕРАТОРОВ_2. Например, если значение переменной X принадлежит некоторому интервалу значений от а до b, то переменной Y будет присвоено значение 1, иначе переменной Y будет присвоено значение 0. If (X>=a) and (X<=b) Then Y=1 Else Y=0 End If 3) В случае, когда ветвь ELSE является необязательной, условный оператор может быть записан в краткой форме: If УСЛОВИЕ БЛОК_ОПЕРАТОРОВ_1 End If 4) В условном операторе может проверяться несколько условий. В этом случае он будет записываться так: If УСЛОВИЕ_1 Then БЛОК_ОПЕРАТОРОВ_1 ElseIf УСЛОВИЕ_2 Then БЛОК_ОПЕРАТОРОВ_2 ElseIf УСЛОВИЕ_3 Then ... Else БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ End If Если истинно УСЛОВИЕ_N, выполняется БЛОК_ОПЕРАТОРОВ_N, если же все условия ложны, выполняется последний БЛОК_ОПЕРАТОРОВ ПО УМОЛЧАНИЮ. 2.6 Оператор множественного выбора Оператор Select Case можно использовать вместо последовательности операторов If. В языках программирования высокого уровня такая конструкция называется переключателем. Он записывается следующим образом: Select Case ВЫРАЖЕНИЕ Case УСЛОВИЕ_1 БЛОК_ОПЕРАТОРОВ_1 Case УСЛОВИЕ_2 БЛОК_ОПЕРАТОРОВ_2 Case УСЛОВИЕ_N БЛОК_ОПEPATOPOB_N Case Else БЛОК_ОПЕРАТОРОВ_ПО_УМОЛЧАНИЮ End Select В свою очередь, УСЛОВИЕ может быть записано в одной из трех форм: 1) Case КОНСТАНТА, КОНСТАНТА, КОНСТАНТА,... 2) Case Is ЗНАК_ОТНОШЕНИЯ КОНСТАНТА 3) Case KOHCTAHTA_1 To KOHCTAHTA_2 Этот оператор выполняется так: сначала вычисляется значение ВЫРАЖЕНИЯ, стоящего после ключевых слов Select Case; затем выполняется проверка на то, удовлетворяет ли ВЫРАЖЕНИЕ одному из Case-УСЛОВИЙ. Если Case-УСЛОВИЕ записано в первой форме, то достаточно, чтобы значение ВЫРАЖЕНИЯ было равно любой из КОНСТАНТ. Если - во второй форме, то необходимо, чтобы выполнялось условие отношения между значением ВЫРАЖЕНИЯ и КОНСТАНТОЙ. Если Саsе-УСЛОВИЕ записано в третьей форме, необходимо, чтобы выполнялось соотношение: KOHCTAHTA_1 <= ВЫРАЖЕНИЕ <= КОНСТАНТА_2 Если такое условие найдено, выполняется БЛОК_ОПЕРАТОРОВ_N, который стоит после него, а затем управление передается оператору, который находится после End Select. Если такого условия нет, то выполняется БЛОК_ОПЕРАТОРОВ ПО_УМОЛЧАНИЮ, который находится после ключевых слов Case Else. Например, пусть в программе переменной I% присваивается некоторое значение и в зависимости от него выводится одна из трех строк: Select Case I% Case 1, 5 Debug. Print "Один или Пять" Case Is > 3 Debug. Print "Больше Трех" Case -5 То 5 Debug.Print "От минус Пяти до Пяти" Case Else Debug.Print "Ни одно из условий не выполнено" End Select В каждой инструкции CASE можно определить несколько значений или диапазонов значений КОНСТАНТЫ, например: Case 16 То 19, 30 То 50, Is > 3 При этом соответствующий БЛОК_ОПЕРАТОРОВ будет выполнен в том случае, если хотя бы одно из условий верно. Допускается использование вложенных операторов Select Case, при этом каждому из них должна соответствовать своя инструкция End Select. Существует несколько важных моментов: - Если ни одно из условий не выполнено, а ветви Case Else нет, выполнение программы может привести к непредсказуемым последствиям. - Если значения ВЫРАЖЕНИЯ удовлетворяет сразу нескольким Case–условиям, будет выполнено то из них, которое стоит ближе к началу оператора Select Case.
2.7 Операторы цикла Цикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов. Операторы, повторяющиеся в цикле, называются телом цикла. Существует два основных вида циклов: цикл со счётчиком и цикл с условием. 1) Цикл со счётчиком используется в том случае, когда количество повторов заданного блока операторов известно заранее. Для организации цикла с известным числом повторений используется оператор Синтаксис этого циклического оператора таков: For СчетчикЦикла= НачальноеЗначение То КонечноеЗначение [ Step Шаг] Операторы тела цикла Next [СчетчикЦикла]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-10; просмотров: 349; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.131.13.194 (0.201 с.) |