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


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



Наименование Обозначение и размеры Функция
Ручной ввод Ввод данных вручную с клавиатуры
Процесс (вычисление) Выполнение операции или группы операций, в результате которых изменяются значение переменных.
Логическое разветвление (проверка условия) Выбор ветви выполнения алгоритма, в зависимости от определенного условия.
Модификация Используется для цикла с заранее заданным количеством раз повторений тела цикла.
Пуск – останов Начало и конец выполнения алгоритма.
Документ Вывод данных на печать. 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; Просмотров: 619; Нарушение авторского права страницы


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