БИБЛИОТЕЧКА
ПРОГРАММИСТА
1
5
' НО
I I I ii:. i i г
mi
i
и
БИБЛИОТЕЧКА
ПРОГРАММИСТА
А. Л. БРУДНО
ПРОГРАММИРОВАНИЕ
В СОДЕРЖАТЕЛЬНЫХ
ОБОЗНАЧЕНИЯХ
ИЗДАНИЕ ВТОРОЕ, ИСПРАВЛЕННОЕ
1
ИЗДАТЕЛЬСТВО «НАУКА»
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
МОСКВА 1968
ПРЕДИСЛОВИЕ
Во втором издании текст заново отредактирован, а
обозначения приближены к общепринятым. Цифровые электронные машины (ЦЭМ) проникают во
многие области человеческой деятельности: в технические
расчеты, исследования теоретической физики, управление
станками, организацию производства, военную тактику,
медицину, экономику, лингвистику... Людям различных
специальностей нужно знать возможности ЦЭМУ чтобы
творчески оценить их применение в своей работе. Умение
программировать становится
элементом культуры. Но по популярным книжкам программировать не
научишься. Они излагают достижения (зачастую не делая
различия между достигнутым и всего лишь принципиально
возможным), опуская технику получения результата. Предлагаемая книга рассчитана на читателя, который
пожелает быстро выучиться программированию. В ней
опущено все, что не служит этой цели и что легче
сообразить, чем запомнить. Порядок изложения выбран с таким
расчетом, чтобы обучающемуся приходилось как можно
меньше «запоминать для дальнейшего применения» и чтобы
у него все время были интересные задачи. Но следует
предупредить, что эта книга не для легкого чтения перед сном —
по ней можно научиться быстро лишь за счет напряженной
работы. У читателя формально не предполагается сведений,
выходящих за границы школьного курса, но предъявляются
высокие требования к его логической культуре. Поэтому
не математику потребуется больше времени для обучения,
чем математику.
4
ПРЕДИСЛОВИЕ
Обучение программированию мы ведем на простейшей
машине.
Это ускоряет проникновение в существо дела и не
отвлекает случайными деталями. В дальнейшем, по мере
надобности, читатель усвоит особенности машин, на которых
будет работать. В этой книжке излагается программирование в
содержательных обозначениях, когда команды и числа имеют вид,
привычный для математика, но сохраняется возможность
использовать все особенности системы команд и пульта
конкретной машины. С 1954 года так программируют
в Институте электронных управляющих машин и
Институте теоретической физики. В дальнейшем на этот способ
перешел ряд групп, связанных с нами. Иной, высоко эффективный способ — это
программирование на Алголе. К сожалению, хороший
алгоритмический язык всегда беднее системы команд машины. Он
разрабатывается для конкретной области (вычисления,
управление,... ) и не дает полного представления о возможностях
новых применений машин. Кроме того, изучение
алгоритмического языка перегружено синтаксическими
законами. Поэтому для обучения мы предпочитаем содержательное
программирование. Оно будет полезно и алголистам при
составлении трансляторов. С другой стороны от содержательного
программирования находятся программирования в мнемокодах и условных
адресах.