Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка для Д в 1 семестре

.pdf
Скачиваний:
7
Добавлен:
17.04.2015
Размер:
574.51 Кб
Скачать

Синтаксис функции MsgBox (некоторые необязательные параметры здесь не указаны):

MsgBox (<сообщение> [, <кнопки>] [,<заголовoк >])

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

Аргументы:

<сообщение> — строковое выражение, отображаемое как сообщение в

диалоговом окне

<кнопки> — числовое выражение, представляющее сумму значений, ко- торые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого аргумента равняется 0. Значения констант, определяю- щих число и тип кнопок, приведены в таблице 8:

 

 

Таблица 8

 

 

 

 

Константа

Значение

Отображаются кноп-

 

 

 

ки

 

 

 

 

 

vbOKOnly

0

 

 

 

 

 

 

VbOKCancel

1

 

 

 

 

 

 

VbAbortRetrylgnore

2

 

 

 

 

 

 

VbYesNoCancel

3

 

 

 

 

 

 

VbYesNo

4

 

 

 

 

 

 

VbRetryCancel

5

 

 

 

 

 

 

11

Значения аргумента <кнопки>, определяющие отображаемые ин- формационные значки в диалоговом окне:

 

 

Таблица 9

 

 

 

Константа

Значение

Значок

 

 

сообщения

 

 

 

VbCritical

16

 

 

 

 

VbQuestion

32

 

 

 

 

VbExclamation

48

 

 

 

 

VbInformation

64

 

 

 

 

<заголовoк > — строковое выражение, отображаемое в строке , заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка поме- щается имя приложения.

Пример1 – Если используется только один обязательный аргумент <со- общение>, функция MsgBox действует как оператор. В этом случае скобки не обязательны:

MsgBox "Это проверка работы MsgBox"

Рис. 3

12

Пример2 Сообщение может быть также выражением:

текст1 = "На " : текст2 = " осталось желаний - "

дата = Format(Date, "Short date") : число = 5

MsgBox текст1 & дата & текст2 & число

Рис. 4

Пример3 Кроме сообщения в диалоговом окне MsgBox может присут-

ствовать одна из нескольких пиктограмм:

f = MsgBox("Это проверка работы MsgBox", vbInformation)

Рис. 5

Пример4 В стандартном в диалоговом окне MsgBox присутствует одна

кнопка ОК, но можно выводить и другие кнопки:

Dim Имя As String, f As Integer

Имя = InputBox("Ваше имя", "Привет!", "Анна")

f = MsgBox(Имя, vbQuestion + vbYesNo, "Ваше имя")

Рис. 6

13

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

В таблице 10 приведены возвращаемые значения нажатых кнопок:

 

 

Таблица 10

 

 

 

 

Константа

Значение

Нажатая кнопка

 

vbOK

1

OK

 

vbCancel

2

Отмена (Cancel)

 

vbAbort

3

Прервать (Abort)

 

vbRetry

4

Повторить

 

 

 

(Retry)

 

vbIgnore

5

Пропустить

 

 

 

(Ignore)

 

vbYes

6

Да (Yes)

 

vbNo

7

Нет (No)

 

1.4.3. Операторы выбора

В VBA для принятия решения используется два оператора:

1.If×××Then×××Else

2.Select Case

Синтаксис If×××Then×××Else:

If <Условие> Then [<Команды>] [Else <Команды else>]

Если <Условие> принимает значение True, то выполняются <Команды>.

Если <Условие> принимает значение False, то выполняется <Команды else>.

Пример1:

If Сумма > 1000 Then Скидка = 0/05 Else Скидка = 0

Допускается также использование формы синтаксиса в виде блока:

14

If <Условие> Then [<Команды>]

[ElseIf <Условие-n> Then

[<Команды elseif > ] [Else

<Команды else>] ]

End If

Эта форма синтаксиса позволяет проверять дополнительные условия <Условие-n>.

Пример2:

If Сумма > 1000 Then

Скидка = 0.05

ElseIf Сумма > 500 Then

Скидка = 0.03

Else

Скидка = 0

End If

Синтаксис Select Case:

Select Case <Выражение>

