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

1. Словесный. Такое описание алгоритма состоит из словесного перечня действий в виде предложений.

Например, вычислить C=

А-В, если А>=В

A + B , если A < B .

Исходные данные А и В ввести в память ЭВМ, проверить выполнение неравенства А>B. Если оно выполняется, то вычислить А-В. Результат обозначить как С и вывести его; в противном случае вычислить А+В, результат обозначить С и вывести его.

Недостаток такого представления - отсутствие четкой формализации и наглядности выполнения процесса.

Достоинством является то, что таким способом можно описывать алгоритмы с любою степенью детализации.

2. Формульно-словесный способ основан на задании инструкций о выполнении конкретных действий в четкой последовательности в сочетании со словесными пояснениями.

Для рассмотренного задания алгоритм, представленный формульно-словесным способом, будет следующим:

Этап 1. Ввести А, В.

Этап 2. Если А>B, то перейти к этапу 4, иначе - к этапу 3.

Этап 3. С=А-В, перейти к этапу 5.

Этап 4. С=А+В.

Этап 5. Принять значение С за результат.

Этап 6. Вывести С.

Этот способ более компактен, но не является строго формальным.

3. Табличный. Алгоритм задается в виде таблиц и расчетных форм. Этот способ наиболее часто используется в экономических расчетах. Исходные данные и результаты вносятся в заголовки столбцов таблицы.

4. Операторный (язык операторных схем). При использовании этого способа вычислительный процесс изображается в виде последовательности символов (операторов). Они обозначают группы стандартных или нестандартных операций, реализующих законченную процедуру с указанием связи между отдельными операторами. Этот способ значительно упрощает составление программы для компьютера, при этом вместо операторов подставляются соответствующие команды. Недостатком данного способа является его малая наглядность.

5. Графический (способ блок-схем). При таком представлении алгоритма каждый этап отображается в виде геометрических фигур - “блоков”, форма которых зависит от выполняемой операции. Блок может иметь имя (метку). Линия соединения блоков показывает направление процесса обработки данных. Каждое направление называется ветвью. Перечень блоков, их наименование, функции, формы, размеры определяются ГОСТ 19.003- 80.

Указанный ГОСТ регламентирует изображение и размеры отдельных блоков в блок-схеме, а также их взаимное расположение. Блоки, в которых не предусматривается разветвление алгоритма по условию, имеют вид прямоугольника с размерами сторон, отношение которых равно 3:2. Блоки, предусматривающие проверку условия с последующим разветвлением, - форму ромба, соотношение диагоналей которого также равно 3:2. Каждая блок-схема обязательно должна включать в себя блок-начало и блок-конец. Форма этих блоков - прямоугольник со скругленными углами, размеры - 3:1. Отдельно определяются блоки, в которых осуществляется ввод и вывод информации. В зависимости от того, откуда и куда осуществляется ввод/вывод, используются разные виды блоков ввода/вывода. Однако можно использовать блок ввода/вывода общего назначения в виде параллелограмма с соотношением длины основания к высоте как 3:2. Блоки соединяются стрелками, показывающими последовательность исполнения. Сам значок “стрелка” в направлении “вниз” и “вправо” можно не ставить, “вверх” и “влево ” - ставить обязательно. Блоки должны быть расположены так, чтобы расстояние между блоками и стрелками составляло не меньше 5 мм.

Типы алгоритмов

 

Алгоритм линейной структуры состоит из последовательности действий, формирующих одну ветвь вычислений. Примером линейного алгоритма может быть алгоритм расчета У по формуле У=Х 2 .

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

Циклический алгоритм

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

Цикл организуют по определенным правилам. Циклический алгоритм состоит из подготовки цикла; тела цикла; условия продолжения цикла.

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

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

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

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