Алгоритмы: определение алгоритма, свойства, формы записи

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

Свойства алгоритма.

1. Дискретность.

2. Понятность

3. Детерминированность

4. Массовость

5. Результативность

Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число элементарных действий (шагов).

Понятность - свойство алгоритма, при котором каждое из этих элементарных действий (шагов) являются законченными и понятными.

Детерминированность - свойство, когда каждое действие (операция, указание, шаг, требование) должно пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию, чтобы каждый прочитавший указание, понимал его однозначно.

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

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

Алгоритм может быть записан различными способами: на естественном языке в виде описания; в виде графических блок-схем; на специальном алгоритмическом языке

Способы описания алгоритмов. Описание алгоритмов с помощью языка блок схем. Правила составления блок схем

Способы описания алгоритмов

Основные способы записи алгоритмов:
- словесный (родном языке);
- с помощью схем (графический);
- языком псевдокоде;
- языком программирования.
Словесный способ описания алгоритмов (описание на родном языке) - наиболее распространенная и доступная форма представления алгоритма, ориентированного на выполнение независимо от его подготовки. Взять два натуральных числа и сравнить их: если они равны, то всякое из них является самым общим делителем. Если же нет, то другой из них заменим разницей большего и меньшего и начнем все сначала. (Например: натуральные числа 12, 18 – общий делитель 6).

Язык блок-схем

Алгоритм можно описать разными способами: словами, на языке программирования, а также с помощью блок-схем.

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

Язык блок-схем прост (хотя существуют его расширенные варианты):

· Прямоугольник – выполнение действия (например, c = a + b)

· Ромб – проверка условия (например, a > b). Если условие выполняется, то алгоритм идет по линии «да», если не выполняется – то по линии «нет».

· Скругленный прямоугольник – начало и конец алгоритма

· Скошенный прямоугольник – ввод-вывод данных (например, получение значения переменной, вывод результата на экран монитора).
Это не полное описание языка блок-схем.

Схе́ма - графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т. д.[1]

Блок-схема - распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями.

Основные элементы схем алгоритма:

Наименование Обозначение Функция
Блок начало-конец (пуск-остановка) Алгоритмы: определение алгоритма, свойства, формы записи - №1 - открытая онлайн библиотека Элемент отображает вход из внешней среды или выход из неё (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие.
Блок вычислений (вычислительный блок) Алгоритмы: определение алгоритма, свойства, формы записи - №2 - открытая онлайн библиотека Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операцию присваивания: a = 10*b + c.
Логический блок (блок условия) Алгоритмы: определение алгоритма, свойства, формы записи - №3 - открытая онлайн библиотека Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае − сравнение (три выхода: >, <, =); в программировании − условные операторы if (два выхода: true, false) и case (множество выходов).
Предопределённый процесс Алгоритмы: определение алгоритма, свойства, формы записи - №4 - открытая онлайн библиотека Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции.
Данные (ввод-вывод) Алгоритмы: определение алгоритма, свойства, формы записи - №5 - открытая онлайн библиотека Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы).
Граница цикла Алгоритмы: определение алгоритма, свойства, формы записи - №6 - открытая онлайн библиотека Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними.   Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ решения, указывая в нём условие, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).
Соединитель Алгоритмы: определение алгоритма, свойства, формы записи - №7 - открытая онлайн библиотека Символ отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения её в другом месте (для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение.
Комментарий Алгоритмы: определение алгоритма, свойства, формы записи - №8 - открытая онлайн библиотека Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа.