Cтраница 4
Намеченная выше алгебра программ потребует большой работы для распространения ее на более обширные классы или уравнения и для обобщения ее законов и теорем за рамки приведенных здесь элементарных случаев. Было бы интересна исследовать алгебру для ФП-подобной системы, в которой конструктор последовательности не сохраняет L ( закон 1.5 становится более сильным, но теряется IV. Другие интересные проблемы состоят в том, чтобы ( а) найти правила обеспечения однозначности разложений, задав канонические формы для функций; ( б) найти алгоритмы разложения и анализа поведения функций для различных классов аргументов и ( в) исследовать способы использования законов и теорем алгебры в качестве основных правил либо для схемы формального, умозрительного ленивого вычисления [9, 10], либо для схемы, работающей в процессе выполнения алгоритма. [46]
Во время режима умножения с двойной точностью специальные регистры для других целей использовать не следует. При этом могут использоваться все операции АЛУ данных и даже указанные операции, но с другими комбинациями регистров. Алгоритм умножения с двойной точностью использует регистр Y0 на всех стадиях. Поэтому его содержимое не следует изменять в процессе выполнения алгоритма. Если в процедуре обслуживания прерывания требуется использование АЛУ данных, то содержимое Y0 необходимо сохранить вместе с содержимым других используемых регистров АЛУ данных и восстановить перед выходом из процедуры прерывания. DM очищается во время процессорного сброса. [47]
Для обозначения объектов алгоритмического языка используется широко распространенное в математике понятие переменной величины. Однако по существу своему переменные алгоритмических языков отличаются от переменных, которыми мы оперируем, например, в алгебре. Когда мы употребляем переменную в алгебре, то имеем в виду, что она будет иметь определенное значение, которого мы еще не знаем. В то же время в алгоритмическом языке каждая переменная в процессе выполнения алгоритма может последовательно принимать разные значения. [48]
Электронная вычислительная машина предназначена для решения задач. Она может выполнить это только в том случае, когда в нее вводится совокупность точно сформулированных правил, которые позволяют решать данную задачу. Набор команд вычислительной машины, описывающий процесс выполнения алгоритма, называется программой. Алгоритмы, которые обычно описываются в терминах вычислительных и логических операций или передач управления, фактически образуют последовательность преобразований входных данных. [49]
Благодаря наличию операторов ввода мы получаем возможность писать на алголе программы многократного использования, которые можно применять к различным начальным данным, присваивая переменным новые значения, вводимые извне. Без этих операторов программа при каждом ее использовании применяется к одним и тем же начальным данным ( задаваемым числами в тексте алгол-программы) и поэтому выполняет одну и ту же работу, так что, использовав один раз, ее можно было бы выбрасывать за ненадобностью. Ввод данных обеспечивает возможность многократного использования алгол-программы подобно тому, как многократное использование машин Тьюринга и нормальных алгоритмов Маркова обеспечивается возможностью применять эти алгоритмические схемы к различным словам. Эти слова задаются извне до начала работы алгоритма и в преобразованном виде остаются после завершения работы алгоритма. Отличие алгола состоит в том, что он позволяет производить ввод и вывод в процессе выполнения алгоритма. [50]