Алгоритм – точное предписание, которое задаёт процесс получения по исходным данным вполне определённого результата.
Алгоритм может быть задан как словесным описанием последовательности действий, так и графическим изображением отдельных блоков алгоритма. В последнем случае говорят о блочном алгоритме.
Например, алгоритм решения квадратного уравнения в блочной форме может быть представлен так:
Как правило, при изображении блочных алгоритмов придерживаются следующих основных правил:
- начало и конец алгоритма изображают прямоугольниками со скруглёнными углами;
- вычислительные блоки изображают прямоугольниками;
- блоки, в которых производится проверка условий, изображаются ромбами;
- блоки ввода и вывода результатов изображаются параллелепипедами;
- последовательность перехода от одного блока к другому изображается стрелками.
Если изображение алгоритма выглядит как простая последовательность действий, без всяких ответвлений, то такой алгоритм называется линейным, в противном случае – разветвляющимся. В нашем примере получился разветвляющийся алгоритм.
Реализация алгоритма на каком-либо языке программирования называется программой, а сам процесс – программированием. Искусство программирования заключается в том, чтобы предвидеть все возможные варианты действий пользователя программы, которые могут привести к получению неправильных результатов или к аварийному завершению программы. Так наш алгоритм решения квадратного уравнения не очень хорош, как может показаться с первого взгляда. Мы не предусмотрели варианта, когда при вводе начальных значений величина «а» будет равна нулю. В этом случае возникнет ошибка при делении на нуль и программа завершится аварийно.
Существует много языков программирования, а мы с вами будем изучать основы программирования на примере языка, который называется Visual Basic for Application (VBA).
Простейшие конструкции языка. Операторы присваивания и ввода вывода
При написании программы на VBA необходимо знать набор зарезервированных в языке идентификаторов и операторов, правила их употребления, допустимые к употреблению типы данных, свойства используемых объектов.
Каждая переменная должна иметь идентификатор и определённый тип данных. Это связано с необходимостью резервирования для неё достаточного объёма памяти.
Типы данных:
Boolean – логический,
Integer - целый (от –32000 до +32000),
Long - длинное целое,
Single - число с плавающей точкой,
Array - массив данных,
Object - объект,
String - строка символов.
Прежде чем использовать переменную в программе её надо объявить, т.е. присвоить ей идентификатор и указать тип данных. Это делается с помощью оператора Dim следующим образом:
Dim root1, root2, D As Single
Dim n As Integer
Dim message As String
Dim g_int(2, 3) As Integer
После того как переменная объявлена, ей можно присваивать значения, соответствующие её типу. Делается это с помощью оператора присваивания «=». Например, n=10, message = “корней не существует”.
Если были определены переменные D,а,b,с и им были присвоены значения, то переменной D может быть присвоено значение, полученное в результате вычисления D=b^2-4*a*c.
При необходимости ввода данных с клавиатуры, можно использовать оператор ввода Input, например, Input a,b,c. При выводе данных на экран монитора используется оператор вывода Print, например, Print “первый корень”,root1,”второй корень”,root2.
Запись линейных алгоритмов
Поскольку в линейных алгоритмах все действия выполняются последовательно, то и реализация линейного алгоритма на языке программирования выглядит как последовательная запись операторов, причём каждый оператор записывается с новой строки.
Пусть по известным размерам цилиндрической ёмкости необходимо вычислить объём и вес воды, входящей в эту ёмкость, а также площадь поверхности цилиндра. Исходными данными являются радиус основания r и высота цилиндра h. Очевидно, объём воды будет равен объёму цилиндра , а вес воды будет равен произведению плотности воды на её объём и на ускорение свободного падения . Площадь поверхности будет складываться из площади основания и боковой площади . Таким образом реализация этого линейного алгоритма может быть такой:
Dim r, h, V, P, S, g, pi, ro As Single
pi = 3.14159
g = 9.8
ro = 1
Input r,h
V = pi*r^2*h
P = ro*g*V
S = pi*r^2+2*pi*r*h
Print “объём воды равен ”,V
Print “вес воды равен ”,P
Print “площадь поверхности равна ”,S
В первой строке объявляются переменные, которые нам потребуются при написании программы. Во второй, третьей и четвёртой строке присваиваются значения переменным, которые представляют собой число пи, ускорение свободного падения и плотность воды. В пятой строке вычисляется объём воды и присваивается переменной V. В шестой строке вычисляется вес воды, а в седьмой строке – площадь цилиндра. В восьмой, девятой и десятой строках результаты выводятся на экран.
Контрольные вопросы
1. Что такое алгоритм?
2. Что такое линейный и разветвляющийся алгоритмы?
3. Чем характеризуется переменная при программировании на VBA?
4. Какие типы данных поддерживает VBA?
5. Как записывается оператор присваивания?
6. Какими операторами осуществляется ввод и вывод данных?