Средства программирования алгоритмов линейной структуры и процедуры ввода и вывода

Последовательными называются такие алгоритмические структуры, в которых функциональные блоки выполняются в том порядке, в котором они записаны или изображены на схеме алгоритма. Такая структура может быть составлена из совокупности программных блоков «Пуск/останов», «Ввод/вывод», а также блоков «Процесс» (рис. В.3-2). Схема алгоритма линейной структуры приведена на рис. 3.4-1.

Обычно для ввода информации в программу разработчик проекта может использовать объект текстового поля формы Text Box и его свойство Text.

Вторым способом ввода информации является использование функции Input Box ( ) VB для отображения на экране диалогового окна, и последующее использование переменной для хранения текста, введенного пользователем.

Схема алгоритма линейной структуры

Рис. 3.4-1. Схема алгоритма линейной структуры

Поскольку технология программирования предполагает максимальное использование процедур при разработке проектов, программисты для ввода исходных данных типа Double могут использовать, например, следующую процедуру- Function:

'процедура-Function ввода данных типа Double

'из текстового поля TextBox

Function wodDbll(ByVal T As TextBox) As Double Return (Val(T.Text))

End Function_

Вызов такой процедуры можно осуществлять из любой точки программы, например, для ввода значения переменной х1 типа Double из текстового поля Text Boxl формы:

Dim xl As Double

xl = wodPblK Text Boxl)_

Третий способ ввода информации можно реализовать с помощью функции VB InputBox( ). Функция InputBox( ) вызывает окно InputBox, которое состоит из четырех элементов (рис. 3.4-2):

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

Стандартное окно для ввода данных

Рис. 3.4-2. Стандартное окно для ввода данных

В общем виде инструкция ввода данных с использованием функции In put Box выглядит так:

Переменная = InputBox(^,Пpuглaшeнue"3 "Заголовок")_

где,

  • Приглашение - это любой текст, который должен находиться в Окне ввода. Его назначение - служить подсказкой пользователю, какую информацию он должен ввести в специальное поле ввода, находящееся в этом окне;
  • Заголовок - это надпись в строке заголовка Окна ввода.

Например:

| Name - Тпри^ВохС'Введите, пожалуйста, первое число", "Ввод числа")

Вывод в окно сообщения (рис. 3.4-3) осуществляется с помощью функции MsgBox ( ). Она позволяет поместить в окно с сообщением один из стандартных значков, например «Внимание», задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь.

В общем виде синтаксис функции MsgBox ( ) выглядит так:

В = MsgBox("Сообщение", НомерКнопки, "Заголовок")

Где,

  • Сообщение - представляет собой текст, который будет отображен на экране в Окне вывода;
  • НомерКнопки - указывает тип отображаемых кнопок, тип используемой пиктограммы;
  • Заголовок - это надпись в строке заголовка Окна вывода.

Возможные установки для НомерКнопки представлены в табл. 3.4-1

Таблица 3.4-1

Константа

Описание

MsgBoxStyle.Ок

Отображает только кнопку Ок

MsgBoxStyle.OkCancel

Отображает кнопки Ок и Отмена

MsgBoxStyle.AbortRetrylgnore

Отображает кнопки Стоп, Повтор, Пропустить

MsgBoxStyle.YesNoCancel

Отображает кнопки Да, Нет, Отмена

MsgBoxStyle.YesNo

Отображает кнопки Да, Нет

MsgBoxStyle.RetryCancel

Отображает кнопки Повтор и Отмена

MsgBoxStyle.Critical

Отображает запрещающую пиктограмму

MsgBoxStyle.Question

Отображает предупреждающую пиктограмму (знак вопроса на белом фоне)

MsgBoxStyle.Exclamation

Отображает предупреждающую пиктограмму (знак вопроса в красном треугольнике)

MsgBoxStyle.Information

Отображает информационную пиктограмму

Пример 3.4-1. Ввод данных с помощью функции InputBox( ).

1. Создать проект с именем Пример 3.4-1.

В IDE откроется пустая форма проекта Пример 3.4.1.

Создайте форму этого проекта, которая содержит одну надпись (Label) и две кнопки (Button) . Для получения входных данных от пользователя использовать функцию InputBox( ). Затем введенное значение необходимо отобразите в надписи формы (рис. 3.4-3).

Форма для ввода и вывода данных

Рис. 3.4-3. Форма для ввода и вывода данных

  • 2. Дважды щелкнуть мышью на кнопке InputBox. В окне Редактора кода появится процедура события Buttonl_CliCK( ).
  • 3. Чтобы объявить две переменные и использовать функцию Input Box ( ), ввести операторы программы, показанные на рис. 3.4-4.
Окно ввода функции InputBox( )

Рис. 3.4-4. Окно ввода функции InputBox( )

С помощью оператора Dim производится объявление сразу двух переменных: Prompt и FullName. Обе переменные объявляются с использованием типа String.

Третья строка процедуры события присваивает переменной Prompt текстовую строку. Это сообщение будет использовано как текстовый параметр для функции I n put Box ( ). Следующая строка вызывает функцию InputBox( ) и присваивает результат этого вызова (текстовую строку, введенную пользователем) переменной FullName. InputBox( ) -это функция VB, которая отображает на экране диалоговое окно и запрашивает пользовательский ввод.

После того как In put Box ( ) возвратит в программу текстовую строку, пятый оператор этой процедуры помещает имя пользователя в свойство Text объекта Labell и, таким образом, отображает его в форме.

  • 4. Сохранить изменения.
  • 5. Запустить программу.
  • 6. Щелкнуть на кнопке InputBox формы. VB начнет выполнять процедуру события Buttonl_Click( ), и на экране появится диалоговое окно InputBox.
  • 7. Ввести свое полное имя, а затем щелкнуть на ОК формы (рис. 3.4-5).

Функция Input Box ( ) возвращает введенное имя в программу и помещает его в переменную FullName. Затем программа использует эту переменную для отображения этого имени на форме, как показано на рис. 3.4-6.

Результат выполнения проекта Пример 3.4-1

Рис. 3.4-6. Результат выполнения проекта Пример 3.4-1

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

8. Чтобы завершить выполнение программы, щелкнуть на кнопке формы Выход. Выполнение проекта остановится.

В примере 3.4-1 функция Input Box ( ) использовала для отображения в диалоговом окне инструкций для пользователя одну переменную Prompt. Когда функция использует более одного аргумента, эти аргументы разделяются запятыми, а вся группа аргументов заключается в круглые скобки.

Процедура-Function vvodDbl2( ), используемая для ввода Input Box ( ), может быть реализована следующим образом:

'процедура-Function ввода данных типа Double

Function wodDbl2(ByVal р As String, ByVal T As TextBox) As Double T.Text = InputBox(P)

Return CDbl(Val(T.Text))

End Function

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

Dim xl As Double

xl = vvodDbl2("Введите имя", TextBoxl)

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

'Процедура вывода данных типа Double в TextBox Sub vivodDbll(ByVal Z As Double, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub_

Вызов такой процедуры можно осуществлять из любой точки программы, например, для вывода значения переменной х1 типа Double в текстовое поле:

Dim xl As Double vivodPbll(xl, TextBoxl)

Пример 3.4-2. Вывод сообщения с помощью функции MsgBox( ).

  • 1. Если окно Редактор кода из предыдущего примера не отображается в IDE, следует сделать двойной щелчок мышью на кнопке In put Box формы Функция ввода Input Box (рис. 3.4-4)
  • 2. В окне Редактор кода появится процедура события Buttonl_Click( ) (это код, который был введен в предыдущем примере).

Выделите в процедуре события оператор (последняя строка):

Labell.Text = FullName.

Это оператор, который отображает в надписи содержимое переменной

FullName.

3. Нажать клавишу , чтобы удалить эту строку. Оператор будет удален.

4. Вместо него в процедуре события введите следующую строку:

MsgBox(FullName, /'Введено имя").

Этот новый оператор вызывает функцию MsgBox( ), отображает в диалоговом окне содержимое переменной FullName и помещает в его строку заголовка слова "Введено имя". Процедура события должна выглядеть, как на рис. 3.4-7. Обратите внимание: если аргумент Номер Кнопки опущен, то между "Сообщение" и "Заголовок" в синтаксисе функции MsgBox( ) должны быть две запятые.

  • 5) Щелкнуть на кнопке Начать отладку на стандартной панели инструментов.
  • 6) Щелкнуть на кнопке Input Box формы, а затем ввести в поле ввода имя и щелкнуть на ОК.

