Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

РАБОТА В ИНТЕГРИРОВАННОЙ СРЕДЕ РАЗРАБОТКИ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ VB Для вызова интегрированной среды разраб

Работа добавлена на сайт samzan.net:


1. РАБОТА В ИНТЕГРИРОВАННОЙ СРЕДЕ РАЗРАБОТКИ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ VBA 

Для вызова интегрированной среды разработки приложений (IDE) необходимо, выбрать в меню следующие команды: Сервис Макрос Редактор Visual Basic. Общий вид IDE приведен на рис. 1.1. IDE состоит из нескольких компонентов: главного меню, панели инструментов, окна проекта, окна свойств, панели элементов, конструктора форм, окна контрольных значений и нескольких других вспомогательных окон.

 

 

Главное меню – это строка текста, расположенная в верхней части окна Visual Basic, и состоит из нескольких пунктов.

Меню Файл предназначено для работы с файлами, из которых образуются приложения. В нем можно создавать, сохранять и печатать проекты. Меню Правка выполняет стандартные операции с буфером обмена – вырезание, копирование и вставка. Они применяются не только к фрагментам программы, но и к управляющим элементам. В меню Вид включаются режимы просмотра различных компонентов и инструментов. Просматривать можно формы и программные модули. Меню Вставка позволяет добавлять процедуры, формы, модули и модули класса. Команды меню Формат определяют расположение и размеры элементов и форм. При помощи команд меню Отладка можно запустить и остановить приложение, расставить точки прерывания и выбрать просматриваемые объекты, а также выполнить другие операции, помогающие следить за работой приложения. Команды меню Запуск запускают и останавливают приложение, прерывают и возобновляют выполнение программы, что особенно удобно в процессе отладки. Меню Сервис позволяет включить дополнительные элементы, запустить макросы и настроить параметры редактора. Меню Окно позволяет выстроить окна IDE (каскадное или мозаичное расположение), упорядочить значки свернутых форм, а также создает список, позволяющий быстро перейти к одному из открытых окон IDE. Меню ? – помощь пользователю. Для быстрого вызова главного меню необходимо нажать клавишу F10.

Панель инструментов находится под главным меню (рис. 1.2). Если она отсутствует, необходимо выполнить команду Вид Панели инструментов Стандарт.

Окно проекта напоминает собой окно Проводника Windows, и предназначено для быстрого просмотра составляющих проекта, который объединяет в себе все объекты, составляющие приложение (рис. 1.3). Это стандартные объекты открытого приложения Microsoft Office (документ редактора MS Word, книга и её листы MS Excel), формы, модули и классы.

 

 Окно свойств отображает различные атрибуты выделенного объекта     (рис. 1.4). Все объекты (формы, управляющие элементы и т.д.) имеют атрибуты, которые изменяют не только внешний вид объекта, но и его поведение. Все эти атрибуты  называются свойствами. Следовательно, каждый объект обладает набором свойств.

 

 

Окно контрольных значений позволяет просматривать значения контрольных переменных в процессе проверки правильности работы (отладки) проекта, что позволяет находить ошибки в логике работы программ.

Конструктор форм расположен в центре экрана редактора VBA. Здесь выводится либо изображение формы, что позволяет производить визуальное конструирование макета формы и расположенных на ней элементов, либо окно программы (более подробно об этом будет рассказано ниже).

2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ VBA 

Процесс разработки программы на языке VBA – проекта, может состоять из нескольких этапов, в зависимости от конечного результата. Если необходимо получить программу, которая будет производить определенные  вычисления или действия, расширяющие математические возможности стандартного приложения Microsoft Office, то достаточно создать программный модуль. Для применения этой программы можно поместить в рабочей области приложения кнопку, нажатие которой будет вызывать выполнение программы. Для этого в приложении необходимо включить панель инструментов с помощью команды Вид ® Панели инструментов ® Элементы управления, а затем создать кнопку с соответствующим программным кодом.  Либо выполнять программу с помощью команды Сервис ® Макрос ® Макросы.

 Разработка “полноценной” программы (для выполнения которой требуется отдельное окно, с различными элементами управления) будет включать два этапа. Первый этап – этап визуального программирования, на котором создается окно (форма) программы, где располагаются необходимые элементы управления. Второй – этап программирования, на котором создаются части программы (процедуры), выполняющиеся в ответ на определенные события. Событием является, например, щелчок левой кнопкой мыши на командной кнопке (событие Click), нажатие клавиши на клавиатуре (событие KeyPress) и т.д. Использовать такое приложение можно нажатием кнопки – «Запуск проекта».

 2.1. Объекты, свойства и методы VBA

