ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Организация диалога между пользователем и программой. Ввод данных в программу и вывод результата

 

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

Данные, вводимые пользователем, называются входными данными. Чтобы получить входные данные от пользователя процедуры, надо использовать функцию InputBox. Функция InputBox отображает диалоговое окно, содержащее текст, который запрашивает пользователя ввести некоторое значение, и текстовое окно для ввода этого значения. Диалоговое окно, отображаемое InputBox, содержит также командные кнопки ОК и Cancel.

Функция InputBox имеет следующий синтаксис:

 

stringvar = InputBox (Promt [, Title])

 

Здесь stringvar представляет любую переменную, которая может сохранять строку. Аргумент Prompt представляет любое строковое значение (литерал, константу или переменную); он является обязательным аргументом функции InputBox, отображает эту строку как запрос в диалоговом окне. Аргумент Title является необязательным вторым аргументом для InputBox. Title представляет любое строковое значение (литерал, константу или переменную). InputBox отображает текст этой строки в строке заголовка диалогового окна. Если опустить аргумент Title, VBA отображает в строке заголовка диалогового окна InputBox название открытого приложения (Microsoft Excel). Например строка:

 

Temp = InputBox("Введите радиус круга", "Площадь круга")

 

выводит следующий запрос:

 

 

Ввести данные можно также из рабочего листа Excel. Для этого используется функция Cells. Функция имеет следующий формат:

имя переменной = Cells(a, b)

 

a – номер строки;

b – номер столбца.

Например, команда

 

xEnd = Cells(3, 2)

 

присваивает переменной xEnd числовое значение, записанное в рабочем листе Excel в 3 строке, 2 столбце.

Вывод результата можно организовать командами MsgBox (вывод ответа в диалоговом окне) и Cells (вывод ответа в рабочий лист Excel) Оператор MsgBox является простейшей формой экранного вывода, которую можно включать в процедуры VBA. Оператор MsgBox в простейшем случае имеет следующую форму записи:

 

MsgBox "Promt", [Buttons As VbMsgBoxStyle = vbOKOnly], [Title]

 

Первый аргумент Promt является текстом, который должен быть отображен в выводимом диалоговом окне посредством MsgBox. Второй аргумент оператора MsgBox Buttons As VbMsgBoxStyle = vbOKOnly является необязательным. Он определяет, сколько и какого типа командные кнопки появляются в диалоговом окне, отображаемом посредством MsgBox. Когда необязательный второй аргумент опущен, диалоговое окно содержит только одну кнопку – OK. Если второй аргумент опускается, то после первого аргумента ставится две запятые. Третий аргумент Title в операторе MsgBox определяет заголовок диалогового окна (отображается белыми буквами на синем фоне). Подобно первому аргументу текст, для строки заголовка диалогового окна заключается в кавычки. Пример:

 

MsgBox "Сумма ряда равна " & z, , "Решение задачи"

 

После выполнения этой команды на экране возникает диалоговое окно, сообщающее результат – вместо переменной z выводится ее численное знакчение.

 

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

 

Cells(i, j) = имя переменной

 

где i, j – номер строки и столбца ячейки соответственно, куда выводится численное значение переменной. Номер строки и столбца может присутствовать в команде как в виде переменных (их числовое значение должно быть целым и определено заранее), так и в виде конкретных целых чисел. Например, команда

 

Cells(2, 4) = x

 

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

 

Линейные алгоритмы

 

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

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

 

19. Оператор разветвляющейся структуры If … Then

Базовая структура разветвление (называемая также ЕСЛИ-ТО-ИНАЧЕ) обеспечивает в зависимости от результата проверки условия (истина или ложь) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу (продолжению алгоритма). Работа алгоритма продолжается независимо от того, какой путь будет выбран. Возможные пути выполнения алгоритма помечаются на схемах алгоритмов соответствующими метками: "да"/"нет" (или "1"/"0"). Алгоритм, в состав которого входит базовая структура разветвление, называется разветвляющимся алгоритмом, а реализуемый им вычислительный процесс – разветвляющимся вычислительным процессом.

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

 

20. Линейный синтаксис оператора If … Then

 

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

If логическое _ выражение Then операторы 1 [Else операторы 2]

– логическое _ выражение – выражение, возвращающее не нулевое значение (истина) или ноль (ложь) (если логическое выражение состоит из нескольких составных частей, то они соединяются друг с другом посредством логических функций);

– операторы 1 – операторы, выполняющиеся при значении логического выражения "истина" (если операторов несколько штук, то один от другого отделяется двоеточием);

– операторы 2 – операторы, выполняющиеся при значении логического выражения "ложь" (если операторов несколько штук, то один от другого отделяется двоеточием).

 

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

Краткая форма записи (Если … То …. ) не содержит часть Else операторы 2.

If логическое_выражение Then оператор1

– логическое _ выражение – любое логическое выражение, допустимое в Бейсике;

– оператор1 – любой оператор (или группа операторов в одну строку через разделитель – двоеточие) Бейсика, который исполняется при выполнении условия, заданного логическим_выражением. Действие оператора If поясняется блок-схемой, приведенной на рис. 1.

условие выполняется?
оператор 1
да
нет
выход

Рис. 1. Краткая форма оператора If … Then

 

Полная форма записи (Если … То …. Иначе) содержит часть Else операторы 2.

If логическое_выражение Then операторы 1 Else операторы 2

– операторы 2 выполняется только тогда, когда логическое_выражение ложно. Действие оператора If поясняется блок-схемой, приведенной на рис. 2.

условие выполняется?
оператор 1
да
нет
выход
оператор 2

Рис. 2. Полная линейная форма оператора If…Then

 

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти