Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Примеры использования оператора присваивания




Фрагмент текста программы Результат
  Sub q() Const pi = 3.14 Dim a%, b!, c#, d As Boolean Dim e As Date, f$ a = 1 / 3 b = 1 / 3 c = 1 / 3 d = 1 / 3 e = 1 / 3 f = a & vbCr & b & vbCr & c & _ vbCr & d & vbCr & e & vbCr & pi MsgBox f End Sub
  a=1: b=2: a=b: b=a a=2 b=2
  a=1: b=2: a=a+b: b=a*b a=3 b=6
  a=1: b=2: a=a+b: b=a: a=a=a a=-1(True) b=3
  c=a: a=b: b=c a и b меняются значениями
6 * a=a+b: b=a-b: a=a-b a и b меняются значениями
7 * a=y*2: y=y/x: x=x*x: x=x+y+a x=x*x+y/x+y*2

 

Более подробных комментариев заслуживает пример 1 из таблицы 21. Оператор присваивания здесь задаёт значения переменных a, b, c, d, e, f. Оператор SubEnd Sub задаёт описание подпрограммы-процедуры с именем q, внедрённой в данный электронный документ и запускаемой нажатием следующей кнопки.

Примечание: предполагается, что параметры безопасности Microsoft Office Word разрешают запуск макросов (активного содержимого). Более подробные сведения о выполнении программ в среде VBA можно получить, изучая справочную систему, соответствующую учебную литературу [14], а также выполняя задания лабораторного практикума и делая соответствующие выводы [19, 23].

Оператор Const задаёт значение константы pi, а оператор Dim объявляет переменные, причём все они относятся к разным типам (см. табл. 17). Именно поэтому присваивание разным переменным значения одного и того же выражения приводит к получению совершенно различных результатов.

В операторе, задающем значение строковой переменной f, использованы предопределённые константы vbCr, обозначающие непечатаемый символ возврата каретки – переход на новую строку. Поэтому на экране значение переменной f отображается не в одну, а в несколько строк. Символ подчёркивания в этом же выражении играет аналогичную роль в синтаксисе программы, позволяя продолжить запись текущего оператора со следующей строки.

В качестве оператора, отображающего на экране в окне сообщения значение переменной f, выступает функция MsgBox.

Достаточно простые примеры 2 и 3 позволяют лучше понять работу оператора присваивания и заодно закрепить понятие переменной. Особенность примера 4 заключается в последнем операторе a=a=a. Здесь второй знак равенства означает не присваивание, а сравнение, результатом которого в данном случае будет логическое значение «Истина», которому соответствует число -1.

В примерах 5 и 6 выполняется обмен значениями двух переменных а и b, причём в примере 5 это делается с помощью третьей переменной с, а в примере 6 * демонстрируется один из способов, не требующих использования дополнительной переменной. Последовательность операторов присваивания в примере 7 * эквивалентна вычислению выражения, содержащего несколько операций.

 

11.2 Условный оператор IF … THEN

 

Далеко не всякий алгоритм можно описать только линейными структурами. Условный оператор позволяет реализовать алгоритмическую структуру «Ветвление», показанную на рисунке 11.1, и выполнить нужный вариант вычислений из двух (или более) предусмотренных в зависимости от выполнения некоторых условий (логических выражений).

 

Рис. 11.1. Базовая алгоритмическая структура «Ветвление»

 

Для реализации структуры «Ветвление» (Если – То – Иначе) и её частного случая «обход» (Если – То) в VBA используется так называемый строчный вид оператора IF … THEN. Его синтаксис имеет следующий вид:

 

IF условие THEN операторы_А [ ELSE операторы_В ]

 

В качестве условия (англ. condition) может выступать любое выражение, значение которого расценивается как истина (не ноль) или ложь (ноль). А в качестве операторов А и В – один или несколько, разделённых двоеточиями, операторов. Если опустить часть оператора в квадратных скобках, то будет реализована структура «обход». Приведём пример использования оператора IF … THEN, в котором можно обойтись без комментариев:

 

IF рейтинг < 60 THEN итог = «незачёт» ELSE итог = «зачёт»

 

Блочный вид оператора IF … THEN позволяет, кроме того, реализовать более сложное вложенное ветвление. Синтаксис этого оператора имеет следующий вид:

 

IF условие_1 THEN

[ блок_операторов_1 ]

[ ELSEIF условие_2 THEN

[ блок_операторов_2 ]]

[ ELSE

[ блок_операторов_иначе ]]

END IF

 

В отличие от строчной, блочная форма оператора IF … THEN допускает использование нескольких условий, после каждого из которых следует (необязательный) блок операторов, выполняющийся только в случае истинности соответствующего выражения. Следующее условие проверяется только в случае ложности предыдущего. В случае же истинности одного из условий (и последующего выполнения соответствующего блока операторов) никакие дальнейшие условия блочного оператора IF … THEN уже не проверяются, а выполнение программы продолжается с оператора, следующего за ключевым словом END IF.

Исчерпывающее рассмотрение базовой управляющей алгоритмической структуры «Ветвление» даётся в практикуме [20]. Мы же ограничимся приведением ещё одного примера, комментарии к которому могут быть составлены заинтересованным читателем самостоятельно:

 

IF рейтинг < 55 THEN

итог = «неудовлетворительно»

ELSEIF рейтинг < 70 THEN

итог = «удовлетворительно»

ELSEIF рейтинг < 85 THEN

итог = «хорошо»

ELSE

итог = «отлично»

END IF

 

11.3 Оператор выбора варианта *

 

Разновидность структуры «ветвление» – выбор одного из нескольких блоков – показана на рисунке 11.2. Реализуется эта структура оператором выбора варианта SELECT CASE … END SELECT. Логика работы оператора выбора очень похожа на блочную форму оператора IF … THEN. Также выполняется только один из нескольких блоков операторов (вычислительных процессов). Отличие заключается в том, что все условия выбора связаны с проверкой значения одного общего тест-выражения, а в условиях оператора IF … THEN могут проверяться совершенно независимые значения.

 

Рис. 11.2. Структура «выбор»

 

Приведём синтаксис оператора SELECT CASE … END SELECT, который выполняет один из нескольких блоков операторов (на рис. 11.2 – процессов) в зависимости от значения тест-выражения:

 

SELECT CASE тест_выражение

CASE список_выражений_1

[ блок_операторов_1 ]

[ CASE список_выражений_2

[ блок_операторов_2 ]]

[ CASE ELSE

[ блок_операторов_иначе ]]





Поделиться с друзьями:


Дата добавления: 2015-01-29; Мы поможем в написании ваших работ!; просмотров: 1604 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

2555 - | 2198 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.