- •Содержание
- •Алгоритмизация и программирование vba введение
- •1 Макросы
- •На панели быстрого запуска
- •2. Алгоритмизация
- •2.1 Алгоритм. Общие сведения.
- •Форма записи алгоритма на естественном языке
- •2.3 Графическая форма записи алгоритма
- •2.4 Правила оформления схем алгоритмов
- •2.5 Основные этапы подготовки и решения задачи на компьютере
- •2.6 Постановка задачи. Разработка математической модели
- •Складских помещений
- •Равным плану d в виде блок-схемы
- •Массива по строкам
- •3 Язык программирования
- •Функции InputBox
- •Воды предприятием и номера месяца с минимальным расходом в виде блок-схемы
- •Программирование на vba в microsoft office
- •4.1 Программирование на vba в Excel
- •(Для наглядности выделен)
- •В нём активной ячейки
- •В формуле ячейки
- •Change объекта WorkSheet
- •4.2 Программирование на vba в Word
- •4.3 Программирование на vba в PowerPoint
- •«Элементы управления»
- •5 Технология организации, хранения и обработки данных
- •5.1 Общие сведения
- •5.2 Листинг программы
- •5.3 Алгоритм программы
- •5.4 Результат работы
- •Список использованных источников
Массива по строкам
В этом примере элементы массива вводятся по строкам в следующем порядке:
,
,...,
,
,...,
...........................
,
,...,
Для каждого значения счетчика внешнего цикла i, вложенный цикл выполняется заданное количество (m) раз.
Пример №17
Выполним построение математической модели и алгоритма решения функциональной задачи выпуска продукции.
а) Обозначения переменных:
n – количество видов продукции;
m – количество месяцев;
VР(n, m) – массив выпуска продукции;
i – счётчик цикла, вид продукции; j – номер месяца;
S(i) – общий выпуск продукции i-того вида;
Max(i) – максимальный выпуск продукции i-того вида;
K(i)– месяц соответствующий максимальному выпуску продукции.
Таблица 2.4 − Выпуск продукции в тыс. руб.
б) Тип переменных:
n, m, i, j – простые переменные целого типа;
VР(n, m), Max(n), S(n) – массив вещественного типа;
K(n) – массив целого типа;
VP(i, j), K(i), Max(i), S(i) – переменные с индексом;
в) Классификация по группам:
исходные данные: n, m, VР(n, m)
промежуточные результаты: i, j; результаты: S(i), K(i), Max(i).
г) Система расчетных формул:
1) нахождение общего выпуска продукции каждого вида:
i = 1 начальное значение вида продукции
2) нахождение максимального выпуска продукции каждого вида и месяца с максимальным выпускном:
Представим алгоритм нахождения общего выпуска продукции каждого вида в виде блок-схемы (рисунок 2.28), алгоритм нахождения максимального выпуска продукции каждого вида в виде блок-схемы (рисунок 2.29): [8]
Рисунок 2.28 – Блок-схема алгоритма к примеру №17 (1)
Рисунок 2.29 − Блок-схема алгоритма к примеру №17 (2)
3 Язык программирования
Алгоритмический язык (язык программирования) предназначен для описания алгоритмов и представляет собой набор символов, систем правил написания (синтаксиса) и истолкования конструкций из этих символов (семантики). Язык программирования VBA, являясь мощным программным средством, позволяет реализовать широкий спектр практических задач. Основное его достоинство состоит в оптимальном сочетании простоты использования, доступности и большого набора разнообразных возможностей, позволяющих охватить все основные области программистской деятельности.
К основным возможностям VBA можно отнести реализацию максимально гибкого и удобного интерфейса для приложения, создание самых разнообразных многоуровневых и всплывающих меню, обработку событий мыши и клавиатуры, работу с графикой. Приложение может осуществлять работу с таймером, обрабатывать файлы и каталоги на жестком диске, а также предоставлять доступ к базам данных. В языке VBA имеется возможность внедрения в приложение различных объектов, которые поддерживаются другими программами. Помимо этого, разработчик может реализовать связь одного или нескольких компьютеров, на которых установлено созданное приложение, с сетью Internet.
Редактор VBA активизируется из приложения MS Excel одним из следующих способов:
командой меню Сервис → Макрос → Редактор Visual Basic;
комбинацией клавиш Alt+F11;
щелчком по кнопке панели инструментов «Редактор Visual Basic».
Вернуться из редактора VBA в приложение можно, нажав комбинацию клавиш Alt+F11 или соответствующий значок приложения.
Ввод программы в память компьютера осуществляется с помощью клавиатуры, из внешней памяти или из компьютерной сети в окно редактирования кода Листа. Открывается окно редактирования кода Листа двойным щелчком на соответствующем значке в окне проекта, например, на значке Лист1 (рисунок 3.1).
Рисунок 3.1 − Окно редактирования кода Лист1
Программу, которая написана на алгоритмическом языке, компьютер не может выполнить непосредственно. Такая форма записи понятна человеку, но недоступна для обработки вычислительному средству. Поэтому нужен «посредник» для перевода программы с языка, понятного человеку, на язык, «понятный» машине. Такими посредниками являются специальные программы, которые называются трансляторами (от англ. translator - переводчик) и компиляторами (от англ. compiler - составитель). Для каждого языка программирования существует свой транслятор (или компилятор). В этих программахсодержатся все правила и конструкции соответствующего алгоритмического языка, а также способы преобразования этих конструкций на машинный язык.
Отладка программы представляет собой процесс обнаружения и исправления синтаксических ошибок.
Тестирование — установление факта достоверности получаемых результатов. Правильность работы программы устанавливается с помощью специальных контрольных просчетов — тестов. Для тестов подбираются наборы исходных данных, для которых заранее известен результат. Анализ результатов тестирования (сравнение ожидаемых результатов с полученными при вычислении) позволяет выявить ошибки в алгоритме и программе.
Элементы языка
Язык программирования VBA служит для написания кода программы. Он, как и другие языки, имеет свой алфавит. В него входят:
1. Прописные и строчные буквы латинского алфавита (А - Z, a - z);
2. Прописные и строчные буквы кириллицы (А - Я, а -я);
3. Цифры от 0 до 9;
Знаки арифметических операций:
+ - сложение
- - вычитание
* - умножение
/ - деление
\ - знак целочисленного деления
^ - возведение в степень
Знаки логических отношений:
< - меньше
> - больше
= - равно
>= - больше либо равно (≥)
<= -меньше либоравно (≤)
<> - не равно (≠)
Для программной обработки на компьютере, данные представляются в виде величин и их совокупностей.
Таблица 3.1 – Элементы языка VBA
. |
Точка |
; |
точка с запятой |
: |
разделитель операторов в одной строке |
, |
Запятая |
“” |
Кавычки |
‘ |
Апостроф |
[ ] |
квадратные скобки |
( ) |
круглые скобки |
{ } |
фигурные скобки |
_ |
пробел-подчёркивание |
@ |
амперсант, суффикс денежных единиц |
& |
логическое «и», суффикс длинного целого |
% |
целочисленный суффикс |
! |
вещественный суффикс |
# |
суффикс удвоенной точности |
$ |
строковый суффикс |
Величина — это элемент данных с точки зрения их семантического (смыслового) содержания или обработки. Смысловое (семантическое) разбиение данных производится во время постановки задачи и разработки алгоритма ее решения (входные, выходные и промежуточные).
Исходные (входные) — это данные, известные перед выполнением алгоритма, из условия задачи.
Выходные данные — результат решения задачи.
Величины, которые не являются ни исходными данными, ни результатом алгоритма, а используются только для обозначения вычисляемого промежуточного значения, называются промежуточными.
Вместе с тем, архитектура ЭВМ, используемое программное обеспечение требуют указать имена и типы данных — целый, вещественный, символьный. С понятием величины связаны следующие характеристики:
Идентификатор (имя) — это обозначение величины и место в памяти. При наборе идентификаторов с клавиатуры регистр буквы (строчная или прописная) не играет роли. Буквы А и а воспринимаются одинаково, хотя у них разные коды, поэтому MATR, matr, Matr - одно и тоже имя.
Тип — множество допустимых значений, принимаемых величинами этого типа см. таблицу 1; набор операций, допустимых над данной величиной; объем памяти, отводимой под неё.
Значение — динамическая характеристика, которая может многократно меняться в ходе исполнения алгоритма. Во время выполнения алгоритма в каждый конкретный момент величина имеет некоторое значение или не определена. Так постоянной или константой называется величина, значение которой не изменяется в процессе исполнения алгоритма, а остается одним и тем же, указанным в тексте алгоритма; переменной называется величина, значение которой меняется в процессе исполнения алгоритма.
Декларация переменных может быть неявной, не требующей описания, тогда по умолчанию все переменные имеют тип Variant (за исключением типа Object).
Для явного определения переменных существуют два способа. Первый (предпочтительный) способ предполагает использование следующего оператора: DimИмя1 As [Тип], Имя2 Аs [Тип],
Dim (размер) — ключевое слово, которое сообщает, что декларируется переменная и резервируется область памяти для ее хранения;
Имя — имя переменной (идентификатор);
As (как) — ключевое слово, которое сообщает, что определяется тип данных для переменной;
Тип — тип данных объявляемой переменной.
При подготовке кода программы среда программирования оказывает помощь пользователю: после набора ключевого слова As раскрывается список, в котором наряду с другими типами объектов указаны и базовые типы переменных. Тип переменной можно установить, дважды щелкнув по имени типа в этом списке.
Другим способом явного объявления переменных является указание типа с помощью суффикса. В этом случае тип данных переменной определяется с помощью добавления в конец ее имени специального символа описания типа — суффикса, поэтому использовать ключевое слово As не требуется.
Синтаксис явного объявления переменных с помощью суффикса:
DimИмя_Переменной Суффикс
Например:
Dim Фамилия$ ' Объявляется переменная типа «строка» String;
Dim Среднее_значение! ' Объявляется переменная типа Single;
Dim Hoмep% ' Объявляется переменная типа «целое» Integer.
Программирование алгоритмов линейной структуры
Тексты программ в VBA хранятся в макросах. Макрос на языке VBA должен содержать хотя бы одну подпрограмму, которая называется Главной. От всех остальных она отличается тем, что ей передается управление при вызове макроса.
Подпрограммы не могут быть вложенными. Подпрограмма начинается оператором заголовка, например: Sub Задача( ). Далее следуют строки, состоящие из операторов. Они составляют тело программы. В одной строке может находиться один или несколько операторов. Один оператор от другого отделяется знаком двоеточия. Один оператор может занимать несколько строк и в этом случае символом продолжения служит последовательность «пробел подчеркивание» (_). Последним оператором в подпрограмме должен быть оператор EndSub.
Оператор — это минимальная конструкция языка, задающая описание некоторого действия. Оператор, c помощью которого с клавиатуры в режиме диалога присваивается значение переменной величине, называется оператором ввода.
В программе ввод начальных данных производится в диалоговое окно, которое вызываются при помощи стандартной функции VBA InputBox.
Синтаксис оператора ввода:
Имя_Переменной = InputBox (“Текст подсказки”, “Заголовок окна”).
Как только в программе встречается оператор ввода, компьютервызывает диалоговое окно и ждет, когда пользователь введет с клавиатуры соответствующее значение. После нажатия кнопки «ОК» или клавиши «ENTER», переменная примет соответствующее значение. Выполнение программы продолжается с оператора следующего за оператором ввода.
Например: a = InputBox ("Введите значение расстояния a", "Окно ввода")
Результатом вызова функции InputBox является значение, введённое в текстовое поле, которое присваивается переменной а (рисунок 3.2).
Рисунок 3.2 −Диалоговое окно ввода данных с помощью