VB сохранит введенное значение в переменной FullName, а затем отобразит его в окне сообщения. Форма будет выглядеть, как на рис. 3.4-8.

7) Чтобы закрыть окно сообщения, щелкнуть на ОК. Затем выполните команду Остановить отладку элемента Отладка основного меню, чтобы закрыть проект.

Результат работы проекта Пример 3.4-2

Рис. 3.4-8. Результат работы проекта Пример 3.4-2

8) Процедура-Sub vivodDbl2( ) может быть реализована следующим образом:

'Процедура вывода данных типа Double функцией MsgBox Sub vivodDbl2(ByVal Z As Double, _

ByVal S As String, ByVal T As TextBox)

T.Text = MsgBox(CStr(Z), S)

End Sub

Вызов такой процедуры можно осуществлять из любой точки программы, например, для вывода значения переменной х1 типа Double в текстовое поле:

Dim z As Double

vivodDbl2(z, "Вывод значения z", TextBoxl)_

Пример 3.4-3. Вычисление периметра и площади треугольника с использованием процедур для ввода исходных данных и вывода результатов.

Программный код Проекта 3.4-3 представлен на рис. 3.4-9.

Пример 3.4-4. Вычислите значения арифметических выражений и выведите на экран результаты вычислений.

Исходные данные: x=l,4444b=0,318t=2,la=l,3

Выполним запись арифметических выражений на языке VB: Программный код показан на рис. 3.4-10.

Программный код Пример 3.4-4

Рис. 3.4-10. Программный код Пример 3.4-4

Результат программы представлен на рис. 3.4-11.

Результат программы Пример 3.4-4

Рис. 3.4-11. Результат программы Пример 3.4-4

Выполнить ту же задачу с использованием функций InputBox( ) и MsgBox( ) (Рис. 3.4-12).

Программный код Вычисления арифметических выражений использованием функций InputBoxQ и MsgBox()

Рис. 3.4-12. Программный код Вычисления арифметических выражений использованием функций InputBoxQ и MsgBox()

Результаты работы программы представлены на рис. 3.4-11, 3.4-12.

Вывод значения Y

Рис. 3.4-13 Вывод значения Y

Полученное значение Z

Рис. 3.4-14. Полученное значение Z

Пример 3.4-5. Найти ёмкость конденсатора С, если известны: площадь пластин s и расстояние между ними L. Следует учесть, что в конденсатор вставлена металлическая пластина толщиной d, параллельная его обкладкам.

Код программы представлен на рис. 3.4-15.

Программный код Примера 3.4-5

Рис. 3.4-15. Программный код Примера 3.4-5

Результат Примера 3.4-5

Рис. 3.4-16. Результат Примера 3.4-5

При вводе исходных данных s=5,7, L=0,5 и d=0,001, емкость конденсатора с=1,010922Е-10, что показано на рис. 3.4-14.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >