Алгоритм – точное предписание, которое задаёт процесс получения по исходным данным вполне определённого результата.

Алгоритм может быть задан как словесным описанием последовательности действий, так и графическим изображением отдельных блоков алгоритма. В последнем случае говорят о блочном алгоритме.

Например, алгоритм решения квадратного уравнения в блочной форме может быть представлен так:

Как правило, при изображении блочных алгоритмов придерживаются следующих основных правил:

  • начало и конец алгоритма изображают прямоугольниками со скруглёнными углами;
  • вычислительные блоки изображают прямоугольниками;
  • блоки, в которых производится проверка условий, изображаются ромбами;
  • блоки ввода и вывода результатов изображаются параллелепипедами;
  • последовательность перехода от одного блока к другому изображается стрелками.

Если изображение алгоритма выглядит как простая последовательность действий, без всяких ответвлений, то такой алгоритм называется линейным, в противном случае – разветвляющимся. В нашем примере получился разветвляющийся алгоритм.

Реализация алгоритма на каком-либо языке программирования называется программой, а сам процесс – программированием. Искусство программирования заключается в том, чтобы предвидеть все возможные варианты действий пользователя программы, которые могут привести к получению неправильных результатов или к аварийному завершению программы. Так наш алгоритм решения квадратного уравнения не очень хорош, как может показаться с первого взгляда. Мы не предусмотрели варианта, когда при вводе начальных значений величина «а» будет равна нулю. В этом случае возникнет ошибка при делении на нуль и программа завершится аварийно.

Существует много языков программирования, а мы с вами будем изучать основы программирования на примере языка, который называется 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. Какими операторами осуществляется ввод и вывод данных?