|
Прежде всего нужно распределить память. Предположим, для примера, что адреса переменных и констант выбраны следующим образом; Пусть далее программа размещается, начиная с ячейки Р1 = 0420, коэффициенты полинома at размещены в ячейках от а = 3100 и далее, и, наконец, пусть степень полинома п равна 1010 = 128. После этого никакой сложности не представляет переписать все команды и константы программы в восьмеричном виде, кроме переменной команды р (очевидно, р == 0424). Но с ней дело обстоит особенно просто именно потому, что эта команда — переменная. Что бы мы ни написали на ее месте, другими словами, что бы мы ни поместили в ячейку р перед началом работы цикла, команда PI + 1 зашлет в эту ячейку заготовку г, сформировав нужное начальное значение переменной команды, и дальше она (эта команда) будет изменяться в соответствии с нашими потребностями. Поэтому при переписывании программы из символических обозначений в восьмеричные можно ячейку р заполнить хотя бы нулями. Программа примет вид: Упражнение 1. Чтобы оценить удобство символических обозначений и роль покомандных примечаний к программам, попробуйте разобраться в том, что делает программа Представим себе, что зависимость у{ от X; была бы более сложной и в соответствующей программе адрес переменной X; (т. е. х + I) пришлось бы употребить много раз. Тогда потребовалось бы написать очень много команд формирования и переадресации переменных команд и использовать много заготовок. Оказывается, без этого можно обойтись, если алгоритм такой задачи написать в виде. Здесь понадобятся лишь две переменные команды, реализующие присваивания и : = xt и уь : = v, и соответственно по две команды и константы формирования и переадресации, т. е. столько же, сколько их было в программе 5. Упражнение 2. Написать программу, реализующую алгоритм С, предполагая, что для вычисления / (и) составлена отдельная подпрограмма, обратиться к которой можно с помощью команды ПВ (см. пример 6.4.1).
|