Способы представления алгоритмов. Основные блоки ГСА
Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью словесного или графического описания, на алгоритмическом языке или языке программирования.
Словесное описание отражает структуру алгоритма в произвольной форме с помощью естественного языка с требуемой пошаговой детализацией, однако такая форма алгоритма громоздка и не имеет наглядности, что делает ее непригодной для реализации в математических расчетах.
Алгоритмический язык в общем случае представляет собой систему обозначений и правил для единообразной и точной записи алгоритмов и исполнения их. Примером такой системы является псевдокод – описание структуры алгоритма на естественном, частично формализованном языке. В псевдокоде применяются формальные конструкции и математические символы.
При записи алгоритма с помощью псевдокода применяются следующие служебные слова и символы:
АЛГ – АЛГоритм;
НАЧ – НАЧало алгоритма;
КОН – КОНец алгоритма;
НЦ – Начало Цикла;
КЦ – Конец Цикла;
:= – присвоить значение;
// – комментарий.
После служебного слова АЛГ указывается название алгоритма.
Каждая команда записывается с новой строки. В некоторых литературных источниках серию команд, составляющих тело какой-либо единой алгоритмической конструкции, рекомендуется заключать в операторные (фигурные) скобки.
Последовательность записи алгоритма в псевдокоде:
АЛГ название алгоритма
НАЧ
Команда 1
Команда 2
…………
КОН
Присвоить значения переменным можно следующим образом:
s := 5, x := 2 + y, m := m – n. Такого рода запись означает, что сначала выполняется действие над текущими значениями переменных в правой части от знака равенства, а затем полученный результат присваивается переменной, имя которой записано в левой части. Например, в результате операции k := k + 1 значение переменной k будет увеличено на единицу.
Одним из наиболее наглядных способов записи алгоритма является изображение его в виде графической схемы. При этом алгоритм представляется последовательностью блоков (геометрических фигур), выполняющих определенные функции, и связей между ними, указывающих порядок выполнения отдельных инструкций. Конфигурация и размеры блоков в графической схеме алгоритма (ГСА) определяются стандартом. Основное направление линий связи между блоками – сверху вниз и по часовой стрелке. Линии связи в других направлениях сопровождаются стрелками.
Описание алгоритма с помощью языка программирования представляет собой программный код (программу).
Языки программирования – это искусственные языки, предназначенные для записи алгоритмов. Они считаются языками высокого уровня по отношению к уровню машинных (внутренних) команд ЭВМ. ЭВМ оперирует командами в двоичном коде (машинные команды). Поэтому программу, написанную на языке высокого уровня, необходимо перевести (транслировать) на язык машинных команд, «понятных» ЭВМ. Эту операцию выполняют обслуживающие программы-трансляторы (интерпретаторы и компиляторы).
- Компиляторы транслируют весь текст программы, написанной на языке высокого уровня, в машинные коды в ходе одного непрерывного процесса. При этом создается полная программа в машинных кодах, которая в дальнейшем используется без участия компилятора.
- Интерпретаторы преобразуют программу, написанную на языке высокого уровня, в машинные коды, построчно, причем каждая строка тут же выполняется.
Преимущество компиляторов (для языков ФОРТРАН, ПАСКАЛЬ, СИ) состоит в высокой скорости выполнения готовой программы. Интерпретаторы (для языков BASIC, Logo) более удобны при откладке программ, так как реализуют диалоговый стиль разработки программ.