ГЛАВА II ЯЗЫК АЛГЕБРЫ. Быстродействующие вычислительные машины.
ЗАНИМАТЕЛЬНАЯ АЛГЕБРА Я. И. Перельман ИЗДАНИЕ ДВЕНАДЦАТОЕ СТЕРЕОТИПНОЕ
Под редакцией и с дополнениями В. Г. Болтянского
Скачать 11-ое издание ЗАНИМАТЕЛЬНАЯ АЛГЕБРА Я. И. Перельман в формате PDF в хорошем качестве, но без возможности каптирования на Главной странице ЗАНИМАТЕЛЬНАЯ АЛГЕБРА Я. И. Перельман.
Текст для быстрого ознакомления (формулы и чертежи могут отображаться не точно). Качественнее отображаются в PDF файле выше):
Быстродействующие вычислительные машины
Беседа об уравнениях в плане «Занимательной ал-
гебры» не может пройти мимо решения уравнений на
вычислительных машинах. Мы уже говорили о том,
что вычислительные машины могут «играть» в шах-
маты (или шашки). Математические машины могут
выполнять и другие задания, например, перевод с од-
ного языка на другой, оркестровку музыкальной ме-
лодии и т.д. Нужно только разработать соответствую-
щую «программу», по которой машина будет действо-
вать.
Конечно, мы не будем рассматривать здесь «про-
граммы» для игры в шахматы или для перевода с од*
ного языка на другой: эти «программы» крайне слож-
ны. Мы разберем лишь две очень простенькие «про-
граммы». Однако вначале нужно сказать несколько
слов об устройстве вычислительной машины.
Выше (в гл. I) мы говорили об устройствах, кото-
рые позволяют производить многие тысячи вычисле-
ний в секунду. Эта часть вычислительной машины,
служащая для непосредственного выполнения дей-
ствий, называется арифметическим устрой-
ством. Кроме того, машина содержит управляю-
щее устройство (регулирующее работу всей ма-
шины) и так называемую память. Память, или,
иначе, запоминающее устройство, представляет собой
хранилище для чисел и условных сигналов. Наконец,
машина снабжена особыми устройствами для ввода
новых цифровых данных и для выдачи готовых ре-
зультатов. Эти готовые результаты машина печата-
ет (уже в десятичной системе) на специальных кар-
точках.
Всем хорошо известно, что звук можно записать
на пластинку или на пленку и затем воспроизвести.
Но запись звука на пластинку может быть произве-
дена лишь один раз: для новой записи нужна уже
новая пластинка. Несколько иначе осуществляется
запись звука в магнитофоне: при помощи намагничи-
вания особой ленты. Записанный звук можно воспро-
извести нужное число раз, а если запись оказалась
уже ненужной, ее можно «стереть» и произвести на
той же ленте новую запись. На одной и той же ленте
стр. 69 Быстродействующие вычислительные машины.
можно произвести одну за другой несколько записей,
причем при каждой новой записи предыдущая «сти-
рается».
На подобном же принципе основано действие за-
поминающих устройств. Числа и условные сигналы
записываются (при помоши электрических, магнит-
ных или механических сигналов) на специальном ба*
рабане, ленте или другом устройстве. В нужный
момент записанное число может быть «прочтено», а
если оно уже больше не нужно, то его можно стереть,
а на его месте записать другое число. «Запоминание»
и «чтение» числа или условного сигнала длятся всего
лишь миллионные доли секунды.
«Память» может содержать несколько тысяч я ч е-
к, каждая ячейка — несколько десятков элементов,
например магнитных. Для записи чисел по двоичной
системе счисления условимся считать, что каждый
намагниченный элемент изображает цифру 1, а нена-
магниченный — цифру 0. Пусть, например, каждая
ячейка памяти содержит 25 элементов (или, как го-
ворят, 25 «двоичных разрядов», причем первый эле-
мент ячейки служит для обозначения знака числа
(+ или —), следующие 14 разрядов служат для за-
писи целой части числа, а последние 10 разрядов —¦
для записи дробной части. На рис. 11 схематически
изображены две ячейки памяти; в каждой по 25 раз-
рядов. Намагниченные элементы обозначены знаком
+, ненамагииченные обозначены знаком —. Рассмо-
трим верхнюю из изображенных ячеек (запятая по-
казывает, где начинается дробная часть числа, а пунк-
тирная линия отделяет первый разряд, служащий для
записи знака, от остальных). В ней записано (вдво-
ичной системе счисления) число +1011,01 или — в
привычной для нас десятичной системе счисления —¦
число 11,25.
Кроме чисел в ячейках памяти записываются при-
казы, из которых состоит программа. Рассмотрим,
как выглядят приказы для так называемой трех-
адресной машины. В этом случае при записи при-
каза ячейка памяти разбивается на 4 части (пунктир-
ные линии на нижней ячейке, рис. 11). Первая часть
служит для обозначения операции, причем операции
записываются числами (номерами).
стр. 70 Быстродействующие вычислительные машины.
Например,
сложение —операция 1,
вычитание — операция 2,
умножение — операция 3 и т. д.
Приказы расшифровываются так: первая часть
ячейки — номер операции, вторая и третья части —
номера ячеек (адреса), из которых надо взять числа
для выполнения этой операции, четвертая часть —
номер ячейки (адрес), куда следует отправить по*
лученный результат. Например, на рис. 11 (нижняя
строка) записаны в двоичной системе числа II, 11,
111, 1011 или в десятичной системе: 3, 3, 7, 11, что
означает следующий приказ: выполнить операцию 3
(т. е. умножение) над числами, находящимися в
третьей и седьмой ячейках памяти, а получен-
ный результат «запомнить» (т. е. записать) в один-
надцатой ячейке.
В дальнейшем мы будем записывать числа и при-
казы не условными значками, как на рис. II, а прямо
в»десятичной системе счисления. Например, приказ,
изображенный в нижней строке рис. II, запишется
так:
умножение 3 7 II
Рассмотрим теперь два простеньких примера про-
грамм.
Программа 1
1) сложение 4 5 4
2) умножение 4 4—>
3) п. у. 1
4) 0
5) 1
стр. 71 Быстродействующие вычислительные машины.
которой в первых пяти ячейках записаны эти данные.
1-й приказ: сложить числа, записанные в 4-й и
5-й ячейках, и отправить результат снова в 4-го ячей-
ку (вместо того, что там было записано ранее). Таким
образом, машина запишет в 4-ю ячейку число 0+1 = 1.
После выполнения 1-го приказа в 4-й и 5-й ячейках
будут следующие числа:
4) 1,
5) 1.
2-й приказ: умножить число, имеющееся в 4-й
ячейке, на себя (т. е. возвести его в квадрат) и ре-
зультат, т. е. I2, выписать на карточку (стрелка озна-
чает выдачу готового результата).
3-й приказ: передача управления в 1-ю
ячейку. Иначе говоря, приказ п. у. означает, что надо
снова по порядку выполнять все приказы, начиная с
1-го. Итак, снова 1-й приказ.
1-й приказ: сложить числа, имеющиеся в 4-й и
5-й ячейках, и результат снова записать в 4-й ячейке.
В результате в 4-й ячейке будет число 1 + 1 = 2:
4) 2,
5) 1.
2-й приказ: возвысить в квадрат число, стоящее
в 4-й ячейке, и полученный результат, т. е. 22, выпи-
сать на карточку (стрелка — выдача результата).
3-й приказ: передача у п р а в л е н и я в пер-
вую ячейку (т. е. опять переход к 1-му приказу).
1-й приказ: число 2+1=3 отправить в 4-ю
ячейку:
4) 3,
5) 1.
2-й приказ: выписать на карточку число З2.
3-й приказ: передача управления в 1-ю ячейку и
т. д.
Мы видим, что машина вычисляет один за другим
квадраты целых чисел и выписывает их на
карточку. Заметьте, что каждый раз набирать новое
число вручную не надо: машина сама перебирает под-
ряд целые числа и возводит их в квадрат. Действуя
стр. 72 Быстродействующие вычислительные машины.
по этой программе, машина вычислит квадраты всех
целых чисел, скажем, от 1 до 10 000 в течение несколь-
ких секунд (или даже долей секунды).
Следует отметить, что в действительности про-
грамма для вычисления квадратов целых чисел
должна быть несколько сложнее той, которая приве-
дена выше. Это прежде всего относится ко 2-му при-
казу. Дело в том, что выписывание готового резуль-
тата’ на карточку требует во много раз больше вре-
мени, чем выполнение машиной одной операции.
Поэтому готовые результаты сначала «запоминаются»
в свободных ячейках «памяти», а уже после этого
(«не спеша») выписываются на карточку. Таким об-
разом, первый окончательный результат должен «за-
поминаться» в 1-й свободной ячейке «памяти», вто-
рой результат — во 2-й свободной ячейке, третий —
в 3-й и т. д. В приведенной выше упрощенной про-
грамме это никак не было учтено.
Кроме того, машина не может долго заниматься
вычислением квадратов — не хватит ячеек «памяти»,—
а «угадать», когда машина уже вычислила нужное
нам число квадратов, чтобы в этот момент выклю-
чить ее, — невозможно (ведь машина производит
многие тысячи операций в секунду!). Поэтому преду-
смотрены особые приказы для остановки машины в
нужный момент. Например, программа может быть со-
ставлена таким образом, что машина вычислит ква-
драты всех целых чисел от 1 до 10 000 и после этого
автоматически выключится.
Есть и другие более сложные виды приказов, на
которых мы здесь для простоты не останавливаемся.
Вот как выглядит в действительности программа
для вычисления квадратов всех целых чисел от 1 до
10000:
Программа 1а
1) сложение 8 9 8
2) умножение 8 8 10
3) сложение 2 6 2
4) у. п. у. 8 7 1
5) стоп
6) 0 0 1
7) 10000
стр. 73 Быстродействующие вычислительные машины.
8) О
9) 1
10) 0
11) 0
12) 0
Первые два приказа мало отличаются от тех, ко-
торые были в предыдущей упрощенной программе.
После выполнения этих двух приказов в 8-й, 9-й и
10-й ячейках будут следующие числа:
8) 1
9) 1
10) I2
Третий приказ очень интересен: надо сложить
то, что стоит во 2-й и 6-й ячейках, и результаты сно-
ва записать во 2-й ячейке, после чего 2-я ячейка будет
иметь вид
2) умножение 8 8 11.
Как видите, после выполнения третьего приказа м е-
няется второй приказ, вернее меняется один
из адресов 2-го приказа. Ниже мы выясним, для
чего это делается.
Четвертый приказ: условная передача
управления (вместо 3-го приказа в рассмотренной
ранее программе). Этот приказ выполняется так: если
число, стоящее в 8-й ячейке, меньше числа, стоя*
щего в 7-й ячейке, то передается управление в 1-ю
ячейку; в противном случае выполняется следующий
(т. е. 5-й) приказ. В нашем случае действительно
К10 000, так что происходит передача управления в
1-ю ячейку. Итак, снова 1-й приказ.
После выполнения 1-го приказа в 8-й ячейке будет
число 2.
Второй приказ, который теперь имеет вид
2) умножение 8 8 II,
заключается в том, что число 22 направляется в 11-ю
ячейку. Теперь ясно, зачем был выполнен ранее 3-й
приказ: новое число, т. е. 22, должно попасть не в
10-ю ячейку, которая уже занята, а в следующую,
стр. 74 Быстродействующие вычислительные машины.
После выполнения 1-го и 2-го приказов у нас будет
следующие числа:
8) 2
9) 1
10) I2
11) 22
После выполнения 3-го приказа 2-я ячейка примет
вид
2) умножение 8 8 12,
т. е. машина «подготовилась» к тому, чтобы записать
новый результат в следующую, 12-ю ячейку. Так как
в 8-й ячейке все еще стоит меньшее число, чем в 9-й
ячейке, то 4-й приказ означает снова передачу упра-
вления в 1-ю ячейку.
Теперь после выполнения 1-го и 2-го приказов по-
лучим:
8) 3
9) 1
10) Р
11) 22
12) З2
До каких пор машина будет по этой программе
вычислять квадраты? До тех пор, пока в 8-й ячейке
не появится число 10000, т.е. пока не будут вычислены
квадраты чисел от 1 до 10 000. После этого 4-й приказ
уже не передаст управления в 1-ю ячейку (так как в
8-й ячейке будет стоять число, не меньшее, а равное
числу, стоящему в 7-й ячейке), т. е. после 4-го при-
каза машина выполнит 5-й приказ: остановится (вы-
ключится).
Рассмотрим теперь более сложный пример про-
граммы: решение систем уравнений. При этом мы
рассмотрим упрощенную программу. При желании
читатель сам подумает о том, как должна выглядеть
такая программа в полном виде.
Пусть задана система уравнений
стр. 75 Быстродействующие вычислительные машины.
Для решения такой системы (с заданными числовыми
значениями коэффициентов а, Ъ, с, й, е, f) вам потре-
буется, вероятно, несколько десятков секунд. Машина
же может решить в секунду тысячи таких систем.
Рассмотрим соответствующую программу. Будем
считать, что даны сразу несколько систем:
1-й приказ: составить произведение чисел, стоя-
щих в 28-й и 30-й ячейках, и направить результат в
20-ю ячейку. Иначе говоря, в 20-й ячейке будет запи-
сано число се.
стр. 76 Быстродействующие вычислительные машины.
Аналогично выполняются приказы 2-й — 6-oй. Пос-
ле их выполнения в ячейках 20-й — 25-й будут нахо-
диться следующие числа:
стр. 77 Быстродействующие вычислительные машины.
18-й приказ: передача управления в первую
ячегку.
Чем же отличаются новые записи в первых шести
ячейках от прежних записей? Тем, что первые два
адреса в этих ячейках имеют номера не от 26 до 31,
как прежде, а номера от 32 до 37. Иначе говоря, ма-
шина снова будет производить те же действия, но
числа будет брать не из ячеек 26-й—31-й, а из ячеек
32-й — 37-й, где стоят коэффициенты второй системы
уравнений. В результате машина решит вторую си-1
стему уравнений. После решения второй системы ма-
шина перейдет к третьей и т. д.
Из сказанного становится ясным, как важно уметь
составить правильную «программу». Ведь машина
«сама» ничего делать не «умеет». Она может лишь
выполнять заданную ей программу. Имеются про-
граммы для вычисления корней, логарифмов, синусов,
для решения уравнений высших степеней и т. д. Мы
уже говорили выше о том, что существуют програм-
мы для игры в шахматы, для перевода с иностран-
ного языка, … Конечно, чем сложнее задание, тем
сложнее соответствующая программа.
Заметим в заключение, что существуют так назы-
ваемые программирующие программы, т. е.
такие, с помощью которых сама машина может со-
ставить требуемую для решения задачи программу.
Это значительно облегчает составление программы,
которое часто бывает очень трудоемким,
стр. 78 Быстродействующие вычислительные машины.
На главную страницу ЗАНИМАТЕЛЬНАЯ АЛГЕБРА Я. И. Перельман.
Школьная математика. Математика в школе.
Comments