Одним из основных понятий VBA является объект. Объект – это то, чем вы управляете с помощью программы на языке VBA, например, форма, кнопка, рабочий лист или диапазон ячеек MS Excel. Каждый объект обладает некоторыми свойствами. Например, форма может быть видимой или невидимой  в данный момент на экране. Другой пример свойства объекта – шрифт для отображения информации в ячейке (объекте) рабочего листа.

Объект содержит также список методов, которые к нему применимы. Методы – это то, что вы можете делать с объектом. Например, показать форму на экране или убрать её можно с помощью методов Show и Hide.

Таким образом, объект – это программный элемент, который имеет свое отображение на экране, содержит некоторые переменные, определяющие его свойства, и некоторые методы для управления объектом. Например, в MS Excel имеется много встроенных объектов:

Range(“Адрес”)

- диапазон ячеек (может включать только одну ячейку).

Cells(i, j)

- ячейка, находящаяся на пересечении i-й строки и j-го столбца рабочего листа MS Excel (i и j – целые числа).

Rows(№ строки)

- строка с заданным номером.

Columns(№ столбца)

- столбец с заданным номером

Sheets(“Имя”)

- лист с указанным именем.

Sheets(№ листа)

- лист с указанным номером.

WorkSheet 

- рабочий лист.

Установка значений свойств – это один из способов управления объектами. Синтаксис установки значения свойства объекта следующий:

Объект. Свойство = Выражение

Основным свойством объектов Cells и Range, является Value (значение), которое, однако, можно не указывать. Например:

Range(“A5:A10”). Value = 0  или  Range(“A5:A10”) = 0 – в диапазон ячеек A5:A10 заносится значение 0.

Cells(2, 4). Value  = n   или  Cells(2, 4) = n – в ячейку, находящуюся на пересечении 2-й строки и 4-го столбца (ячейка с адресом “D2”), заносится значение переменной n.

Синтаксис чтения свойств объекта следующий:

Переменная = Объект. Свойство

Например:

Xn = Cells(1, 2).Value  или Xn = Range(“B1”).Value – переменной Xn присваивается значение  из ячейки B1 текущего рабочего листа.

Синтаксис применения методов к объекту:

Объект. Метод

Например:

Sheets(2).Activate – сделать активным лист с №2.

Sheets(“Диаграмма”).Delete – удалить лист с именем “Диаграмма”.

Range("A5:A10").Clear – очистить диапазон ячеек A5:A10.

Range("A2:B10").Select –  выделить диапазон ячеек A2:B10.

В MS Excel имеются объекты, которые содержат другие объекты. Например, рабочая книга содержит рабочие листы, рабочий лист содержит диапазон ячеек и т.д. Объектом самого высокого уровня является Application (приложение). Если вы изменяете его свойства или  вызываете его методы, то результат применяется к текущей работе MS Excel. Например:

Application.Quit -  завершение работы с Excel.

Отметим, что точка после имени объекта  может использоваться для перехода от одного объекта к другому. Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет:

Application.Workbooks("Отчет").Worksheets("Май").Rows(2).Delete

Нужно отметить следующее:

  •  Можно не писать имя объекта Application, так как это подразумевается по умолчанию.
  •  При работе с подобъектом уже активизированного объекта нет необходимости указывать содержащий его объект.
  •  VBA использует некоторые свойства и методы, которые возвращают объект к которому они относятся (это позволяет быстро указывать нужный объект). Примеры таких свойств: ActiveCell (активная ячейка), ActiveSheet (активный лист), ActiveWorkBook (активная рабочая книга). Так, установить значение активной ячейки можно следующим образом:

ActiveCell.Value = " Да".

2.2. Описание данных

Все объекты, которыми оперирует язык программирования VВА, относятся к определенному типу.

Тип данных определяет:

–       область возможных значений переменной;

–       структуру организации данных;

–       операции, определенные над данными этого типа.

