Средства программирования алгоритмов линейной структуры и функции ввода и вывода
Последовательными называются такие алгоритмические структуры, в которых функциональные элементарные блоки выполняются в том порядке, в котором они записаны или изображены на схеме алгоритма. Такая структура может быть составлена из совокупности блоков «Пуск/останов», «Ввод/вывод», а также блоков «Процесс», используемых для проведения вычислений (рис. 4.B.2-1). Для ввода информации пользователь может использовать объект текстового поля и его свойство Text. Другим способом ввода информации является использование функции InputBox() для отображения на экране диалогового окна, и последующее использование переменной для хранения текста, введенного пользователем. Поскольку технология программирования средствами VS предполагает максимальное использование процедур при разработке проектов, студенты в своих работах для ввода исходных данных типа Double могут использовать процедуру- Function:
Вызов такой процедуры можно осуществлять из любой точки программы, например, для ввода значения переменной x1 типа Double из текстового поля TextBox1.Text формы:
Другой способ ввода информации можно реализовать с помощью функции VB InputBox(). Функция InputBox() вызывает окно InputBox,которое состоит из четырех элементов: · строки заголовка (title); · приглашение к вводу (prompt); · поля ввода со значением, предлагаемым по умолчанию (defaul t); · двух кнопок (<OK> и <Отмена>).
Формат функции InputBox() следующий:
P= InputBox(Приглашение [, Заголовок ] [, ЗначениеПоУмолчанию ][, x ][, y ]), где: P –возвращаемое значение функции; x, y – координаты левого верхнего угла окна. Все необязательные параметры указаны в квадратных скобках.
Пример 4.3.3-1. Ввод данных с помощью функции InputBox(). 1. Создать проект c именем Пример-4-3-4-1. В IDE откроется пустая форма проекта Пример-4.3.3.1. Создадим форму этого проекта, которая содержит одну надпись и две кнопки. Для получения ввода от пользователя будет использоваться функция InputBox(), а затем введенное значение необходимо отобразить в надписи формы (рис. 4.3.3-1).
Рис. 4.3.3-1
2. Дважды щелкнуть мышью на кнопке InputBox. В окне Редактора кода (Code Editor) появится процедура события Button1_Сliск(). 3. Чтобы объявить две переменные и использовать функцию InputBox(),необходимоввести операторы программы, показанные на рис. 4.3.3-2.
Рис. 4.3.3-2
С помощью оператора Dim производится объявление сразу двух переменных: Prompt и FullName. Обе переменные объявляются с использованием типа String. (Вы можете объявить в одной строке столько переменных, сколько хотите, но при условии, что они имеют один и тот же тип.) Вторая строка процедуры события присваивает переменной Promptтекстовую строку. Это сообщение будет использовано как текстовый аргумент для функции InputBox(). Аргумент (параметр) – это значение или выражение, передаваемое в процедуру или функцию. Следующая строка вызывает функцию InputBox() и присваивает результат этого вызова (текстовую строку, введенную пользователем) переменной FullName. InputBox() – это специальная функция VB 2005, которая отображает на экране диалоговое окно и запрашивает пользовательский ввод. В дополнение к строке запроса функция InputBox() поддерживает другие аргументы. После того как InputBox() возвратит в программу текстовую строку, четвертый оператор этой процедуры помещает имя пользователя в свойство Text объекта Label1 и, таким образом, отображает его в форме. 4. Сохранить изменения. 5. Запустить программу. 6. Щелкнуть на кнопке InputBox формы. VB начнет выполнять процедуру события Button1_Click(), и на экране появится диалоговое окно Input Box. 7. Ввести свое полное имя, а затем щелкнуть на ОК (рис. 4.3.3-3).
Рис. 4.3.3-3
Функция InputBox() возвращает введенное имя в программу и помещает его в переменную FullName. Затем программа использует эту переменную для отображения этого имени на форме, как показано на рис. 4.3.3-4.
Рис. 4.3.3-4
Функцию InputBox() необходимо использовать в своих программах всегда, когда требуется запросить у пользователя какую-либо информацию. Вы можете использовать эту функцию совместно с другими элементами управления ввода и управлять потоком данных, поступающих в программу и исходящих из нее. 8. Чтобы завершить выполнение программы, следует щелкнуть на кнопке формы Выход. Программа остановится, и вернется среда разработки. InputBox()– это «встроенная» функция. Функция - это оператор, который выполняет некую работу (такую, как запрос у пользователя информации или вычисление формулы), а затем возвращает результат в программу. Значение, возвращаемое функцией, может быть присвоено переменной, как это сделано в программе примера 4.3.2-1, или присвоено свойству, или используется другим оператором или функцией. Функции VB имеют один или более аргументов, определяющих их действия. В примере 4.3.3-1 функция InputBox()использовала для отображения в диалоговом окне инструкций для пользователя одну переменную Prompt.Когда функция использует более одного аргумента, эти аргументы разделяются запятыми, а вся группа аргументов заключается в круглые скобки. Следующий оператор показывает вызов функции с двумя аргументами:
FullName = lnputBox(Prompt, Title).
Обратите внимание, что в этом описании синтаксиса используется курсив, указывающий, что определенные элементы являются заполнителями (формальными параметрами) вместо реально указываемой информации.
Процедура-Function vvodDbl2(), использующая для ввода InputBox(), может быть реализована следующим образом:
Вызов такой процедуры можно осуществлять из любой точки программы, например, для ввода значения переменной x1 типа Double.
Для вывода информации необходимо отобразить содержимое переменной на форме, что можно сделать, присвоив значение этой переменной свойству (такому, как свойство Text объекта элемента управления формы), или передав переменную как аргумент в функцию диалогового окна.
Вызов такой процедуры можно осуществлять из любой точки программы, например, для вывода значения переменной x1 типа Double в текстовое поле:
Одной из полезных функций диалоговых окон для отображения вывода является функция MsgBox().При вызове функции MsgBox()она отображает диалоговое окно, иногда называемое окном сообщения, используя при этом различные дополнительные опции. Аналогично InputBox(),она принимает на входе один или несколько аргументов, а результат вызова этой функции может быть присвоен переменной. Синтаксис функции MsgBox() имеет вид:
[ B = ]MsgBox(Prompt [, Buttons ] [, Title ]),
где Prompt –это текст, отображаемый в окне сообщения, Buttons –это число, определяющее кнопки, пиктограммы и другие опции отображения окна сообщения, a Title –это текст, отображаемый в строке заголовка окна сообщения. Переменной Bприсваивается результат, возвращаемый этой функцией и указывающий, на какой кнопке диалогового окна щелкнул пользователь. Если с помощью функции MsgBox() просто отображается сообщение, то переменная B, оператор присвоения (=), аргумент Buttons и аргумент Title необязательны. В следующем примере будет использоватьcя только аргумент Title.
Пример 4.3.3-2. Вывод сообщения с помощью функции MsgBox() . 1. Если окно Редактор кода (Code Editor) из предыдущего примера не отображается в IDE, следует сделать двойной щелчок мышью на кнопке InputBox формы Функция ввода InputBox(). В окне Редактор кода (Code Editor) появится процедура события Button1_Click().(Это код, который вы ввели в предыдущем примере.) 2. Выделить в процедуре события оператор (последняя строка):
Label1.Text = FullName
Это оператор, который отображает в надписи содержимое переменной FullName . 3. Нажать клавишу < Delete>, чтобы удалить эту строку. 4. Вместо него в процедуре события ввести следующую строку:
MsgBox(FullName,, "Введено имя") Этот новый оператор вызывает функцию MsgBox(), отображает в диалоговом окне содержимое переменной FullNameипомещает в его строку заголовка слова Введено имя. (Необязательный аргумент Buttons и переменная B опущены.) Процедура события должна выглядеть, как на рис. 4.3.3-5. Обратите внимание: если аргумент Buttons опущен, то между Prompt и Title в синтаксисе функции MsgBox() должны быть две запятые.
Рис. 4.3.3-5
5. Щелкнуть на кнопке Начать отладку (Start Debugging) на стандартной панели инструментов. 6. Щелкнуть на кнопке InputBox формы, а затем ввести в поле ввода имя и щелкнуть на ОК. Visual Basic сохранит введенное значение в переменной FullName, а затем отобразит его в окне сообщения. Экран будет выглядеть, как на рис. 4.3.3-6.
Рис. 4.3.3-6
7. Чтобы закрыть окно сообщения, щелкнуть на ОК. Затем щелкнуть на кнопке Выход формы, чтобы закрыть программу.
Процедура-Sub vivodDbl2(), использующая для вывода MsgBox() может быть реализована следующим образом:
Вызов такой процедуры можно осуществлять из любой точки программы, например, для вывода значения переменной x1 типа Double в текстовое поле:
|