Главная > Математика > Методы вычислений, Т.1
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 3. Средства вычислений

Исследуя методы решения конкретных задач, мы должны, естественно, учитывать те вычислительные средства, которые имеются в нашем распоряжении. Поэтому, не ставя своей целью дать техническое описание различных вычислительных машин и приборов, мы приведем здесь краткие характеристики наиболее важных из них. Некоторые из описанных здесь машин еще не получили у нас достаточного распространения в математических расчетах. Однако развитие счетной техники в ближайшие годы должно привести нас к тому, что ни одно более или менее серьезное научное учреждение не сможет обойтись без этих средств.

Математические машины и приборы делятся на две большие группы: непрерывного действия и дискретные, или цифровые. Цифровые машины производят математические операции с числами, принимающими дискретные значения и имеющими цифровое представление в той или иной системе счисления. Результат представляется в таком же виде. Если машина исправна и оператор не делает ошибок, то точность результата зависит от количества разрядов, с которыми работает машина. В машинах непрерывного действия числа выражаются посредством физических величин: длин, напряжений, углов и т. п. Чаще всего они являются машинами-аналогами, моделирующими тем или иным физическим процессом какую-нибудь математическую задачу. Из приборов непрерывного действия широкое распространение получила логарифмическая линейка. В Советском Союзе находят также применение следующие машины и приборы непрерывного действия: планиметры, интеграфы, гармонические анализаторы, электро- и гидроинтеграторы различных систем, дифференциальные анализаторы. Точность результата, полученного на машине непрерывного действия, зависит от многих факторов: точносчи устройства, искусства оператора, внешних факторов, характера ответной шкалы, и вследствие этого обычно бывает не очень велика. Поэтому машины непрерывного действия не получили широкого

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

1. Арифмометр. Клавишные вычислительные машины.

Простейшей цифровой машиной является арифмометр (рис. 3). Исходные данные набираются на арифмометре с помощью установочных рычагов 1.

Рис. 3. Арифмометр.

Чтобы сложить два числа одно из слагаемых набирают на этих рычагах и поворачивают рукоятку 2 на один оборот в направлении, указанном стрелкой с значками Стрелка нарисована на передней части корпуса арифмометра 3. При этом в счетчике результатов 4 окажется это слагаемое. В счетчике оборотов 5 будет видна цифра 1. Затем поступаем так же со вторым слагаемым. Тогда в счетчике результатов 4 получим искомую сумму. Для вычитания уменьшаемое переводим в счетчик результатов, как и I ервое слагаемое. После этого набираем на установочных рычагах вычитаемое и поворачиваем рукоятку на один оборот в направлении, указанном стрелкой со значками Результат опять будет виден в счетчике результатов. С помощью установочных рычагов можно набрать число, имеющее 9 разрядов. Счетчик результатов имеет 13 разрядов. Ясно, как производить последовательное сложение и вычитание.

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

(кликните для просмотра скана)

столько оборотов, какова последняя цифра второго множителя. При этом в счетчике результатов будет стоять первый множитель, умноженный на последнюю цифру второго сомножителя, а в счетчике оборотов будут стоять нули, кроме последней цифры, указывающей число сделанных нами оборотов. После этого передвигаем каретку на один разряд вправо при помощи рычага 6 и вращаем рукоятку в том же направлении на столько оборотов, какова предпоследняя цифра второго сомножителя. Затем снова передвигаем каретку на один разряд вправо и т. д. Этот процесс повторяем до тех пор, пока не переберем все разряды второго сомножителя. В итоге в счетчике результатов получим искомое произведение, а в счетчике оборотов второй множитель.