Типы данных подразделяются на простые (скалярные) и сложные (структурированные). У простых типов данных возможные значения данных едины и неделимы. Сложные же типы имеют структуру, в которую входят различные простые типы данных. Скалярные типы данных представлены в таблице 2.1.

 

Таблица 2.1.  Скалярные типы VBA

Имя типа

Русское
название типа

Возможные значения

Boolean

Логический

True, False

Byte

Байтовый

0…255

Integer

Целое

-32768…+32767

Long

Длинное целое

-2147483648…+2147483647

Single

Число с плавающей точкой

-3,4Е38…-1,4Е-45 для отрицательных значений. 1,4Е-45…3,4Е38 для положительных значений.

Double

Число с плавающей точкой двойной точности

-1,7Е308…-4,9Е-324 для отрицательных значений. 4,9Е-324…1,7Е308 для положительных значений.

Currency

Денежный

Десятичные числа с фиксированной позицией запятой. Возможны 15 цифр до запятой и 4 после.

String

Строковый

Есть два вида строк: строки фиксированной длины (до 216 символов) и строки переменной длины (до 231 символов). Данные записываются в кавычках.

Date

Дата

Даты изменяются в диапазоне от 1.01.100г. до 31.12.9999г.

Object

Объект

Ссылка на объект (указатель)

Variant

Вариант

Универсальный тип, значением которого могут быть данные любого из перечисленных выше типов, объекты, значения NULL и значения ошибок ERROR.

Переменные в программе можно описывать или не описывать. В последнем случае ей будет присвоен тип Variant. Явно описывать переменную можно как в начале блока, так и в любом месте, где возникла необходимость использовать новую переменную. Лучше все переменные описывать явно и, как правило, в начале блока. Для запрета использования переменных, которые не были описаны явно, в начало программы необходимо вставить оператор            Option Explicit.

2.2.1. Описание  простых  переменных

Описание простых переменных имеет следующий синтаксис:

Dim  ИМЯ_ПЕРЕМЕННОЙ  As  ИМЯ_ТИПА

Одним оператором Dim можно описать произвольное число переменных, но конструкция Аs должна быть указана для каждой из них, иначе переменным без Аs будет присвоен тип Variant.

Например.  

Dim X As Byte, Z As Integer, С, Cлово As String

Здесь переменная  Х - это переменная байтового типа, переменная Z - целого типа, переменная С - типа вариант (по умолчанию), переменная Слово - строкового типа.

2.2.2. Описание  констант

Данные, не изменяющиеся внутри программы можно считать константами. Их можно описать следующим образом:

       Const ИМЯ_КОНСТАНТЫ As ИМЯ_ТИПА=ПОСТОЯННОЕ_ВЫРАЖЕНИЕ

Например.

 Const Pi As Double = 3.141593

2.2.3. Описание массивов

Для хранения векторов, матриц и т.д. можно использовать массивы.

Массив - это структурированный тип данных, который представляет собой последовательность ячеек памяти, имеющих общее имя и хранящих данные одного типа. Каждый элемент массива определяется индексом (номером). Количество элементов в массиве называется размерностью массива. Массив описывается следующей конструкцией:

Dim ИМЯ_МАССИВА(СПИСОК_РАЗМЕРНОСТЕЙ) As ИМЯ_ТИПА

В списке размерностей массива каждое измерение отделяется запятой и определяется заданием нижней и верхней границ изменения индексов.

Например.  

Dim X(1 TO 5) As Integer, Y(1 To 10, 1 To 20) As Double

Здесь Х - одномерный массив, состоящий из 5 элементов целого типа, Y - двумерный массив, у которого 10 строк и 20 столбцов с элементами числового типа двойной точности.

2.3. Выражения 

Выражения устанавливают порядок выполнения действий над элементами данных. Выражения состоят из операндов и знаков операций. Операндами являются константы, переменные, указатели функций, выражения, взятые в скобки.

2.3.1. Виды операций

Операции бывают арифметические, отношения и логические:

–       арифметические операции: 
^            возведение в степень,
*            умножение,
/             деление,
\             деление нацело,
mod       остаток от деления,
+                     плюс,
-             минус;

–       операции отношения
<             меньше, 
>             больше, 
<=          меньше или равно,
>=          больше или равно,
=             равно,
<>          не равно;