[Case СписокВыражений-1 [Команды - 1]]

[Case СписокВыражений-n [Команды - n]]

[Case Else

[Команды - Else]]

End Select

15

Этот оператор выполняет одну из нескольких групп команд, в зависимо- сти от значения выражения <Выражение>.

Пример3:

Число = InputBox(“Введите целое число”)

Select Case Число Case 1

MsgBox(“Число равно 1”)

Case 2, 3

MsgBox(“Число равно 2 или 3”)

Case 4 To 6

MsgBox(“Число от 4 до 6”)

Case Is >= 7

MsgBox(“Число не менее 7”)

End Select

1.4.4. Операторы повтора

Для описания циклических алгоритмов можно использовать два операто-

ра VBA:

·For¼Next

·Do¼Loop

Если уже перед выполнением цикла известно, сколько раз он должен вы-

полняться, можно использовать оператор For¼Next. Синтаксис этого оператора:

For <Счетчик> = <Начало> То <Конец> [Step <Шаг>]

[<Команды>]

¼

[Exit For]

¼

[<Команды >] Next [<Счетчик>]

16

For¼Next повторяет выполнение группы команд, пока <Счетчик> изме- няется от начального значения до конечного с указанным шагом. Если <Шаг> не указан, то он полагается равным 1.

Альтернативный способ выхода из цикла предоставляет инструкция Exit

For.

Пример1 Вычислить сумму натуральных чисел от 1 до 10:

Dim I As Integer, Sum As Integer

Sum = 0

For I = 1 To 10

Sum = Sum + I

Next I

MsgBox Sum

Оператор Do¼Loop повторяет выполнение набора команд, пока условие имеет значение True (случай While) или пока оно не примет значение True (случай Until). Существует два варианта синтаксиса этого оператора:

Таблица 11

1 вариант

2 вариант

Do [{While | Until} <Условие>]

Do

[<Команды>]

[<Команды>]

[Exit Do]

[Exit Do]

[<Команды>]

[<Команды>]

Loop

Loop [{While | Until} <Условие>]

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

Пример1 Вычислить сумму натуральных чисел от 1 до 10.

Вариант1 – если не предусмотреть изменение параметра цикла, произой- дет зацикливание (бесконечный цикл можно прервать сочетанием клавиш

Ctrl + Break):

17

I = 1

Sum = 0

Do While I <= 10

Sum = Sum + I

Loop

Вариан 2 - цикл не выполнится ни разу, если при первой проверке

<Условие> = False:

I = 1

Sum = 0

Do While I > 10

Sum = Sum + I

I =I + 1

Loop

Вариан 3 - цикл выполнится 10 раз:

I = 1

Sum = 0

Do While I <= 10

Sum = Sum + I

I =I + 1

Loop

1.5. Правила оформления блок-схем

При создании блок-схем необходимо пользоваться правилами, утвер- жденными ГОСТ 19.701-90 (международный стандарт ИСО 5807-85). Ниже приводятся выдержки из этого нормативного документа.

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

18

Описание символов:

1.Символы данных

1.1.Данные. Символ отображает данные, носитель данных не опреде- лен. Эта фигура часто используется и для записи различных ал- горитмов, потому как для алгоритма источник информации не существенен и определяется он только при реализации програм- мы.

1.2.Документ Символ отображает данные, представленные на носи- теле в удобочитаемой форме (машинограмма, документ для оп- тического или магнитного считывания, микрофильм, рулон лен- ты с итоговыми данными, бланки ввода данных).

1.3.Ручной ввод Символ отображает данные, вводимые вручную во время обработки с устройств любого типа (клавиатура, переклю- чатели, кнопки, световое перо, полоски со штриховым кодом).

2.Символы процесса:

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

19

2.2.Предопределенный процесс - Символ отображает предопределен- ный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в под- программе, модуле). То есть этот элемент используется для обо- значения подпрограмм.

2.3.Подготовка - Символ отображает модификацию команды или

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

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

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

3.Специальные символы

3.1.Соединитель - Символ отображает выход в часть схемы и вход из

другой части этой схемы и используется для обрыва линии и

20