Для производства деления нужно предварительно передвинуть каретку вправо на столько разрядов, сколько разрядов желают иметь в частном. После этого, как и при сложении, переносят делимое в счетчик результатов. При этом нужно стараться установить старший разряд делимого на установочных рычагах возможно левее, следя в то же время за тем, чтобы все делимое полностью перешло в счетчик результатов. Затем гасят цифру 1, появившуюся в счетчике оборотов, поворотом соответствующего барашка 7. После этого на установочных рычагах должно быть поставлено второе число — делитель. Его устанавливают так, чтобы старшие разряды делимого и делителя стояли друг против друга, если делимое больше делителя, или старший разряд делителя на один разряд правее старшего разряда делимого, если делимое меньше делителя (при этом делимое и делитель рассматриваются как целые числа с количеством разрядов, равным номеру самого левого из использованных установочных рычагов) Деление осуществляется повторным вычитанием. Поворачиваем рукоятку в том же направлении, что и при вычитании, до тех пор, пока число, установленное на рычагах, не станет больше числа в счетчике результатов. Если мы сделаем лишний оборот, то услышим звонок. Тогда нужно сделать один оборот в обратном направлении. Далее, передвигаем каретку на один разряд влево и повторяем наш процесс. Поступаем так до тех пор, пока каретка не займет крайнего левого положения. При этом в счетчике оборотов будет находиться частное, а в счетчике результатов — остаток.

При описании характера работы на арифмометре мы не касались такого рода вопросов, как определение положения запятой, ускоренные приемы счета и т. п. Детальный разбор их занял бы слишком много времени и они достаточно хорошо освещены в литературе. С другой стороны, приведенное здесь краткое описание будет полезно с той точки зрения, что более совершенные счетные цифровые машины по характеру работы сходны с арифмометром.

Нужно заметить, что уже такая простая вычислительная машина, как арифмометр, дает большую пользу при счетной работе. Производится меньше записей, вычисления становятся менее утомительными,

сокращается время каждого вычисления, уменьшается число ошибок. За 6 часов работы на арифмометре можно произвести примерно 750 умножений пятизначных чисел на четырехзначные с записью каждого произведения и примерно 570 делений пятизначных чисел на четырехзначные с записью каждого частного.

Клавишные вычислительные машины типа ВК-2, Мерседес, Рейн-металл и другие (см. рис. 4, 5, 6), находящиеся в употреблении в Советском Союзе, с точки зрения математика не отличаются значительно от арифмометра. В них рычажный набор заменен клавишным и ручной привод электромотором. Имеются и другие незначительные усовершенствования.

Рис. 6. Клавишная вычислительная машина «Мерседес».

Однако и это дает много для ускорения вычислительных работ. Их применение резко увеличивает производительность. С помощью этих машин можно произвести примерно 1200 умножений пятизначных чисел на четырехзначные с записью произведений и примерно 1210 делений пятизначных чисел на четырехзначные с записью частных за 6 часов работы.

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

2. Счетно-аналитические машины.

Дальнейшим шагом по пути усовершенствования вычислительной техники явились автоматические вычислительные машины. Обычно они состоят из

(кликните для просмотра скана)

целого комплекса машин различного назначения. Простейшим из таких комплексов является комплект счетно-аналитических машин.

Исходные данные для работы на счетно-аналитических машинах пробиваются на специальных картонных карточках стандартных размеров — перфокартах (рис. 7). На перфокарте нанесены 45 или 80 колонок цифр от 0 до 9. (Число колонок зависит от системы счетно-аналитических машин.)

Рис. 8. Перфоратор П-80.

При помощи одной из машин комплекта — перфоратора (рис. 8) на перфокарте пробиваются отверстия. В каждой колонке может быть пробито отверстие, расположенное либо против одной из цифр, либо в одном из двух рядов выше цифр. Их называют соответственно 11 и 12-й дополнительной позицией. Можно также оставить данную колонку непробитой. Группируя определенным образом колонки перфокарты, мы можем нанести на нее значительное количество различных данных. Оператор может пробить на перфораторе примерно 230 карт в час.

Так как при работе на перфораторе оператором могут быть допущены ошибки, после пробивки данных необходимо произвести контроль. Это осуществляется с помощью специальной машины — контрольника (рис. 9). Для производства контроля на контрольнике оператор производит те же операции, что и на перфораторе. При этом воспринимающее устройство контрольника ощупывает карты. Если карта пробита правильно, то она беспрепятственно проходит через воспринимающее устройство. Если произошла