–       логические операции: 
Not         логическое отрицание,
And        логическое "И",
Or           логическое "ИЛИ".

Результатом логической операции может быть одно из двух значений:
True ("истина") или False ("ложь").

2.3.2. Приоритет выполнения операций

Если выражение содержит несколько операций, то приоритет их выполнения следующий:

1.     Сначала выполняются арифметические операции в таком порядке, как они представлены в таблице 2.2.

Таблица 2.2.  Приоритет арифметических операций

Описание операции

Обозначение в VВА

Унарный минус (изменение знака)

 - (в начале выражения)

Возведение в степень

 ^

Умножение и деление

 *, /

Деление нацело и остаток от деления

 \, Mod

Сложение и вычитание

 +, -

2.     Далее операции отношения (они имеют одинаковый приоритет).

3.     Последними выполняются логические операции в таком порядке, как они представлены в таблице 2.3.

Таблица 2.3.   Приоритет логических операций

Описание операции

Обозначение в VВА

Логическое отрицание

 Not

Логическое "И"

 And

Логическое "ИЛИ"

 Or

 

Если выражение содержит несколько операций одинакового приоритета, то порядок их выполнения слева направо. Чтобы изменить порядок действий в выражении используются круглые скобки.

Выражения бывают арифметические, отношения и логические.

Арифметические выражения записываются с помощью операндов числовых типов и арифметических операций, а результатом является числовое значение. В арифметическом выражении можно использовать стандартные математические функции, которые приведены в таблице 2.4.

Таблица 2.4.  Стандартные математические функции VBA

Математическая запись

Имя функции в VBA

Описание

½Х½

Abs(число)

Возвращает значение, тип которого совпадает с типом переданного аргумента, равное абсолютному значению указанного числа.

arctg X

Atn(число)

Возвращает значение типа Double, содержащее арктангенс числа.

cos X

Cos(число)

Возвращает значение типа Double, содержащее косинус угла.

]X[

Int(число)

Возвращает значение типа, совпадающего с типом аргумента, которое содержит целую часть числа.

ln X

Log(число)

Возвращает значение типа Double, содержащее натуральный логарифм числа.

eX

Exp(число)

Возвращает значение типа Double, содержащее результат возведения числа e (основание натуральных логарифмов) в указанную степень.

Sign X

Sgn(число)

Возвращает значение типа Variant (Integer), соответствующее знаку указанного числа.

sin X

Sin(число)

Возвращает значение типа Double, содержащее синус угла.

 

Sqr(число)

Возвращает значение типа Double, содержащее квадратный корень указанного числа.

tg X

Tan(число)

Возвращает значение типа Double, содержащее тангенс угла.

 

Выражения отношения определяют истинность или ложность результата при сравнении двух операндов. Сравнивать можно данные любого одинакового типа. Результат операции отношения только логический: True - "истина" или False - "ложь".

Логические выражения. Результатом логического выражения является логическое значение True или False. Простейшими видами логических выражений являются: логическая константа, логическая переменная, логическая  функция,  выражение  отношения. Логические операции  выполняются только над операндами логического типа.

Пример. Записать 1£Х£5 и определить значение выражения при Х=3.1

Выражение в VВА будет выглядеть так:

X>=1  And  X<=5

Результатом выражения будет  True.

Чтобы получить перечень всех математических функций, достаточно набрать имя любой известной математической функции (например, SIN), а затем нажать клавишу F1 и ниже описания выбранной функции выбрать ссылку на      Математические функции. В полученном перечне можно получить справку о назначении любой из встроенных математических функций и ее аргументе.

Чтобы получить перечень всех производных математических функций и правила их формирования, достаточно набрать имя любой известной математической функции (например, SIN), а затем нажать клавишу F1 и ниже описания выбранной функции выбрать ссылку на Производные математические функции.

Ниже, в таблице 2.5, приведен список функций, которые могут быть получены с помощью встроенных математических функций.

 

 

Таблица 2.5.  Производные математические функции

Математическая запись

Название функции

Комбинация встроенных функций

sc X

Секанс

1/Cos(X)

csc X

Косеканс

1/Sin(X)

ctg X

Котангенс

1/Tan(X)

arcsin X

Арксинус

Atn(X/Sqr(-X*X+1))

arccos X

Арккосинус

Atn(-X/Sqr(-X*X+1))+2*Atn(1)

arcsc X

Арксеканс

Atn(X/Sqr(X*X-1))+Sgn((X)-1)*2*Atn(1)

arccsc X

Арккосеканс

Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*2*Atn(1)

arcctg X

Арккотангенс

Atn(X)+2*Atn(1)

sh X

Гиперболический синус

(Exp(X)-Exp(-X))/2

ch X

Гиперболический косинус

(Exp(X)+Exp(-X))/2

th X

Гиперболический тангенс

(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))

