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

На практике наиболее распространены следующие формы представления алгоритмов:

  • словесная (записи на естественном языке);
  • графическая (изображения из графических символов);
  • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
  • программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.

Алгоритм может быть следующим:

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


Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи.

Словесный способ не имеет широкого распространения по следующим причинам:

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

Описание на алгоритмическом языке

Алгоритмический язык, это язык, ориентирован­ный на ЭВМ. Все алгоритмы к задачам и примерам для исполнения ЭВМ должны быть составлены на алгоритмическом язы­ке.

Арифметические выражения записываются по следующим правилам:
  • Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
  • Индексы элементов массивов записываются в скобках.
  • Для обозначения переменных используются буквы латинского алфавита.
  • Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
  • Операции одного старшинства выполняются слева направо. Например, a/b*c соответствует a/b*c.
  . В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не. Примеры записи логических выражений, истинных при выполнении указанных условий Примеры записи арифметических выражений
Математическая запись Запись на алгоритмическом языке
  формы представления алгоритмов - student2.ru x*y/z
  формы представления алгоритмов - student2.ru x/(y*z) или x/y/z
формы представления алгоритмов - student2.ru (a^3+b^3)/(b*c)


ТИПЫ АЛГОРИТМОВ

Известны три типа алгоритмов: линейный, ветвящийся, циклический. Тип алгоритма определяется характером решаемой в соответствии с его командами задачи. Применяют следующие формы представления алгоритмов: словесную, графическую, псевдокоды и программную, но не все эти формы

возможны для любого из алгоритмов.

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

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

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

Циклический тип алгоритма. Этот алгоритм используется, если требуется многократное повторение одних и тех же действий (циклов). Форма представления может быть выбрана словесная и графическая.
На практике чаще всего встречаются алгоритмы смешанного типа, у которых можно выделить участки (блоки), имеющие структуру линейного, ветвящегося или циклического типа. Алгоритм любой степени сложности можно построить с помощью блоков любого базового набора, имеющих линейную, ветвящуюся или циклическую структуру. Каждая из этих структур имеет только один вход и только один выход, что позволяет соединять между собой в процессе разработки алгоритма любое количество элементов базовых структур в любой последовательности.



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