Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии 


Условные графические изображения блок-схем алгоритмов




Наименование Обозначение и размеры Функция
Ручной ввод Ввод данных вручную с клавиатуры
Процесс (вычисление) Выполнение операции или группы операций, в результате которых изменяются значение переменных.
Логическое разветвление (проверка условия) Выбор ветви выполнения алгоритма, в зависимости от определенного условия.
Модификация Используется для цикла с заранее заданным количеством раз повторений тела цикла.
Пуск – останов Начало и конец выполнения алгоритма.
Документ Вывод данных на печать. R=a.
Комментарий Связь между элементом блок-схемы и пояснением к выполняемым действиям в элементе.
Соединители Указание связи между прерванными соединительными линиями, связывающими элементы блок-схемы алгоритма.
В пределах страницы
Межстраничный

Для оформления блок-схемы алгоритма минимальные размеры стороны «a» берется равное 10мм, увеличение размерности «a» допускается на величину кратную 5мм. Размер стороны «b» в полтора раза больше стороны «a», однако допускается и в два раза больше.

Таблица соответствия математических переменных идентификаторам в программе.

На данном этапе необходимо, в табличной форме, представить соответствие математических переменных именам переменных принятых для использования в программе. Это связанно с тем, что имена математических переменных часто берутся из символов греческого алфавита, отображение которых в программе просто невозможно. Пример такого соответствия приведен в таблице 5.

 

 

Таблица 5

Пример таблицы соответствия

Имя математической переменной Идентификатор в программе
f f
b b
a a

Создание программы

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

11.2.1. Диалоговые функции ввода\вывода информации

MsgBox()– функция VBA, выводящая на экран диалоговое окно с сообщением.

Форма записи:

MsgBox(prompt,[ buttons], [ title], [ helpfile, context]), где

prompt (сообщение) – строковое выражение (максимум 1024 символа), отображаемое в диалоговом окне, в качестве сообщения;

buttons (кнопки) – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Значение по умолчанию равно 0;

title(заголовок) – строковое выражение, отображаемое в строке заголовка диалогового окна;

helpfile, context – файл «помощи», контекст. Используются совместно.

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

Пример использования:

1. Вывод произвольных сообщений:

Ø Строка в процедуре – MsgBox(“Процесс завершен”) выведет на экран диалоговое окно, приведенное на рис. 2а;

Ø Строка в процедуре – MsgBox("Процесс завершен", , "Окно подсказки") выведет на экран диалоговое окно, представленное на рис. 2б.

2. Вывод значения переменных.

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

.

.

Z = A + B

MsgBox " Значение Z= " & Z

.

.

.

End Sub

на строке, где встречается функция MsgBoх(), произойдет приостановка выполнения процедуры и на экране можно наблюдать окно вывода MsgBox, представленное на рис. 2в. Для продолжения выполнения процедуры необходимо щелкнуть мышкой по кнопке «ОК» или нажать клавишу «Enter», или закрыть окно традиционными методами (кнопка закрытия окна или «Alt+F4» ). При этом исчезает окно и выполняется оператор в следующей строке.

a) б) в)

Рис. 2. Диалоговое окно вывода



InputBox – функция VBA, выводящая на экран диалоговое окно, содержащее сообщение (подсказку) и поле для ввода информации. Возвращает значение типа String, содержащее текст, введенный в поле.

Форма записи:

InputBox(prompt,[title],[default], [xpos],[ypos],[helpfile, context]), где:

prompt (сообщение) – строковое выражение (максимум 1024 символа), отображаемое в диалоговом окне, в качестве подсказки;

title(заголовок) – строковое выражение, отображаемое в строке заголовка диалогового окна;

default (значение по умолчанию) – строковое выражение, отображаемое в поле ввода.

xpos – числовое значение, соответствует позиции окна по оси X.

ypos – числовое значение, соответствует позиции окна по оси Y.

helpfile, context – файл «помощи», контекст. Используются совместно.

Как видно из рис. 3, эта функция отображает окно с полем текста, куда пользователь может внести некоторую информацию. Например, если необходимо ввести рассмотренное выше значение А, которое по условию задачи равно 150, следует применить оператор: A=Val(InputBox("Введите A", "Пример")). Функция VAL() позволяет преобразовать строковый тип вводимых данных в числовой тип переменной А.

Рис. 3. Диалоговое окно ввода

Необходимо также отметить следующие особенности использования функций ввода\вывода:

Ø Параметры, взятые в квадратные скобки, не являются обязательными.

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

Использование объекта Range

Многие действия, выполняемые программами VBA, относятся к определенной части рабочего листа. Для этого необходимо идентифицировать требуемые фрагменты, как отдельную ячейку, так и группу ячеек. Для выполнения этих задач в VBA предусмотрен объект RANGE. Под объектом понимают данные и код, который манипулирует этими данными, объединенные в одну структуру.

Объект RANGEпредназначен для создания ссылки на группу ячеек рабочего листа. Это может быть одна ячейка, строка, столбец, группа смежных и несмежных ячеек.

Для работы с данным объектом можно использовать различные свойства, однако в рамках данной лабораторной работы будет изучено свойство Value. Свойство Value необходимо для возврата или задания значения указанной ячейки (диапазона ячеек), иными словами пользуясь данным свойством можно в ячейку передать значение переменной и наоборот.

Форма записи:

Ø Range(“адрес_ячейки”).Value=имя_переменной.При этом значение переменной«имя_переменной»передается в ячейку с адресом«адрес_ячейки».

Ø Range(“адрес_диапазона”).Value=имя_переменной.При этом значение переменной«имя_переменной»передается во все ячейки диапазона с адресом«адрес_диапазона». При этом, диапазон смежных (рядом стоящих) ячеек указывается через двоеточие (например, A1:D4), а диапазон не смежных – списком, через запятую (например, A1,H12,Z43).

Ø имя_переменной=Range(“адрес_ячейки”).Value.При этом значение ячейки с адресом«адрес_ячейки» присваивается переменной «имя_переменной».

Так, программный код:

Dim A As Integer

A =Range("H5").Value, позволит присвоить переменной А значение целого числа, расположенного в ячейке Н5 рабочего листа. Это удобно использовать при передаче исходных данных, которые предварительно помещены в ячейки рабочего листа, в процедуру. Выражение Range("C13").Value = A, даст возможность поместить значение переменной А в ячейку С13, а если еще необходимо выдать текст “A=” в ячейку В13, следует применить программный код Range("В13").Value=“A=”. При необходимости заполнить группу ячеек, например В5-Е5, одинаковыми данными, это удобно реализовать с помощью выражения Range("В5:Е5").Value = A. Это позволит занести в ячейки с В5 по Е5 одинаковые значения переменной А.





Рекомендуемые страницы:


Читайте также:



Последнее изменение этой страницы: 2016-04-10; Просмотров: 445; Нарушение авторского права страницы


lektsia.com 2007 - 2021 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.) Главная | Обратная связь