Простейший язык программирования
Простейший язык включает всего два оператора присваивания, каждый из которых тем или иным образом модифицирует значение указанной в этом операторе переменной. Эти операторы взаимно противоположны по выполняемым действиям и имеют следующий синтаксис:
inc Имя;
dec Имя;
И в этом случае параметр Имя представляет собой любое допустимое имя переменной. Первый из представленных операторов выполняет увеличение связанного с указанной переменной значения. Здесь термин увеличение [increment] предполагает представление комбинации двоичных разрядов как числового значения в двоичной системе счисления и означает замену этого значения другой комбинацией битов, представляющей следующее по величине число. В противоположность этому, оператор deс[decrement] используется для уменьшения значения, связанного с указанной переменной, или, другими словами, для уменьшения представленного ей значения на единицу. Исключением является случай, когда связанное с переменной значение уже.
Рассматриваемый язык содержит всего одну управляющую структуру, представленную парой операторов while-do, имеющей следующий синтаксис:
while Имя not 0 do {
...
...
...
}
Здесь параметр Имя представляет собой любое допустимое имя переменной. Указанная выше синтаксическая конструкция будет вызывать повторение любой последовательности операторов, помещенных в фигурные скобки, пока значение переменной Имя не станет равным нулю.
Программы, написанные на простейшем языке, завершаются при достижении конца списка команд. Пример программы, предназначенной для вычисления произведения значений переменных X на У, которое присваивается переменной Z, приведен ниже.
while Z not 0 do {dec Z}
while X not 0 do {
while W not 0 do {dec W}
while Y not 0 do {
inc Z;
inc W;
dec Y;
}
while W not 0 do {
inc Y;
dec W;
}
dec X;
}
Любая вычислимая по Тьюрингу функция может быть вычислена с помощью программы, написанной на описанном простейшем языке. Согласно Тьюрингу с помощью написанной на этом языке программы может быть вычислена любая вычислимая функция. Таким образом, данный простейший язык программирования является универсальным в том смысле, что если алгоритм для решения задачи существует, то эта задача может быть решена с помощью программы на простейшем языке.