Способы описания алгоритмов
Современный взгляд на алгоритмизацию
Теория алгоритмов строит и изучает конкретные модели алгоритмов. С развитием вычислительной техники и теории программирования возрастает необходимость построения новых экономичных алгоритмов, изменяются способы их построения, способы записи алгоритмов на языке, понятном исполнителю. Особый тип исполнителя алгоритмов – компьютер, поэтому необходимо создавать специальные средства, позволяющие, с одной стороны, разработчику в удобном виде записывать алгоритмы, а с другой – дающие компьютеру возможность понимать написанное. Такими средствами являются языки программирования или алгоритмические языки.
Алгоритмы и программы представляют с помощью конкретных форм записи.
К настоящему времени сложились пять наиболее употребительных способов записи: словесный, формульно-словесный, графический, при помощи псевдокодов и языков программирования.
Словесное описание алгоритма – инструкция о выполнении действий в определенной последовательности с помощью слов и предложений естественного языка.
В формульно-словесном способе записи инструкция о действиях содержит формальные символы и выражения (формулы) в сочетании со словесными пояснениями.
Графическая запись или схема – это изображение алгоритма с помощью геометрических фигур, называемых блоками. Последовательность блоков и соединительных линий образуют схему.
Наряду со схемами для изображения алгоритмов широко используется псевдокод. Псевдокодом называется система правил записи алгоритма с использованием набора определенных конструкций для описания управляющих действий.
Псевдокод позволяет формально изображать логику алгоритма, используя стандартизированные конструкции естественного языка для изображения управления и сохраняя возможности языка для описания действий по обработке информации. Данный способ тесно связан со структурным подходом к программированию. Псевдокод занимает промежуточное положение между естественным языком и языком программирования. Его применяют преимущественно для того, чтобы подробнее объяснить работу программы, что облегчает проверку правильности программы. Кроме того, псевдокод дает программисту большую свободу в изображении алгоритма. Требуется только употреблять стандартные управляющие конструкции и правила записи.
Последним способом записи алгоритмов является язык программирования.
Рассмотренные выше способы удобны для программиста, но не приемлемы для ЭВМ, поскольку они не могут быть однозначно поняты.
Язык программирования – это знаковая система, предназначенная для описания процессов решения задач и их реализации на ЭВМ. Реализация означает, что описания могут быть введены в ЭВМ и однозначно ею поняты. К языкам программирования относятся языки команд или машинные языки и языки высокого уровня.
Первая группа представляет собственный язык ЭВМ, и исполнение программы возможно только в том случае, если она записана на этом языке.
Однако программировать на машинном языке достаточно трудно, что обусловлено чрезмерной детализацией программы, необходимостью знать конкретную систему команд и детально представлять работу ЭВМ. Представление сложной программы на машинном языке неудобно для восприятия человеком.
Эти недостатки послужили стимулом для создания языков программирования высокого уровня, не совпадающих с машинными.
Идея таких языков состоит в представлении программ в виде не только приемлемом для ЭВМ, но и удобном для пользователя.