ошибка, то карта остановится, причем ошибочно пробитая колонка окажется над воспринимающим устройством. В этом случае карту изымают и пробивают нужные данные повторно на новой карте. Оператор может проверить примерно 250 карт в час.

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

Рис. 9. Контрольник К-80.

После этого с помощью рукоятки устанавливают, по какой колонке следует сортировать карты, и нажимают пусковую кнопку. При этом карты будут автоматически подаваться под воспринимающее устройство сортировки и затем складываться в ее карманы. Таких карманов в сортировке 13. Двенадцать карманов соответствуют возможным вариантам пробивок в одной колонке и тринадцатый карман предназначен для карт, не имеющих пробивок в данной колонке. В течение часа на сортировке можно пропустить примерно 24 000 карто-колонок.

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

(кликните для просмотра скана)

так и со знаком минус. Можно печатать данные, пробитые на перфокартах, или итоги, полученные в счетчиках.

Приведем некоторые эксплуатационные данные отечественного табулятора Он работает на -колонных картах. Имеет восемь -разрядных счетчиков. Механизм печати имеет семь секций. Шесть секций с первой по шестую содержат по 11 разрядов для записи цифр и один разряд для записи условных обозначений. Седьмая секция имеет только 11 цифровых разрядов. Счетчики не связаны с определенными секциями и соединяются с ними путем коммутации. На перфокарте наряду с числовыми данными могут быть пробиты признаки, отличающие одни числа от других.

Рис. 12. Итоговый перфоратор

Эти признаки также представляют собой числа. Табулятор снабжен контрольным аппаратом, воспринимающим признаки. Если у нас имеются числа с различными признаками, то после того, как карты, содержащие один признак, пройдут через табулятор и поступит" первая карта, содержащая числа с другими признаками, контрольный аппарат даст сигнал и будет подведен итог по прошедшей группе карт.

Контроль может осуществляться по 20 колонкам. Табулятор снабжен 17 селекторами. Восемь из них имеют по 11 разрядов и девять вспомогательных по одному разряду. Селекторы могут быть использованы для управления переменным вводом чисел с перфокарт в счетчики, переменным печатанием этих чисел, а также для выполнения переносов из одних счетчиков в другие и переменного печатания результатов, полученных в счетчиках.

Для того чтобы произвести печатание итогов по прошедшей группе карт, перенесение числа из счетчика в счетчик и некоторые

другие действия в соответствии с характером решаемой задачи, используются промежуточные ходы, во время которых машина работает без подачи карт. На табуляторе имеется импульсатор для посылки импульсов любой цифры во время карточных ходов и промежуточных ходов. Имеется также универсальный интервальный автомат, позволяющий регулировать продвижение бумаги как в рулонах, так и в отдельных листах. Скорость работы табулятора Т-5 с печатанием данных и итогов примерно 6000 карт в час и с печатанием итогов примерно 9000 карт в час. Очень часто результаты, полученные на табуляторе, должны быть снова использованы для работы на нем же. В этом случае выгодно не только печатать результаты, но и снова пробивать их на перфокартах. Это осуществляется при помощи итогового перфоратора (рис. 12). При совместной работе табулятора с итоговым перфоратором последний автоматически перфорирует призначные данные и итоги, полученные на счетчиках.

Рис. 13. Перфоратор-репродуктор.

В практике работы на счетно-аналитических машинах возникает необходимость перенести пробивки одного массива перфокарт или части этих пробивок на другой. Этот род работы призван осуществлять перфоратор-репродуктор (рис. 13). Используя перфоратор-репродуктор, мы можем переносить данные с одного массива карт на другой, изменяя при этом группировку данных, исключая ненужные нам данные, добавляя новые пробивки. Скорость работы перфоратора-репродуктора примерно 6000 карт в час.

На табуляторе очень затруднительно производить умножение. Чтобы восполнить этот пробел, создана еще одна машина — умножающий перфоратор (рис. 14). На умножающем перфораторе можно производить умножение чисел, пробитых на перфокартах и имеющих до восьми разрядов; можно также производить сложение и вычитание. Результаты получаются в виде пробивок на перфокартах. Возможно производить одновременно различные действия. При этом воспринимаются до пяти чисел с перфокарты. Скорость работы умножающего перфоратора зависит от характера работы. При