sch X

Гиперболический секанс

2/(Exp(X)+Exp(-X))

csch X

Гиперболический косеканс

2/(Exp(X)-Exp(-X))

сth X

Гиперболический котангенс

(Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))

arsh X

Гиперболический арксинус

Log(X+Sqr(X*X+1))

arch X

Гиперболический арккосинус

Log(X+Sqr(X*X-1))

arth X

Гиперболический арктангенс

Log((1+X)/(1-X))/2

arsch X

Гиперболический арксеканс

Log((Sqr(-X*X+1)+1)/X)

arcsch X

Гиперболический арккосеканс

Log((Sgn(X)*Sqr(X*X+1)+1)/X)

arcth X

Гиперболический арккотангенс

Log((X+1)/(X-1))/2

lognX

Логарифм по основанию N

Log(X)/Log(N)

3. ОСНОВНЫЕ ОПЕРАТОРЫ ЯЗЫКА VBA 

Автор: bobfisherman |

17 февраля 2011 |

Просмотров: 7 |

Комментарии (0)

3.1. Правила записи операторов

При записи операторов необходимо придерживаться следующих правил:

-       Каждый новый оператор записывается с новой строки.

-       Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:).

-       Если оператор не помещается в одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания ( _), а затем продолжить не поместившуюся часть на следующей строке.

3.2. Оператор присваивания

Оператор присваивания используется, если какой-то переменной нужно присвоить новое значение. Он имеет следующий синтаксис:

ИМЯ_ПЕРЕМЕННОЙ = ВЫРАЖЕНИЕ

Сначала вычисляется выражение в правой части, а затем результат присваивается переменной, стоящей в левой части.

Например. Записать с помощью оператора присваивания следующее математическое выражение:     

На VВА это выражение можно записать в виде следующего оператора:

Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))

3.3. Операторы  ввода-вывода

3.3.1. Оператор  и функция  MsgBox

Оператор MsgBox осуществляет вывод информации в диалоговом окне и  устанавливает режим ожидания нажатия кнопки пользователем.

Он имеет следующий синтаксис:

MsgBox  Сообщение[,Кнопки][, Заголовок]

Аргументы:

Сообщение - обязательный аргумент, задающий в окне выводимое информационное сообщение. Может состоять из нескольких текстовых строк, объединенных знаком &. Использование в этом аргументе Chr(13) приводит к переходу на новую строку при выводе информации.

Кнопки - значение этого аргумента определяет категории появляющихся в окне кнопок. От значения аргумента кнопки зависит также, появляется ли в окне какой-либо значок. Если не указано, какие кнопки необходимо отображать в окне сообщений, то используется значение по умолчанию, соответствующее кнопке ОК. В табл. 3.1 приведены возможные комбинации кнопок и значков в окне сообщений.

Заголовок - задает заголовок окна.

Функция MsgBox возвращает значение типа Integer, указывающее, какая кнопка была нажата в диалоговом окне.

Таблица 3.1. Допустимые значения переменной кнопки

Отображение

Аргумент

Кнопка ОК

VbOKOnly

Кнопки ОК и Отмена

VbOKCancel

Кнопки Да и Нет

VbYesNo

Кнопки Да, Нет и Отмена

VbYesNoCancel

Кнопки Прекратить, Повторить и Игнорировать

VbAbortRetryIgnore

Кнопки Повторить и Отмена.

VbRetryCancel

Информационный знак

VbInformation

Знак

VbCritical

Знак вопроса

VbQuestion

Знак восклицания

VbExclamation

Например. Вывести сообщение о текущей дате.

Для этого можно использовать следующий оператор:

