Математическая энциклопедия

Алгол

Алгол
АЛГОЛ

Ч общее название ряда алгоритмических языков, предназначенных для автоматизации программирования и для публикации алгоритмов (сокращение от слов ALGOrithmic и Language).

Первый вариант А. был разработан группой ученых разных стран в 1958. На международной конференции в Париже (1960) был принят язык «алгол-60», к-рый объединил многие удачные свойства существовавших ранее языков программирования. Этот язык получил самое широкое распространение и обычно подразумевается под термином «А.». А. особенно удобен для описания алгоритмов численного анализа. В А. не учитываются конкретные особенности вычислительных машин и не предусмотрены развитые канонизированные средства для задания операций ввода и вывода информации. Для различных машин могут быть разработаны различные конкретные представления эталонного языка А., каждое из к-рых является языком, воспринимаемым транслятором для данной машины. Как правило, переход от эталонного языка А. к конкретному представлению является естественным и не представляет большого труда. Основными символами в А. являются десятичные цифры, строчные и заглавные латинские буквы, знаки препинания, знаки арифметич. и логич. операций, прочие специальные знаки и нек-рые английские слова [в частности, begin («начало»), end («конец»), real («вещественный»), integer («целый»), array («массив»)]. Из основных символов языка по определенным правилам образуются числа, идентификаторы (имена), простые переменные, элементы массивов, указатели функций, выражения, описания, примечания и операторы. Предусмотрено несколько основных типов операторов: оператор присваивания, оператор перехода, условный оператор, к-рый в зависимости от значения входящего в него логич. выражения выбирает для выполнения один из содержащихся в нем внутренних операторов, и оператор цикла. Группа операторов может быть объединена в составной оператор или в блок, содержащий описания. В запись алгоритма на А. могут быть включены описания процедур. Описание процедуры состоит из заголовка и тела. Тело процедуры может представлять собой оператор (чаще всего блок), записанный по обычным правилам А. Для придания языку А. большей гибкости допускается применение процедур, описанных на к.-л. другом языке (напр., на машинном языке). Процедуру можно вызвать с помощью оператора процедуры, состоящего из идентификатора процедуры и списка фактич. параметров, к-рые соответствуют формальным параметрам, предусмотренным в заголовке процедуры с данным идентификатором. Выражение может содержать указатель функции, означающий вызов процедуры, предназначенной для вычисления одной величины. Допускается рекурсивный вызов процедур, т. е. такой вызов, при к-ром в процессе выполнения процедуры происходит вызов той же процедуры. В конкретных представлениях А. часто сокращаются языковые возможности, имеющиеся в эталонном А. С целью унификации таких сокращений разработан алгоритмич. язык, наз. подмножеством алгол-60 и представляющий собой упрощенный вариант эталонного А., из к-рого исключены возможности, вызывающие особые трудности при разработке трансляторов для небольших машин. В качестве преемника алгола-60 был предложен язык алгол-68, к-рый существенно отличается по структуре от алгола-60, содержит много новых понятий и возможностей и рассчитан на более мощные машины.

Лит.:[1] Алгоритмический язык АЛГОЛ-60, пер. с англ., М., 1965; [2] Лавров С. С, Универсальный язык программирования (АЛГОЛ-60), 2 изд., М., 1967; [3] Ван Вейнгаарден А. [и др.]. Сообщение об алгоритмическом языке АЛГОЛ-68, «Кибернетика», 1969, № 6, с. 23Ч145; 1970, № 1, с. 13 Ч 160. 

 В. В. М артынюк.

Математическая энциклопедия. — М.: Советская энциклопедия 1977—1985