умножении шестизначных чисел на шестизначные и перфорации результата с двенадцатью знаками можно произвести до 1200 действий в час.

Счетно-аналитические машины работают на электромеханическом принципе. Это обусловливает сравнительно небольшую скорость их работы.

Рис. 14. Умножающий перфоратор.

Во всем комплекте нет машин, осуществляющих деление. Приспособление комплекта для решения сложных математических задач сопряжено с большими трудностями.

3. Электронный вычислитель.

Дальнейшим шагом по пути усовершенствования вычислительной техники является электронный вычислитель (рис. 15). Электронный вычислитель состоит из двух частей: перфоратора и вычислителя. Перфоратор предназначен для восприятия данных с перфокарт и пробивки результатов на перфокарты. Он работает на электромеханическом принципе со скоростью до 100 карт в минуту. В перфораторе имеется три магазина для закладывания карт: пробивной, средний и правый. Результаты пробиваются на картах, проходящих через пробивной механизм. Данные, пробитые на перфокартах, поступают в вычислитель.

Вычислитель представляет собой электронную быстродействующую вычислительную машину. Он состоит из следующих основных блоков: первичного хронизатора, программного устройства, фиксаторов, счетчика, устройства сдвига разрядов, схемы умножения, схемы деления и вспомогательных цепей. Восприятие чисел и их передача.

в вычислитель производятся во время прохождения карт под воспринимающим устройством перфоратора. Вычисления производятся в тот период, когда очередная карта прошла через воспринимающее устройство, а следующая еще не поступила. За это время (примерно 110 миллисекунд) вычислитель успевает сделать 250—280 циклов сложения или вычитания. Расскажем немного о назначении основных блоков электронного вычислителя.

Первичный хронизатор предназначен для синхронизации работы всех узлов вычислителя.

Рис. 15. Электронный вычислитель ЭВ-80.

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

Фиксаторами называются устройства, предназначенные для фиксации чисел при восприятии данных с карт, при вычислениях и при пробивке итогов. В электронном вычислителе имеется три типа фиксаторов: фиксаторы чисел, общие фиксаторы, фиксатор множителя-частного. Общие фиксаторы могут воспринимать числа с

перфокарт, хранить промежуточные результаты при вычислениях и с них может производиться перфорация итогов. Всего имеется четыре общих фиксатора: два трехразрядных и два пятиразрядных. Их можно объединять при помощи коммутации по два, образуя шестиразрядные или восьмиразрядные фиксаторы. Фиксаторы чисел отличаются от общих тем, что с них нельзя производить пробивку итогов. Всего имеется пять фиксаторов чисел: два трехразрядных, два пятиразрядных и один восьмиразрядный.

Трех- и восьмиразрядные фиксаторы можно объединять попарно. Фиксатор множителя — частного—восьмиразрядный. Он является общим фиксатором и, кроме того, используется как фиксатор одного из множителей при умножении и частного при делении. Электронный вычислитель работает в двоично-десятичной системе. Это означает, что каждое число, поступающее в вычислитель, записывается в десятичной системе, а каждая цифра этого числа — в двоичной. Для представления двоичного разряда в ЭВ служит триггер-электронная схема, имеющая два устойчивых положения. Одно из этих положений принимается за другое за 1. Такая схема, обладая малой инерционностью, может быть с громадной скоростью переброшена из одного положения в другое. Для представления цифр от до 9 требуется четыре триггера. В ЭВ имеется один шестнадцатиразрядный счетчик.

При сложении и вычитании в счетчик последовательно подаются слагаемые. При умножении в счетчике получается произведение. При делении в счетчик передается делимое, а после деления снимается остаток. Устройство сдвига разрядов предназначено для передачи чисел из фиксаторов и счетчика со сдвигом. Числа из фиксаторов могут передаваться в другие фиксаторы и счетчик со сдвигом до восьми разрядов влево. Из счетчика числа могут передаваться в фиксаторы со сдвигом до восьми разрядов вправо. Кроме того, при умножении и делении устройство сдвига автоматически производит сдвиг чисел. Схемы умножения и деления предназначены для управления автоматическим выполнением действий умножени и деления. Вспомогательные устройства еще расширяют возможности машин. В ЭВ имеется устройство округления, позволяющее производить округления по любому из девяти младших разрядов счетчика.

