
- •Понятие цикла
- •Оператор цикла For ... Next
- •Оператор неопределенного цикла Do ... Loop
- •Типовые задачи с использованием циклов Табулирование функции
- •Вычисление суммы
- •Вычисление произведения
- •Вычисление суммы бесконечного убывающего ряда с заданной точностью. Итерационные циклы
- •Сложные циклические процессы. Вложенные циклы
- •Задания на выполнение лабораторной работы Табулирование функций
- •Вычисление суммы и произведения
- •Итерационные циклы
- •Контрольные вопросы
- •Оператор вывода информации MsgBox
- •Оператор ввода информации от пользователя InputBox
- •420066, Казань, Красносельская, 51
- •420066, Казань, Красносельская, 51
Оператор вывода информации MsgBox
Оператор MsgBoxявляется простейшей формой экранного выхода, которую можно включать в процедурыVBA.
Оператор MsgBoxподобен встроенной вVBAпроцедуре.
Sub Name()
MsgBox "Promt", [Buttons As VbMsgBoxStyle = vbOKOnly], [Title], [HelpFile], [Context]) As VbMsgResult
End Sub
Строка в процедуре Name(), содержащая операторMsgBox, сообщаетVBA, что необходимо вызвать эту встроенную процедуру. Текст, заключенный в кавычки, – это текст сообщения, которое должно отображаться с помощьюMsgBox.
Оператор MsgBoxимеет несколько аргументов. Первый аргументPromtявляется текстом, который должен быть отображен в выводимом диалоговом окне посредствомMsgBox. Пример синтаксиса оператораMsgBox(рис. 5):
Рис. 5. Пример реализации оператора MsgBox
Sub Privet()
MsgBox "Привет!!!", , "Окно приветствия!"
End Sub
Текст "Привет!!!" является аргументом для процедуры MsgBox. Двойные кавычки в аргументе "Привет!!!" указывают на то, что текст, заключенный в них является данными для процедуры, а не инструкциями, которые должен выполнитьVBA.
Второй аргумент оператора MsgBoxButtons As VbMsgBoxStyle = vbOKOnlyявляется необязательным; в данном примере необязательный второй аргумент опущен. Поскольку необязательный аргумент опускается, в списке аргументов имеется один символ пробела. За символом пробела следует запятая, чтобы отделить его от следующего аргумента в списке. Если вы не введете символ пробела,VBAдобавляет его.
Необязательный второй аргумент в операторе MsgBox– это аргументButtons. Он определяет, сколько и какого типа командные кнопки появляются в диалоговом окне, отображаемом посредствомMsgBox. Когда необязательный второй аргумент опущен (как в данном примере), диалоговое окно содержит только одну кнопку –OK.
Третий аргумент Titleв оператореMsgBoxопределяет заголовок диалогового окна. Подобно первому аргументу текст, для строки заголовка диалогового окна заключается в кавычки. Таким образом, процедураPrivet()выведет на экран следующее диалоговое окно:
Оператор ввода информации от пользователя InputBox
Полученные данные от пользователя, сохранение их в переменной и отображение результатов действий, выполненных над ними, являются основными элементами, необходимыми для написания интерактивных процедур. (Интерактивная процедура – это процедура, обменивающаяся информацией с пользователем; то есть процедура взаимодействует с пользователем, отображая сообщения и получая ввод).
Данные, вводимые пользователем, называются входными данными (input). Чтобы получить входные данные от пользователя процедуры, необходимо использовать функциюInputBox. (функция – это особый тип процедурыVBA, отображающая значение.) ФункцияInputBoxотображает диалоговое окно, содержащее текст, который запрашивает пользователя ввести некоторое значение и текстовое окно для ввода этого значения. ФункцияInputBoxимеет следующий синтаксис:
Sub Name()
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
End Sub
Аргумент Prompпредставляет любое строковое значение.InputBoxотображает эту строку как запрос в диалоговом окне; необходимо всегда представлять аргументPromt, поскольку это обязательный аргумент.
Аргумент Titleявляется необязательным вторым аргументом дляInputBox.Titleпредставляет любое строковое значение.InputBoxотображает текст этой строки в строке заголовка диалогового окна. Если опустить аргументTitle,VBAотображает в строке заголовка диалогового окнаInputBoxназвание открытого приложения.
Пример реализации оператора InputBoxприведен на рис. 6.
Рис. 6. Пример реализации оператора InputBox
Здесь переменной stringvarприсваивается значение, вводимое пользователем с клавиатуры. ФункцияInputBoxвыводит на экран диалоговое окно (Рис. 7), в которое вводится необходимое значение. После нажатия кнопкиOKпеременнойstringvarприсваивается введенное значение.
Результат функции InputBoxвсегда является строкой. Если пользователь выбирает командную кнопкуOK, функцияInputBoxвозвращает то, что пользователь ввел в текстовое окно, в качестве результата. Если пользователь выбирает командную кнопкуCancel(или нажимаетEsc, или использует кнопкуCloseдиалогового окна),InputBoxв качестве результата возвращает пустую строку. Если вводимые данные будут использованы в математических вычислениях, следует использовать встроеннуюVBA-функциюCSngдля преобразования пользовательских данных ввода в число с типомSingle.
_____________________________
Рекомендуемая литература
Кузьменко В. Г. VBA2002. М.: ЗАО "БИНОМ", 2002.
Мамонтов Д. В. QuickBasicв задачах и примерах. СПб.: Питер, 2006.
Гусева А. И. Учимся информатике: задачи и методы их решения. М.: "Диалог-МИФИ", 1998.
Зельднер Г. А. Программируем на языке QuickBASIC4.5. М.: ABF, 1996.
Зельднер Г. А. Microsoft BASIC Professional Development System 7.1. Руководство программиста. М.: ABF, 1996.
Алиев В. К. Языки Basic. М.: Солон-Р, 2000
Назаров С. В., Мельников П. П. Программирование на MSVisualBasic. М.: Финансы и статистика, 2002.
Валерий Валентинович Косулин
Мария Вячеславовна Долонина
БАЗОВЫЕ СТРУКТУРЫ ПРОГРАММИРОВАНИЯ. ЦИКЛ.
Лабораторная работа по курсу
"Информатика"
(Кафедра Информатики и информационных управляющих систем КГЭУ)
Редактор издательского отдела Н. И. Андронова
________________________________________________________________
Изд. лиц. № 03480 от 8.12.00 Темплан издания КГЭУ 2006 г.
Подписано к печати Формат 60 х 84/16
Гарнитура “Times” Вид печати РОМ Бумага “Business”
Физ. печ. л. Усл. печ. л. Уч-изд. л.
Тираж 100 Заказ
________________________________________________________________
Издательский отдел КГЭУ