Visual Basic – это объектно-ориентированный язык программирования.
Общие сведения об алгоритмах
Алгоритмом является конечная очередность операций (действий), которые предназначены для решения поставленной задачи. Операции должны быть точно определены, то есть, разные исполнители алгоритма должны в итоге получить одинаковый результат.
Набор всех начальных данных, к которым алгоритм может быть применен, именуется областью использования алгоритма. Не все математические задачи могут быть решены при помощи алгоритма. Это сопряжено с не вычислимостью определенных областей, на которых выполняется решение этих задач. Задачи, которые не могут быть решены при помощи алгоритма, называются алгоритмически неразрешимыми. Задачи, которые могут решаться алгоритмами, следует отнести к области изучения конструктивной математики.
Запись алгоритмов может быть выполнена на естественном языке, в виде блок-схемы, на каком-либо (специальном) языке программирования. Одним из широко распространенных средств отображения алгоритмов считаются блок-схемы. Блок-схемой является диаграмма специализированного вида, на которой фигуры призваны обозначать операторы, то есть, действия алгоритма, а стрелки обозначают очередность выполнения операторов.
Основными алгоритмическими структурами (операторами) являются конструкции, при помощи которых может быть записан алгоритм. К числу таких основных структур относятся:
- оператор присваивания,
- условные операторы,
- операторы циклов,
- последовательности операторов.
В разных языках программирования данные конструкции могут отображаться по-разному, то есть, обладать разным синтаксисом, но эти различия обычно не являются существенными.
Visual Basic: алгоритмы и блок-схемы
Последовательность операторов означает поочередное их выполнение друг за другом. На блок-схемах эта конструкция отображается при помощи стрелки. В языках программирования поочередно исполняемые операторы должны отделяться друг от друга символом «;» или, как в Visual Basic, символом конца строки (все операторы начинаются с новой строки) или двоеточием.
Стандартный синтаксис оператора присваивания выглядит следующим образом: «переменная» «знак присваивания» «выражение», где «знак присваивания» может отображаться как «:=» или «=».
Выполняется присваивание в следующем порядке:
- Определяется выражение в правой части этого оператора.
- Вычисленное значение должно быть присвоено переменной левой части (переменная получает данное значение, удаляя предыдущее).
Рассмотрим пример последовательности операторов присваивания:
а = 4 + 7
а = а + 2
в = 2
а = в*3 + а
Выполняются эти операции в следующем порядке:
- Выполняется суммирование 4+7, результат 11 должен быть присвоен переменной «а». Прежняя величина «а» удаляется, новое значение «а» равно 11.
- Во второй строке к этой величине суммируется 2, результат получается13 (11+2=13). Это значение должно быть присвоено переменной «а», то есть, значение «а» теперь равно 13.
- В третьей строчке «в» присваивается значение 2.
- В четвертой строчке снова выполняется пересчет значения переменной «а», а именно, вычисляется выражение «в3+а» (вместо «в» и «а» используются их значения 13 и 2), итоговый результат 23 + 13 = 19 присваивается переменной «а» (принято говорить, что 19 заносится в переменную «а»).
- Итоговый результат исполнения всей последовательности «а=19, в=2».
Присваивание может трактоваться как сохранение определяемых в процессе выполнения алгоритма значений для последующего их применения. При сохранении в переменной, значение получает имя, к примеру, в рассмотренном примере далее в алгоритме вместо числа 19 может использоваться его (временное) наименование «а», вместо числа 2 может использоваться имя «в». Обратная операция, то есть извлечение значения из переменной, именуется разыменованием.
Условный оператор (ветвление) является алгоритмической структурой, которая представляет разветвление алгоритма в зависимости от значения (истинности или ложности) некоторого условия. В общем виде эта конструкция может быть представлена следующим образом:
«если» «условие» «то» «действия1» «иначе» «действия2»,
и формулируется так:
- Если условие истинно, то выполнить действия1.
- В противном случае, то есть, если условие ложно, то исполнить действия2.
Слова «если», «то», «иначе» в различных языках могут обладать разным синтаксисом, но практически во всех языках это «if», «then», «else». В Visual Basic синтаксис условного оператора представлен ниже:
If «условие» Then «действия1» Else «действия2» End If
Условный оператор может обладать и неполным форматом, то есть, без ветви «иначе» «действия2». В этом случае, если условие ложно, управление должно передаваться следующему в общей очередности оператору. На блок-схемах эти два варианта могут быть представлены следующим образом:
Рисунок 1. Блок-схема. Автор24 — интернет-биржа студенческих работ
Рисунок 2. Блок-схема. Автор24 — интернет-биржа студенческих работ
На этих блок-схемах знаки «+» и «-» служат для обозначения «да», то есть, условие исполняется, и «нет», то есть, условие не исполняется). К примеру, рассмотрим вычисление «у», которое определяется следующими условиями:
$y = x^2$ при x ∠ 0,
$y = x+1$ при x ≥ 0.
Данное вычисление может быть представлено блок-схемой, изображенной на рисунке ниже:
Рисунок 3. Блок-схема. Автор24 — интернет-биржа студенческих работ
На языке программирования Visual Basic данный алгоритм может быть реализован следующим образом:
If x∠0 Then
y=x*x
Else
y=x+1
End If
Следует отметить, что операторы после Then (ветвь «+») и Else (ветвь «-») должны начинаться с новой строки, а сам условный оператор оканчивается строкой End If, то есть, признаком конца операции ветвления.
Приведем пример применения неполного условного оператора:
- Необходимо просуммировать числа, которые вводятся с клавиатуры.
- Когда число является отрицательным, то оно сначала заменяется единицей.
Предположим, что в переменной «а» хранится значение введенного числа, а в переменной S хранится сумма введенных чисел. На рисунке ниже представлен фрагмент блок-схемы решения этой задачи:
Рисунок 4. Фрагмент блок-схемы. Автор24 — интернет-биржа студенческих работ
На языке программирования Visual Basic этот алгоритм может быть реализован следующим образом:
If а∠0 Then
а=1
End If
S=S+a