Cтраница 3
В настоящее время разработано несколько сотен языков высокого уровня и еще больше трансляторов с них для различных машин, однако всемирное признание получили лишь немногие. Этот язык был создан для решения научных и инженерных задач, которые могут быть записаны набором арифметических формул и логических условий. Современные версии ФОРТРАНа представляют собой мощный и хорошо развитый язык, удобный для проведения различных расчетов, и трансляторы с ФОРТРАНа разработаны почти для всех ЭВМ. Однако ФОРТРАН имеет ряд недостатков, начиная от некоторых ограничений в использовании и написании операторов ФОРТРАНа и кончая невозможностью эффективно управлять распределением памяти. [31]
Таким образом, в противоположность финитным формальным системам К-системы достаточны для представления интуитивной неформальной арифметики. При этом, из непротиворечивости К-систем и полноты множества АО следует непротиворечивость и полнота неформальной арифметики - всякая замкнутая арифметическая формула либо истинна, либо ложна. [32]
По сравнению с определением § 17, пункт 1 прежнего определения заменен новым пунктом 1, а пункты 6 - 7 откинуты. Если будет желательно проводить различия между обоими понятиями формулы, мы будем называть формулы в смысле § 17 арифметическими формулами, а формулы в только что введенном смысле - формулами исчисления высказываний, или пропозициональными формулами. [33]
Статью Об использовании классических исчислений для установления конструктивной истинности следует рассматривать в свете дискуссии о подходах А. А. Маркова к построению конструктивной семантики негативных ( то есть не содержащих V, 3) арифметических предложений. Отсюда он получает, что для всякой формальной теории Т, которая содержит арифметику первого порядка и остается непротиворечивой после добавления омега-правила, все негативные арифметические формулы, выводимые в Т, конструктивно истинны. [34]
![]() |
Дерево вывода формулы а - Ь - с в грамматике (. [35] |
Заметим, однако, что при этом основное достоинство рекурсивной реализации - простая связь грамматики и программы - будет потеряно, Поэтому мы сначала изменим форму описания языка и лишь потом переделаем компилятор в соответствии с новым описанием языка правильных арифметических формул. [36]
Оценим класс предикатов, который определим с ее помощью. Предикаты уровня I определяются арифметическими формулами, содержащими кванторы только по натуральным числам ( кванторы уровня 0), но не по предикатам. [37]
Мы уже составляли по формуле соответствующую программу для Стекового калькулятора ( разд. Теперь напишем программу, которая делает это для любойформулы автоматически. Такая программа называется компилятором ( переводчиком) с языка арифметических формул на язык программ для Стекового калькулятора. [38]
Наборы стандартных типов операторов различны для различных ПП. Так ПП-С [37], составленная для машины Стрела, предусматривает в качестве стандартных операторов арифметические, логические, переадресации, восстановления, операторы стандартные подпрограммы и допускает нестандартные операторы. ПП Фортран предусматривает тридцать два типа стандартных операторов: оператор арифметическая формула ( частный случай арифметического оператора), пятнадцать операторов управления ( различные условные и безусловные переходы, останов, повторение группы операторов), тринадцать операторов переноса ( различных видов ввода и вывода) и три оператора спецификации, которые собственно являются не операторами, а блоками информации, необходимой для обеспечения высокого качества составляемых программ. [39]
Наборы стандартных типов операторов-различны для различных ПП. Так ПП-С [30], составленная для машины Стрела предусматривает в качестве стандартных операторов арифметические, логические, переадресации, восстановления, операторы стандартные подпрограммы и допускает нестандартные операторы. ПП Фортран предусматривает тридцать два типа стандартных операторов: оператор арифметическая формула ( частный случай арифметического оператора), пятнадцать операторов управления ( различные условные и безусловные переходы, останов, повторение группы операторов), тринадцать операторов переноса ( различных видов ввода и вывода) и три оператора спецификации, которые собственно являются не операторами, а блоками информации, необходимой для обеспечения высокого качества составляемых программ. [40]
Можно считать, что надежный финитный смысл могут иметь только арифметические суждения ограниченной сложности. Особенно интересно рассмотреть здесь крайний случай, когда приемлемыми считаются лишь бескванторные арифметические формулы. В качестве формальной теории тогда следует рассмотреть теорию PRA - примитивно рекурсивную арифметику, бескванторный фрагмент теории НА. С другой стороны, можно пытаться расширять НА, сохраняя ее финитный и нейтральный характер, например, таким образом, чтобы иметь возможность вывести непротиворечивость НА в расширенной теории. Однако в этом параграфе мы будем считать базисными именно выводы в НА, отождествляя такие выводы с финитными выводами. [41]
Порядок применения операций в бесскобочной записи формулы удобно описывается словесно. В нашем примере формула в бесскобочной записи может быть прочитана так: разность между произведением суммы а и Ь на с и произведением а на сумму Ь я с. Заметим, что принятое нами определение записи формул со скобками приводит к более громоздким выражениям, чем обычные правила записи арифметических формул. Зато формулы по определению, сформулированному выше, более просты для анализа и построения алгоритма перевода в запись без скобок. [42]
Каким образом Вы узнаете, что достигнута следующая позиция табуляции. Одна из возможностей состоит в том, чтобы встроить в основную программу сведения о том, что табуляция установлена в каждой четвертой колонке; после этого достаточно арифметической проверки, чтобы определить, является ли текущая колонка позицией табуляции. Трудности в этом случае возникают тогда, когда решают изменить программу, возможно, затем, чтобы разрешить устанавливать символ табуляции на позициях, которые не относятся к простой арифметической формуле. Если решение каждая четвертая колонка прочно установилось в программе, то будет довольно трудно вытеснить его. [43]