Алгоритмы: основные характеристики, виды. Исполнитель алгоритма. Основные синтаксические конструкции языка Си, реализующие алгоритмы.

Информатика

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

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

· дискретность,

· определенность (детерминированность),

· результативность,

· массовость.

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

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

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

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

Виды алгоритмов:

Первый тип — линейныйалгоритм; такой, в котором все действия выполня­ются в строгом порядке, последовательно, одно за другим. Типичный жиз­ненный пример такого алгоритма — рецепт пирога.

Второй тип — разветвляющийсяалгоритм; такой, в котором выполняются те или иные действия в зависимости от выполнения или невыполнения не­коего условия. Пример из жизни — правило перехода улицы по светофору. Если горит красный — стоим, если горит зеленый — идем.

Третий тип — циклическийалгоритм; такой, в котором присутству­ют повторяющиеся действия с какой-либо изменяющейся величиной, так называемым параметром. Пример — колка дров. Берем полено — колем топором, берем второе полено и т. д., пока поленья не закон­чатся, и эта работа нам не надоест.

Каждый алгоритм создаётся автором (человеком или группой людей) и рассчитан для выполненияконкретным исполнителем. Исполнитель алгоритма — это человек или какое-либо устройство (компьютер или робот). Алгоритм должен быть составлен таким образом, чтобы исполнитель, для которого создан алгоритм, смог выполнить его и получить результат.

Существуют различные формы представления алгоритмов:

· словесное описание алгоритма на естественном языке (вербальная форма, недостаток–многословность, возможна неоднозначность);

· построчная запись алгоритма;

· графический (например, блок-схема);

· запись на каком-либо языке программирования.

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

ОСНОВНЫЕ СИНТАКСИЧЕСКИЕ КОНСТРУКЦИИ ЯЗЫКА СИ РЕАЛИЗУЮЩИЕ АЛГОРИТМЫ????????

Наши рекомендации