MsgBox "Сегодня на календаре" & Date , , "Внимание"


В результате будет выведено следующее окно (рис.3.1).

 

 

Рис. 3.1

После щелчка по кнопке ОК окно сообщения закроется, и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом MsgBox.

3.3.2. Функция InputBox

Функция InputBox осуществляет ввод значений переменных с помощью окна  ввода и имеет следующий синтаксис:

Имя_Переменной = InputBox( Сообщение[, Заголовок])

Аргументы:

Сообщение - обязательный аргумент. Задает в окне информационное сообщение, обычно поясняющее смысл вводимой величины

Заголовок - задает заголовок окна.

Например, Ввести значение переменной N с клавиатуры, предусмотрев значение по умолчанию равное 10.

Для этого можно использовать следующий оператор:

N = InputBox("Введите N", "Ввод исходных данных",10)

В результате будет выведено следующее окно для ввода значения переменной  N  (рис.3.2).

 

 

Если значение по умолчанию подходит пользователю, то после щелчка кнопки ОК окно ввода закроется, переменной  N  присвоится значение 10 и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом InputBox.

Если же значение по умолчанию не подходит пользователю, то перед щелчком по кнопке ОК необходимо ввести нужное значение переменной N.

3.4. Условный оператор IF

Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:

If  УСЛОВИЕ   Then  ОПЕРАТОР_1  Else  ОПЕРАТОР_2

ОПЕРАТОР_1  выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2. При этом оператор If…Then…Else записывается в одну строку. 

УСЛОВИЕ – это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 3.2.

Таблица 3.2. Логические отношения

Операция

Название

Выражение

Результат

=

Равно

A = В

True, если А равно В

<> 

Не равно

A<>В

True, если А не равно В

Больше

А>B

True, если А ,больше В

Меньше

A<B

True, если А меньше В

>=

Больше или равно

A>=B

True, если А больше или равно В

<=

Меньше или равно

A<=B

True, если А меньше или равно В

Сложные условия образуются из простых путем применения логических операций и круглых скобок. Список логических операций приведен в табл. 3.3.

Таблица 3.3. Логические операции

 

 

Название

Выражение

А

В

Результат

Not

Логическое
отрицание

Not A

False

True

 

True

False

And

Логическое И

A And B

True

True

False

False

True

False

True

False

True

False

False

False

Or

Логическое ИЛИ

A Or B

True

True

False

False

True

False

True

False

True

True

True

False

В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:

If УСЛОВИЕ  Then

         БЛОК_ОПЕРАТОРОВ_1

Else

         БЛОК_ОПЕРАТОРОВ_2

End If 

В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:

If УСЛОВИЕ_1  Then

         БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2  Then

           БЛОК_ОПЕРАТОРОВ_2

         Else           

              ….

End If 

Пример 1. Написать часть программы для алгоритма на рис. 3.3.

 

 

Пример 2. Написать часть программы для алгоритма на рис. 3.4.

 

3.5. Оператор выбора  Select Case 

Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:

Select Case  ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ

           Case  ЗНАЧЕНИЯ_1

                     ОПЕРАТОРЫ_1

           Case  ЗНАЧЕНИЯ_2 

                    ОПЕРАТОРЫ_2

           .  .  .

           Case  ЗНАЧЕНИЯ_N

                    ОПЕРАТОРЫ_N

           [Case Else 

                    ИНАЧЕ_ОПЕРАТОРЫ]

End Select

ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯ состоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.

Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ.

Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select

Например. Написать часть программы для алгоритма на рис. 3.5, определяющего значение переменной S в зависимости от значения переменной n.

 

 

3.6. Операторы цикла

Для реализации циклического вычислительного процесса, т. е. многократного выполнения одного или нескольких операторов, служит оператор цикла For…Next, который имеет следующий синтаксис:

For СЧЕТЧИК=НАЧ_ЗНАЧЕНИЕ Тo КОН_ЗНАЧЕНИЕ Step ШАГ 

     БЛОК_ОПЕРАТОРОВ

     [Exit For]

     БЛОК_ОПЕРАТОРОВ

Next СЧЕТЧИК 

