Альфа-язык

Альфа-язык — расширенный диалект языка программирования Algol 60. Разработан в СССР в 1960-х гг под руководством Андрея Петровича Ершова.

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

История создания

В дневнике Ершова сохранилась запись от 7 сентября 1958 года, помеченная им, как начало α-транслятора. При проектировании языка он отталкивался от идеи дать как можно более естественную форму для выражения алгоритмов вычислительной математики, которой руководствовались создатели Алгола (предварительная версия которого была опубликована в 1958). После публикации «Сообщении об алгоритмическом языке Алгол 60» было принято решение удалить все несущественные различия из проекта альфа-языка (известного тогда под неформальным названием сибирский), сделав его расширением Алгола-60[1].

Расширения

Комплексные числа

Для описания комплексных переменных использовалось ключевое слово комплексный. С комплексными числами работают все арифметические операции и большинство математических функций (sqrt, ln, exp, sin, cos, tan, sh, ch, th, arctan, arth, arcsin, arccos, arsh, arch) и операции сравнения на равенство и неравенство. Функции, являющиеся для комплексных аргументов многозначными, такие как квадратный корень или логарифм, вычисляют главное значение[2].

Многомерные значения и переменные

Для описания многомерных переменных (которые различаются от стандартных массивов Алгола) используется форма, вроде вещественный А — массив 2×3×5; , вместо ключевого слова массив, для более естественной записи, можно использовать ключевые слова вектор и матрица. Если a — двумерная матрица, то a [i,] будет обращением к её i-й строке, a [,j] — к j-му столбцу, а a [,] — ко всей матрице[3].

В отличие от массивов алгола, над многомерными значениями можно выполнять все арифметические и логические операции и стандартные функции. Арифметические операции +, -, /, ÷, (при возведении в нецелую степень) выполняются покомпонентно[4].

Примечания

  1. Ирина Крайнева, Наталья Черемных. Альфа-язык и транслятор // Открытые системы. — 2014. № 6.
  2. Аникеева, 1979, 2.1. Комплексные величины и действия над ними, с. 13-16.
  3. Аникеева, 1979, 2.2. Многомерные значения и переменные, с. 16-21.
  4. Аникеева, 1979, 2.2. Операции над многомерными массивами, с. 21-23.

Литература

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.