Cтраница 2
Нетрудно убедиться, что только что написанная программа компактнее и нагляднее предыдущего варианта. [16]
Изменить, если необходимо, ранее написанные программы измерений, чтобы с их помощью можно было идентифицировать либо набор данных, либо устройство. [17]
Возникает вопрос, нельзя ли сократить написанную программу, применив восстановление команд. Оказывается, нет, - в этом случае зависимость верхней границы значения / от параметра I препятствует сокращению. Полное изменение переменных команд в цикле по / зависит от значения i, значит, должны зависеть от t и константы восстановления. Их, в свою очередь, нужно переадресовывать во внешнем цикле. Число команд в программе применением восстановления сократить не удается. [18]
Возникает вопрос, нельзя ли сократить написанную программу, применив восстановление команд. Оказывается, нет, - в этом случае зависимость верхней границы значения / от параметра i препятствует сокращению. Полное изменение переменных команд в цикле по / зависит от значения t, значит, должны зависеть от t и константы восстановления. Их, в свою очередь, нужно переадресовывать во внешнем цикле. Число команд в программе применением восстановления сократить не удается. [19]
Устраняется возможность подгонки тестов к уже написанной программе. Уменьшается возможность внесения одних и тех же упущений или ошибок и в программу, и в тестовые данные. [20]
Теперь, когда мы уже располагаем написанной программой TRANSLATE, следует пересмотреть блок-схему на рис. 8.5. Например, с помощью TRANSLATE нельзя выполнить перевод дробной части NUMBER, поскольку эта программа работает только для целых чисел. [21]
Для того чтобы гарантировать правильное выполнение уже написанных программ в тех случаях, когда установлены новые средства, которые используют дополнительные биты управляющих регистров, во все неиспользуемые биты этих регистров следует записывать нули. Хотя в некоторых моделях процессоров команда ЗАПИСЬ В ПАМЯТЬ УПРАВЛЕНИЯ и обеспечивает запись нулей в позиции, соответствующие неиспользуемым битам управляющих регистров, программа не должна зависеть от выполнения этой операции. [22]
Таким образом достигается почти полная машинная независимость написанных программ. [23]
Этот этап состоит в том, что написанную программу пропускают через машину. [24]
Вторая задача возникает в том случае, когда написанные программы и соответственно таблицы содержат большое количество логических условий и действий и число возможных ошибок относительно велико. [25]
![]() |
Запись чисел в десятичном, двоичном и шестнадцатеричном кодах. [26] |
Недостатки такого способа составления программы очевидны: трудно запомнить коды операций, написанная программа плохо воспринимается, при составлении и вводе программы возможны ошибки. Некоторое упрощение написания программ дает использование шестнадцатеричнои системы счисления. Она содержит 16 символов, каждому из которых соответствует четырехразрядное число в двоичном коде. [27]
Недостатки такого способа составления программы очевидны: трудно запомнить коды операций, написанная программа плохо воспринимается, при составлении и вводе программы возможны ошибки. Некоторое упрощение написания программ дает использование шестнадцатеричной системы счисления. Она содержит 16 символов, каждому из которых соответствует четырехразрядное число в двоичном коде. [28]
Заметьте, что целый фрагмент нашей системы был разработан ранее и только что написанная программа, без сомнения, может применяться в последующих разработках при самых незначительных корректировках. Однако система вызова подпрограмм может потребовать более коренной переделки, так как взаимосвязь основных функций, конечно, определяется конкретным приложением. [29]
Вероятно, вы уже убедились, что после ввода в вычислительную машину даже тщательно написанной программы часто возникают недоразумения. Иногда их причиной оказывается опечатка. Также могут встречаться логические ошибки или нарушения правил языка АПЛ. Так или иначе, но ошибки практически неизбежны. [30]