Имеется устройство проверки нуля. Если позволяет время, отведенное для вычислений, можно произвести одно и то же вычисление дважды и один результат вычесть из другого. Устройство проверки нуля обнаружит, получится ли при этом нуль, т. е. правильно ли произведены вычисления. Электронный вычислитель позволяет решать сложные математические задачи. К его недостаткам следует отнести небольшую емкость фиксаторов, что лимитирует количество данных, с которыми можно произвести вычисления. Перфоратор же, в который закладываются все исходные данные, работает медленно

сравнительно с вычислителем. С другой стороны, время, отводимое для вычислений, не очень велико, и поэтому часто бывает затруднительно провести в этот период сложные вычисления над данными, полученными с одной карты.

4. Универсальные электронные цифровые вычислительные машины.

Указанные выше недостатки устранены в современных быстродействующих вычислительных машинах с программным управлением. Существует значительное количество различных типов таких машин. В настоящее время эта область вычислительной техники бурно развивается и пока еще преждевременно делать окончательные выводы о наиболее рациональных логических схемах и элементах таких машин. Однако все они имеют общие черты. Всякая электронная цифровая машина с программным управлением может быть изображена схемой на рис. 16.

Рис. 16. Блок-схема электронной машины.

Процесс решения математической задачи на электронной цифровой машине в общих чертах может быть описан следующим образом. Математик разрабатывает метод решения. Затем процесс решения представляется в виде последовательности элементарных операций, которые может производить машина. Как принято сейчас говорить, составляется программа. В программе должны быть предусмотрены все особенности вычислительного процесса. Каждый последующий шаг должен однозначно определяться предыдущими и теми числами, которые будут находиться в машине в этот момент. Программа вместе с исходными данными для вычислений с помощью устройства ввода подается в запоминающее устройство машины. После этого начинается сам счет. В соответствии с программой машина выбирает необходимые данные из запоминающего устройства, подает их в арифметический блок, производит там нужные вычисления и направляет результаты либо снова в запоминающее устройство, либо на вывод машины для печатания. Блок управления предназначен для согласования работы всех узлов машины.

В Советском Союзе с 1952 г. работает быстродействующая электронная цифровая машина Академии наук СССР (БЭСМ) (рис. 17). Приведем некоторые ее характеристики. Вычисления на БЭСМ ведутся в двоичной системе. Числа в машине представляются в виде

где целое (положительное или отрицательное число). Величину а называют мантиссой числа и порядком числа. Для записи мантиссы отводится 32 двоичных разряда, один разряд отводится для записи знака числа, пять двоичных разрядов отводится для порядка числа и один для указания знака порядка. Таким образом, на машине могут быть представлены числа, модули которых заключены между При желании количество знаков числа может быть удвоено. Этот способ записи чисел характеризует машины с плавающей запятой в отличие от машин с фиксированной запятой, в которых числа записываются обычным образом с фиксированным положением запятой, но налагается дополнительное требование, чтобы исходные данные, промежуточные и окончательные результаты лежали в определенном интервале, например Машины с фиксированной запятой более просты по конструкции, но менее удобны для программирования.

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

В БЭСМ предусмотрена 31 команда. К ним относятся команды для четырех арифметических операций, команда умножения с выводом удвоенного количества разрядов и деления с выводом остатка. Имеется несколько вспомогательных и логических команд. Все операции выполняются одним арифметическим устройством, сконструированным на триггерных ячейках. Арифметическое устройство состоит из приемных регистров и сумматора.

Запоминающих устройств на БЭСМ несколько. Наиболее быстрое из них использует электронно-лучевые трубки и рассчитано на 1023 числа. Время выборки или записи числа составляет 12 мсек. Вторым видом памяти является задающее устройство на германиевых диодах, рассчитанное на 376 чисел. Из него можно выбирать числа или команды, но в него нельзя записать результаты. Диодное запоминающее устройство используется в основном для типовых подпрограмм, для установки коэффициентов, меняющихся от варианта к варианту, для ручного управления ходом вычислительного процесса и т. п. Третий вид памяти БЭСМ более медленный и использует магнитный барабан с емкостью 5120 чисел. Наконец,