Цикл For…Next перебирает значения переменной СЧЕТЧИК, которая является параметром цикла, от начального до конечного значения с указанным шагом изменения. При этом обеспечивается выполнение блока операторов тела цикла при каждом новом значении счетчика. Если Step ШАГ в конструкции отсутствует, то по умолчанию считается, что шаг равен 1. По оператору  Exit For можно выйти из оператора цикла до того, как СЧЕТЧИК достигнет последнего значения.*

Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла For… Each…Next.

For Each Элемент In Группа 

      БЛОК_ОПЕРАТОРОВ 

      [Exit For]

      БЛОК_ОПЕРАТОРОВ

Next Элемент 

В VBA для организации циклов с неизвестным заранее числом повторений используются и другие операторы цикла:

циклы с предусловием –       Do While … Loop,    

Do Until … Loop;

циклы с постусловием –       Do … Loop While,      

Do … Loop Until.

Ниже приведен синтаксис этих операторов цикла:

' Цикл с предусловием    Do While … Loop 

Do While УСЛОВИЕ 

      БЛОК_ОПЕРАТОРОВ

      [Exit Do]

      БЛОК_ОПЕРАТОРОВ

Loop

 

Примечание. Не рекомендуется принудительно изменять значения параметра цикла, его начального и конечного значения в теле цикла For…Next.

' Цикл с предусловием    Do Until … Loop 

Do Until УСЛОВИЕ 

      БЛОК_ОПЕРАТОРОВ

      [Exit Do]

      БЛОК_ОПЕРАТОРОВ

Loop

' Цикл с постусловием    Do … Loop While

Do

      БЛОК_ОПЕРАТОРОВ 

      [Exit Do]

      БЛОК_ОПЕРАТОРОВ

Loop While УСЛОВИЕ 

' Цикл с постусловием    Do … Loop Until

Do

      БЛОК_ОПЕРАТОРОВ 

      [Exit For]

      БЛОК_ОПЕРАТОРОВ

Loop Until УСЛОВИЕ 

Оператор Do While…Loop обеспечивает многократное повторение блока операторов до тех пор, пока УСЛОВИЕ соблюдается, а оператор Do Until…Loop пока УСЛОВИЕ не соблюдается. Операторы Do…Loop While, Do…Loop Until  отличаются от перечисленных выше операторов тем, что сначала блок операторов выполняется по крайней мере один раз, а потом проверяется УСЛОВИЕ.

Для избежания зацикливания в теле цикла должен быть хотя бы один оператор, который изменяет значения переменных, стоящих в УСЛОВИИ.

Оператор Exit Do обеспечивает досрочный выход из оператора цикла.

Пример 1. Составить фрагмент программы для алгоритма на рис. 3.6.

Пример 2. Составить фрагмент программы для алгоритма на рис. 3.7.

Пример 3. Составить фрагмент программы, соответствующей алгоритму




1. Лабораторная работа 2 Определение эквивалентных масс металла Выполнила сту
2. Односекционный крупнопанельный жилой 5-этажный дом с тремя квартирами на этаже
3. Электронное налоговое декларирование как составная часть электронного правительства в зарубежных странах
4. Реферат- Особливості правового регулювання договору ренти
5. Взаимодействие человека и организационного окружения
6. ОРГАНИЗАЦИЯ ОПЛАТЫ ТРУДА В УСЛОВИЯХ СУЩЕСТВОВАНИЯ РАЗЛИЧНЫХ ФОРМ СОБСТВЕННОСТИ 7
7. Курсовая работа- Экономика Литвы
8. Обучение дошкольников правилам дорожного движения
9. Программные средства информационных систем
10. 20 г Гpжднин Рoccийcкoй Фeдepции фмилия имя oтчecтвo и гpжднк Рoccийcкoй Фeдepции
11. хотя религиоведческие знания ~ философские теологические исторические психологические и другие ~ накапл
12.  Структура предприятия
13. Кошторисна документація Особливості складання інвестиційних кошторисів
14. Тема- Формула Бернулли
15. реферат дисертації на здобуття наукового ступеня доктора педагогічних наук Харків ~
16. КУРСОВА РОБОТА Титульний аркуш- Встановленого зразка додається
17. Тема 2 Податкова система Великої Британії Становлення податкової системи Великої Британії Прямі п.html
18. СТАНІСЛАВСЬКА 2
19. Пауки кто они
20. Валютна система та валютний ринок, особливості їх формування