Научная литература
booksshare.net -> Добавить материал -> Математика -> Александров А.Д. -> "Математика ее содержание, методы и значение Том 2" -> 141

Математика ее содержание, методы и значение Том 2 - Александров А.Д.

Александров А.Д. Математика ее содержание, методы и значение Том 2 — Москва, 1956. — 397 c.
Скачать (прямая ссылка): matemateesoderjaniemetodiiznachenie1956.djvu
Предыдущая << 1 .. 135 136 137 138 139 140 < 141 > 142 143 144 145 146 147 .. 157 >> Следующая


Коды команд, так же как и коды чисел, хранятся в запоминающем устройстве машины и следуют один за другим в порядке их номеров, если только нет указания об изменении хода вычислений (например, при операции сравнения).

Рассмотрим, -как будет выглядеть программа вычислений для рассмотренного выше примера. Примем следующее распределение кодов чисел в ячейках запоминающего устройства: § 2. Программирование и кодирование

359

Величина ah в 11-й ячейке

» h в 12-й »

» хп в 13-й »

» хв 14-й »

» у в 15-й »

Оперативная ячейка 1 — 16-я.

В соответствии с предыдущей таблицей получим следующую программу вычислений (табл. 2).

Таблица 2

Программа вычислений для решения уравнения (1) методом Эйлера

Код команды
№ команды код операции 1-й адрес 2-й адрес 3-й адрес Примечание
1 Умножение 11 15 16 Ayk=, (Oh)Vf.
2 Сложение 15 16 15 Уіі+l =Ук+Ьук
3 Сложение 14 12 14 хк+1 = xk + h
4 Печать 14 — 1 Печатать хк+1 в 1-м печатном
5 Печать 15 — 2 устройстве Печатать ук+1 во 2-м печатном
6 Сравнение 14 . 13 1 устройстве Если ж < хк, то переход к команде № 1; если X > хк, то переход к следующей команде, т. е. к команде № 7
7 Остановка — — — Окончание вычислений

Коды команд хранятся в запоминающем устройстве (для рассматриваемого примера с 1-й ячейки по 7-ю). В устройство управления машиной поступает команда, хранящаяся в 1-й ячейке запоминающего устройства. В соответствии с этой командой производится умножение числа, находящегося в 11-й ячейке, на число в 15-й, т. е. подсчиты-вается величина &yk — (ah)yk. Полученный результат направляется в оперативную 16-ю ячейку. По выполнении этой операции в устройство управления поступает команда из следующей по номеру ячейки запоминающего устройства, т. е. из 2-й ячейки. По этой команде находится величина yk+1 = ук &ук, которая направляется вместо прежнего значения у, т; е. в 15-ю ячейку. Аналогично, но 3-й команде находится новое значение х; 4-я и 5-я команды осуществляют печать вновь

1 Оперативными называют ячейки, в которых размещаются получаемые в ходе вычисления промежуточные величины. S 64

Глава XIV. Электронные вычислительные машины

полученных значений х и у\ 6-я команда определяет дальнейший ход вычислительного процесса. По этой команде производится сравнение числа, находящегося в 14-й ячейке, с числом в 13-й ячейке, т. е. сравнивается полученное значение хк+1 с конечным значением Xn. Если хк+1 хп, то необходимо повторить вычисления для следующего интервала, т. е. вернуться к начальной, в данном случае 1-й команде. Номер этой команды, к которой следует перейти, если первое число меньше второго, указывается в 3-м адресе команды сравнения. Если же расчеты произведены до значения хк+1^ хп, то команда сравнения вызовет переход к следующей по номеру команде, т. е. к 7-й, которая остановит процесс вычислений.

Перед началом вычислений в запоминающее устройство должны быть введены коды команд (в ячейки 1—7), коды постоянных (в ячейки 11—13), а также начальные данные, т. е. значения х0 и у0 (в ячейки 14 и 15).

По выполнении расчетов для первого интервала в 14-й и 15-й ячейках вместо величин х0 и у0 будут уже находиться X1 и yv т. е. значения переменных для начала следующего интервала. Таким образом, при повторении тех же самых команд программы будут произведены вычисления для следующего интервала и т. д.

Рассмотренный пример показывает, что, благодаря циклическому повторению ряда команд, можно при сравнительно небольшой программе выполнить большой объем вычислений. Метод циклического повторения отдельных участков программы широко используется при программировании решения задач.

3. Другой распространенный метод, позволяющий существенно сократить объем программы, сводится к автоматическому изменению адресов некоторых команд. Поясним сущность этого метода на примере подсчета многочлена.

Пусть требуется подсчитать значепие многочлена:

у = а0хв A1X3 4- а2х1 а3х3 я4х2 аьх я6.

При вычислении на машине этот многочлен удобнее представить в виде У = (((((V + ai)х + я2)х + аз)х + ai) х + а6) X -+- я6.

Пусть значения коэффициентов я0,. . ., а6 располагаются в ячейках 20—26, а значение х в 31-й ячейке запомипающего устройства. Программа вычислений, составленная тривиальным способом, дана в табл. 3.

Как видно, в программе имеется чередование операций умножения и сложения. Все команды умножения, за исключением 1-й, совершенно одинаковы: надо помножить число, хранящееся в 27-й ячейке, на число, хранящееся в 31-й, и результат направить в 27-ю ячейку. Все команды сложения имеют одинаковые 1-й и 3-й адреса. Номера же ячеек во § 2. Программирование и кодирование

361

Таблица 3

Программа вычислений многочлена

Код команды
№ команды код операции 1-й адрес 2-й адрес 3-й адрес Примечание
1 Умножение 20 31 27 OQX
2 Сложение 27 21 27 aOx 4" Ч
3 Умножение 27 31 27 (айх 4- а{)х
4 Сложение 27 22 27 (а0х -f- at)x -f- а2
5 Умножение 27 31 27 ((а0х -f- at)x -f- а2)х
6 Сложение 27 23 27 ai)xJr вг)»+ аз
7 Умножение 27 31 27 (((а0х + 4- аг)х + а3)х
Предыдущая << 1 .. 135 136 137 138 139 140 < 141 > 142 143 144 145 146 147 .. 157 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed