Алгоритм
Слово «Алгоритм» произошло от слова «Algorithmi», являющегося латинской транслитерацией арабского имени узбекского математика Мохаммеда ибн Муса аль-Хорезми, который еще в IX веке (825 г.) описал правила выполнения четырех арифметических действий в десятичной системе счисления.
Алгоритм — точное предписание, которое задает процесс (называющийся алгоритмическим), начинающийся с произвольных исходных данных и направленный на получение полностью определяемого этими исходными данными результата. Алгоритмический процесс представляет собой этапы (шаги) последовательного преобразования исходных данных в результирующие.
Представленный алгоритм пишется на естественном (разговорном) языке, с использованием терминов отрасли, в которой решается задача, и не должен содержать программистские термины; тем более алгоритм не может содержать операторы языка программирования. Считается что по представленному алгоритму можно написать программу практически на любом языке программирования.
Текст алгоритма должен быть читаемым без дополнительных пояснений автора. В алгоритме не показывают описания, т.к. описания - это особенности языка программирования, а не алгоритма. Алгоритм не может быть «привязан» к конкретному языку программирования. В нем описываются конкретные действия – что делается, а не как это делается.
Сушествуют разные формы описания алгоритмов: блок-схемный, словесный, формульно-словесный, операторных схем и пр. Первые три формы описания алгоритмов являются самыми ходовыми, из них - первый представляет логику алгоритма наглядно в виде схемы, используя блоки, которые содержат пошаговые действия алгоритма.
Основные требования к блок-схеме:
- схема выполняется в обозначениях ГОСТа;
- после названия алгоритма необходимо описать целевые функции алгоритма в целом;
- в блоках схемы обычно пишут «скупые» тексты. Поэтому ее дополняют пояснения в разделе «Пояснения к алгоритму»;
- в пояснении к схеме описывают действия отдельных частей схемы и в случае крайней необходимости – действия отдельного блока. Описание каждого блока схемы бессмысленно. Пояснения должны содержать некоторую дополнительную информацию;
- управление по схеме должно в основном идти вниз (вправо), возвращаясь назад только в циклах;
- альтернативно выполняемые ветви должны размещаться параллельно;
- переменные должны инициализированы в каком-либо блоке с описанием. Если комментарии к переменной не помещаются в блоке, то ее описание необходимо поместить в раздел «Пояснения к алгоритму»;
- выходные и входные блоки процедур должны содержать, соответственно, входные и выходные (формальные) параметры;
- блоки можно объединять в более крупные пунктирными линиями, которые нужно комментировать – описывать их назначение.
Назад