(кликните для просмотра скана)

четвертый вид использует четыре магнитофона с общей емкостью около 120 000 чисел.

Ввод чисел и команд в машину производится с перфоленты со скоростью 20 чисел в секунду. Если вводимые данные получены в результате счета на машине, то их записывают на магнитную ленту и вводят с этой ленты.

Вывод результатов производится путем записи их на магнитную ленту и последующего печатания на кинопленку. Скорость работы фотопечатающего устройства составляет 200 чисел в секунду. Кроме фотопечатающего устройства имеется электромеханическое печатающее устройство, работающее непосредственно от машины. Скорость печатания 1,5 числа в секунду.

Средняя скорость работы машины составляет 7000—8000 операций в секунду.

5. Средства вычислений и задачи вычислительной математики.

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

При всякой вычислительной работе важно уметь хорошо ее планировать. Умелый выбор алгоритма для решения задачи, рационального порядка действий, схемы записи будет способствовать более быстрому решению задачи, сокращению ошибок и меньшему утомлению вычислителей. Это становится особенно важным при применении современных электронных цифровых машин. Современная быстродействующая автоматическая вычислительная машина, производящая в секунду около 8000 операций за 8 часов работы, проделает примерно 200 000 000 операций. Это колоссальная вычислительная работа должна производиться автоматически без вмешательства человека. Но человек должен спланировать всю работу машины. Конечно, это не означает, что он должен знать и держать в памяти все операции, которые будут произведены. Но он должен предусмотреть все особенности, которые могут встретиться, и

обеспечить выполнение того алгоритма, который нужен для решения задачи. Сейчас успешно развивается специальный раздел вычислительной математики—теория программирования, который призван облегчить труд человека по составлению программ. В этом разделе находят широкое применение теория множеств, математическая логика, алгебра. Для составления программ используются и сами машины.

Большое значение при составлении программы для решения конкретной задачи имеет удачный выбор алгоритма. При этом возникают самые неожиданные и своеобразные задачи. Казалось бы, чего проще составить программу для вычисления многочлена. Однако и здесь можно удачным алгоритмом полнее использовать возможности машины. Известно, что на производство умножения и деления затрачивается больше времени, чем на сложение и вычитание. Следовательно, нужно стремиться составить алгоритм так, чтобы по возможности уменьшить число операций умножения и деления. Пусть, например, нам требуется подсчитать много раз значение многочлена:

Если действовать непосредственно, то придется каждый раз делать по шести умножений. Однако этот многочлен можно записать в виде

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

При применении автоматических счетных машин возникает еще одна проблема. Часто в процессе вычислений приходится использовать те или иные трансцендентные функции. Вводить таблицы таких функций в машину неудобно, так как это сильно загромоздит ее запоминающее устройство. Поэтому сейчас особенно остро возникает необходимость получить достаточно хорошие представления наиболее часто встречающихся трансцендентных функций рациональными функциями.

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

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

Говоря в предыдущем абзаце об ошибках, мы имели в виду лишь естественные ошибки, возникающие вследствие округлений, приближенности методов, приближенности исходных данных и т. п. Мы не имели при этом в виду тех ошибок, которые могут произойти или вследствие невнимательности вычислителя, или неисправности машины. Однако и эти ошибки должны учитываться. Вычислитель, естественно, утомляется при длительной работе, а современная вычислительная машина содержит слишком много различных Сложных устройств. Ошибки такого рода мы будем называть просчетами. Просчеты могут исказить результат в каком угодно направлении и в каких угодно границах в отличие от ошибок, о которых шла речь в предыдущем абзаце, влияние которых скажется лишь в определенных пределах. Чтобы вовремя заметить произведенный просчет, необходимо всегда так планировать вычисления, чтобы обеспечить постоянный тщательный контроль.

<< Предыдущий параграф Следующий параграф >>
Оглавление