Этапы подготовки задачи к реализации на ПК
В процессе решения задачи с использованием персонального компьютера можно выделить несколько основных этапов, выполняющихся в следующем порядке:
1. Постановка задачи (математическое описание задачи, определение состава и характера исходных данных, определение искомых результатов).
2. Разработка алгоритма решения задачи.
Алгоритм – это последовательность арифметических и логических операций и связей между ними, однозначно приводящая исходные данные к искомому результату.
3. Составление программы на конкретном алгоритмическом языке.
Программой называется последовательность инструкций, реализующая алгоритм решения задачи на каком-либо языке программирования.
4. Трансляция программы – перевод исходного пользовательского теста программы в машинные кода и настраивание адресных констант для работы программы с библиотечными функциями. По способу работы программы-трансляторы делятся на компиляторы и интерпретаторы.
Компилятор запускается после окончания ввода программы и просматривает текст программы целиком в поисках синтаксических ошибок. Если в процессе компиляции ошибки не обнаружены, то генерируется машинный код (готовая к исполнению программа).
В отличие от компилятора интерпретатор просматривает текст программы последовательно на этапе ввода программы. Проверка отдельно каждого оператора осуществляется его формальным исполнением.
На этапе трансляции выявляются синтаксические ошибки (runtime error) – ошибки выполнения, т.е. те ошибки, которые приводят к остановке выполнения программы.
5. Тестирование программы – проверка правильности результатов выполнения программы и реакции на действия пользователя. На этапе тестирования выявляются логические ошибки – ошибки, приводящие к получению неверных результатов в процессе эксплуатации программы.
Если возникновение синтаксических ошибок связано с нарушением синтаксиса (правил написания) управляющих конструкций языка и встроенных функций, то к появлению логических ошибок приводят неверные логические рассуждения программиста, нарушение последовательности выполнения операторов программы, ошибки в записи формул и др.
Выявить логические ошибки можно, выполняя контрольные примеры.
Создание программ
VBA работает с двумя видами программ: процедурами и функциями. Они являются критическими функциональными единицами VBA, в том смысле, что вы имеете возможность выполнить только тот программный код, который содержится в программе.
! Программный код, содержащийся вне каркаса программы, выполняться не будет.
Почти весь создаваемый пользовательский код содержится в программах двух видов: Sub и Function.
Программы типа Subназываются процедурами и подразделяются: на простые процедуры (не относящиеся ни к какому объекту), процедуры обработки событий (процедуры, которые выполняются при наступлении определенного события, например: нажатие на кнопку или выбор элемента из какого-либо списка и т.д.) и процедуры типа Property (процедура свойства, которая выясняет или устанавливает значение свойства какого-либо объекта).
Создание новой программы
1. Необходимо открыть модуль, в котором будет размещена программа:
; Вызвать редактор VBA;
; Вставка – Модуль (Insrert – Module) или 2-ой щелчок по имени существующего модуля в окне проекта).
2. Создать каркас программы.
Объявление процедуры
Sub Имя_программы( [аргументы] )
Инструкции
End Sub
Где, Sub … End Sub– каркас программы, ключевые слова, обозначающие начало и конец процедуры.
Имя_программы– наименование процедуры. Может быть набрано как русскими, так латинскими буквами. Должно подчинятся правилам именования объектов.
[аргументы]– позволяют передать в процедуру требуемые для расчетов значения. Являются необязательными параметрами. Если процедура не требует никаких аргументов после имени.
(Здесь и далее [ ] обозначают, что элемент, заключенный в квадратные скобки является не обязательным и может быть опущен).
Например,
Sub День_недели()
Msgbox ”Сегодня – среда”
End Sub
Эта процедура выведет диалоговое окно с сообщением ”Сегодня – среда”.
Правила именования объектов в VBA
1. Имя (идентификатор) объекта не должно превышать 255 символов;
2. Имя объекта не должно содержать пробелов;
3. Не должно содержать специальных символов:
! @ $ ‘ # ? / () {} [] = ^ / * — + ~^ ?;
4. Не должно совпадать с ключевыми словами VBA (Sub, If, Do и т.д.);
5. В рамках одного модуля совпадение имен процедур запрещается.
Описание функций
Основное отличие процедур и функций заключается в том, что процедуры предназначены для выполнения каких-либо действий, могут возвращать несколько результатов или не возвращать ни одного. Функция же всегда возвращает какое-либо одно значение.
Описание функции имеет следующий синтаксис:
Function имя_функции ([аргументы]) [As Тип]
Инструкции
имя_функции= выражение
End Function
Где, Function … End Function– ключевые слова, обозначающие начало и конец функции;
имя_функции– идентификатор, подчиняющийся правилам именования объектов;
аргументы– необязательные параметры, передающие в функцию требуемые значения для расчетов;
As Тип– объявляет тип возвращаемого функцией значения;
имя_функции= выражение– обязательная инструкция, связывающая имя функции с конечным результатом вычислений.
Например:
Function Сумма(x As Integer, y As Integer) As Long
Сумма = x + y
End Function
В эту функцию передается два числа х и у целого типа. Функция находит их сумму и возвращает результат типа Long. Конечный результат вычислений связывается с именем функции. Воспользоваться этой функцией можно, например, так, для вычисления выражения
Sub Вычисление_z()
Dim a As Integer, b As Integer
Dim c As Integer, d As Integer, z As Double
a = Range(A1).Value
b = Range(A2).Value
c = Range(A3).Value
d = Range(A4).Value
z = Сумма(a, b) * Сумма(a, c) / Сумма(b, d)
Msgbox Значение выражения z
End Sub
В этой процедуре объявляются четыре переменные целого типа и одна z – вещественного типа. Значения для переменных берутся с активного листа из ячеек А1, А2, А3 и А4. При вычислении z три раза вызывается функция Сумма с конкретными значениями для аргументов.
Использование операторов
Программа на VBA – это набор операторов (инструкций). Как правило, каждый оператор VBA занимает одну строку. Операторы в программе VBA выполняются последовательно друг за другом (если нет структур, передающих управление).
! Концом оператора служит признак конца строки.
VBA имеет следующие типы операторов:
; Объявления;
; Оператор присваивания;
; Исполняемые операторы;
; Параметры компилятора.
Объявление – это оператор, сообщающий компилятору VBA о намерении пользователя использовать тот или иной именованный объект (константу, переменную, объект пользовательского типа и т.д.)
!Объявление объекта должно предшествовать его использованию.
Объявление констант
Константа – это именованный элемент, сохраняющий постоянное значение в течении выполнения программы.
Константны VBA делятся на:
a) Непоименованные, т.е. такие, которые вносятся прямо в текст программы, например,
2 3.14 562 – числовые константы
“привет, студент” – текстовые константы
#12/31/2002# – дата
True False –логические константы
b) Поименованные. Такие константы имеют имя, которое используется в тексте программы и за место которого подставляется значение константы.
Поименованная константа объявляется следующим образом:
Const имя_константы [As Тип] = значение
Например,
ConstPi As double =3.14159
ConstЦена =500
ConstStr =”Hello”
!Все строковые константы заключаются в двойные английские кавычки.
c) Внутренние константы VBA (предопределенные константы). Они служат для упрощения работы с некоторыми встроенными процедурами и функциями, такими например, как Msgbox, InputBox.
Хорошо вам известные кнопки, появляющиеся в различных диалоговых окнах, такие как “Ok”, “Yes”, “Cancel”,”No” и т. п. могут обозначаться с помощью поименованных целочисленных констант.
Все внутренние константы VBA обозначаются с помощью префикса vb, т.к. есть еще внутренние константы Excel и Word. Например, константа vbOkOnly имеет значение равное 0 и выводит в диалоговом окне кнопку “Ok”.
Константа VbYesNoCancel имеет значение равное 3 и выводит в диалоговом окне кнопки “Yes”, ”No”, и ”Cancel”.
Оператор присваивания
Оператор присваивания приписывает переменным конкретные значения. Состоит всегда из трех частей: имени переменной, знака равенства и выражения задающего нужное значение
Имя_переменной = выражение
Выражение –это комбинация ключевых слов, операторов, переменных и констант, результатом вычисления, которого является строка, число или логическое выражение.
! При выполнении оператора присваивания переменной, стоящей в левой части, присваивается результат вычисления выражения, стоящего в правой части.
X=4 ‘ переменной X присваивается число 4
A=4+Sin(X)
C=S4 ‘ переменной С присваивается результат сравнения S4
Z=Cells(1,2).Value ‘переменной Z присваивается значение ячейки, стоящей на пересечении 1-‘ой строки и 2-ого столбца
Cells(1,2).Value= Z ‘Ячейке, стоящей на пересечении 1-‘ой строки и 2-ого столбца ’присваивается значение переменной Z
Не следует путать знак “=” с математическим знаком равенства. В математике знак “=” служит для обозначения того факта, что две величины равны между собой. В VBA знак присваивания служит другой цели – записывает некоторое значение в участок памяти, на который указывает имя переменной.
Параметры компилятора
Параметры компилятора – класс операторов, представляющих собой инструкции для управления поведением компилятора VBA.
Компилятор – это специальная программа, входящая в состав многих языков программирования. Предназначена для перевода кода программы из формы, понятной программисту в форму, понятную компьютеру (в машинный код).
Некоторые параметры компилятора:
Option Base число – установка правила нумерации элементов массива. По умолчанию элементы массива в VBA нумеруются с 0.
Option Base 1 ‘устанавливает нумерацию элементов массива с 1.
Option Explicit – в результате помещения этой директивы в модуль, VBA запрещает использование необъявленных переменных. Аналогично использованию последовательности команд в редакторе VBA: Сервис– Параметры –флажок «Явное описание переменных» (“Require Variable Declaration”).
Эту директиву рекомендуется добавлять в ваш проект, т.к. она исключает возможность случайного использования необъявленных переменных. Например, если будет допущена ошибка при использовании некоторых операций, например, набрано 5mod2 вместо 5 mod 2 или aORb вместо a OR b, то VBA воспримет 5mod2 и aORb как новые не объявленные переменные.
Исполняемые операторы
Исполняемые операторы используются для выполнения следующих задач:
– вызов пользовательских функций;
– активизация методов объектов;
– управление порядком выполнения других операторов;
– выполнение встроенных функций VBA.
Как правило, один оператор занимает в VBA-программе одну строку.
Если строка программного кода слишком длинна, то ее можно разместить на 2-х и более строках, используя знак подчеркивания. Например,
Msgbox “Эта строка – ”St_
“является слишком длинной”
Если же необходимо разместить несколько операторов на одной строке, используется знак двоеточия. Например,
Dim A As Byte, B As Byte, C As Integer
A=20 : B=12 : C=48
Комментарии
Комментарии в VBA-программе начинаются со знака английского апострофа. Например,
‘Это комментарий
Dim A As Byte, B As Byte ‘Объявление переменных
Операции в VBA
Операция представляет собой специальный символ (-,+ и т.д.) или ключевое слово (Or, And и т.д.), комбинирующее два значения (операнда) с целью получения нового результата.
VBA-оперции разделяются на 4 группы: арифметические, логические, сравнения и оператор конкатенации.
Обозначение | Пояснение | Пример |
Арифметические операции | ||
+ – | Сложение, вычитание | А+4 |
* / | Умножение, деление | A*b/c |
^ | Возведение в степень | B^4 |
\ | Целочисленное деление. Возвращает целую часть от деления двух целых чисел | 5\2результат–2 |
mod | Возвращает остаток от деления двух целых чисел | 5 mod 2результат – 1 |
Логические операции | ||
Not | Логическое отрицание. Меняет значение своего операнда на противоположное | A = TrueB = Not AB – False |
And | Логическое «И». Возвращает Истину, если все без исключения условия верны, иначе Ложь. | A=True : B = FalseC = A And BC – False |
Or | Логическое «Или». Возвращает Истину, если истинно хотя бы одно условие. | A =3 : B =5C = (A6) Or (BTrue |
XOR | «Исключающие Или». Возвращает Ложь, если все условия возвращают одинаковые значения, все истинны или все ложны.Возвращает Истину, если условия исключают друг друга. | A=True : B =True : C= FalseD =A XOR BD–FalseD = B XOR CD– True |
Операции сравнения | ||
= | Знак равенства | |
Не равно | ||
Меньше | ||
Больше | ||
Меньше либо равно | ||
= | Больше либо равно | |
Like | Сравнение строк с заданным образцом. В образце могут использоваться подстановочные символы: *,? и др. | A=”Hello!”C= A Like “Привет!”C –FalseC= A Like “He*”C – True |
Is | Проверка идентичности ссылок на объект | |
Знак конкатенации | ||
Объединяет строки. | MsgBox “Пример строки:”“Это – строка” |
Приоритет операций
Если выражение имеет несколько знаков операций, то их выполнение идет в следующем порядке:
| ( ) | выражения в круглых скобках |
| соs(x) | вычисление функций |
| ^ | возведение в степень |
| — sin(x) | унарный минус (смена знака) |
| *, / | умножение, деление |
| \ | целочисленное деление |
| mod | целочисленный остаток от деления |
| +,– | сложение, вычитание |
| знак конкатенации | |
| , | операции сравнения |
| And, Or, Not | Логические операции |
Порядок вычислений можно изменить расстановкой скобок.
Статьи к прочтению:
Naming Ionic Compounds with Transition Metals Introduction
Похожие статьи:
-
Размещение файлов. правила именования файлов
Реализация функций контроля и управления На базе Win32 API Методические указания по выполнению лабораторного практикума Дисц. “Вычислительные машины,…
-
Альтернативой явному перечислению элементов множества является set-нотация, где мы помещаем имя обобщенного элемента множества и через двоеточие…