
- •Нижегородский государственный университет им. Н.И. Лобачевского
- •1.Предисловие
- •2.Замечания по терминологии
- •3.Кибернетика и информатика
- •4.Предпосылки информатики
- •4.1.Мечта человека об искусственном человеке
- •4.2.Усилители физической и умственной деятельности человека
- •4.3.Ключевые проблемы информатики
- •5.Формализация естественного языка как средства общения.
- •6.Формализация физических характеристик среды обитания
- •6.1.Дискретные и непрерывные множества
- •6.2. Понятия измерительной шкалы, числа и измерения
- •6.3.Натуральное число
- •6.4.Позиционная система счисления
- •6.5.Натуральная числовая прямая
- •6.6.Целые числа (положительные и отрицательные)
- •6.7.Вещественные числа
- •7.Формализация физических зависимостей
- •7.1.Функции
- •7.2.Элементарные функции
- •7.3.Элементарная алгебра, аналитические и численные вычисления
- •8.Аналоговые и цифровые вычислители
- •9.Простейшие вычислители
- •9.1.Аналоговые вычислительные линейки
- •9.2.Цифровой абак и русские счеты
- •9.3.Цифровые механические арифмометры
- •9.4.Хронология событий.
- •10.Аналитические машины Чарльза Беббиджа.
- •11.Формализация рассуждений
- •11.1.Логика рассуждений
- •11.2.Логические функции и алгебра логики
- •11.3.Алгебра логики и алгебра релейно - контактных схем
- •12.Накануне компьютерной эры
- •12.1. Зарождение цифровых систем управления
- •12.2.Перфокарточные сортировальные машины
- •12.3.Методология моделирования
- •13.Теоретические модели вычислений
- •13.1.Алгоритм и его свойства
- •13.2.Проблема слов в ассоциативном исчислении
- •13.3.Нормальный алгоритм Маркова
- •13.4.Рекурсивные функции
- •13.5.Машина Тьюринга
- •13.6.Равнодоступная адресная машина
- •14.Пионеры зарубежной компьютеризации
- •15.Становление информатики в России. Борьба за признание
- •16.Два типа электронных вычислительных машин
- •16.1.Аналоговая вычислительная машина (авм)
- •16.2.Цифровая электронная вычислительная машина (компьютер, эвм)
- •16.3.Аналог или цифра
- •17.Пионеры отечественной компьютеризации
- •18.Становление информатики в России. Начальный период
- •19.Оригинальные отечественные серийные эвм (компьютеры)
- •19.1.Эвм Стрела
- •Элементная база
- •Программное обеспечение
- •Описание машины
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.2.Семейство эвм "м-20"
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •Об использовании эвм м-20
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.3.Семейство эвм "бэсм"
- •19.3.1.Бэсм-1
- •Структура эвм
- •19.3.2.Бэсм-2
- •Структура эвм
- •19.3.3.Бэсм-4
- •Структура эвм
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •19.4.Семейство эвм "Минск"
- •19.4.1.Минск-1
- •19.4.2.Минск-2
- •19.4.3.Минск -22
- •19.4.4.Минск-23
- •19.4.5.Минск-32
- •Описание машины
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности эвм
- •19.5.Семейство эвм "Урал"
- •19.5.1.Урал-1, Урал-2, Урал-3, Урал-4
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Основные эксплуатационно-технические данные
- •Особенности эвм
- •19.5.2.Урал-11, Урал-14, Урал-16
- •Описание машины
- •Элементная база
- •Программное обеспечение.
- •Основные эксплуатационно-технические данные машины “Урал-11”
- •Особенности эвм
- •19.6.Эвм "Весна" и "Снег"
- •19.7.Эвм бэсм-6
- •Описание машины
- •Элементная база
- •Программное обеспечение
- •Технико-эксплуатационные характеристики
- •Особенности машины
- •19.8.Многопроцессорные вычислительные комплексы "Эльбрус"
- •Описание машины.
- •Элементная база
- •Программное обеспечение
- •Типовые комплектации
- •Производительность
- •19.9.Управляющие эвм
- •20.Эволюция элементарной базы и поколения эвм
- •20.1.Базисные логические элементы
- •20.2.Элементы регистровой памяти
- •20.3.Элементы памяти на магнитных сердечниках.
- •20.4.Интегральные схемы
- •20.5.Поколения эвм
- •21.Американская система ibm-360
- •22.Семейство Ряд "ес эвм"
- •22.1.Хронология создания
- •22.2.Ес эвм. Крупнейший промах или всеобщее счастье?
- •23.Автоматизация программирования
- •23.1.От двоичных кодов к ассемблерам - языкам символьного кодирования
- •Ассемблеры
- •Программы - загрузчики
- •23.2.Языки программирования высокого уровня
- •23.3.Трансляция программ
- •24.Первые компьютеры Сарова
- •25.Начало компьютеризации Нижегородского госуниверситета
- •26.Они были первыми
- •26.1.Конрад Цузе
- •26.2.А лан Тьюринг
- •26.3.Джон Маулчи и Джон Эккерт
- •26.4.Джон фон Нейман
- •26.5.А ксель Берг
- •26.6.В иктор Глушков
- •26.7.Сергей Лебедев
- •26.8.Исаак Брук
- •26.9.Николай Матюхин
- •26.10.Михаил Карцев
- •26.11.Юрий Базилевский
- •26.12. Башир Рамеев
- •26.13.Георгий Лопато
- •26.14. Всеволод Бурцев
- •27.Приложения
- •27.1.Основные черты кибернетики
- •27.1.1.Общенаучное значение кибернетики
- •27.1.2.Электронные счетные машины и нервная система
- •27.1.3.Прикладное значение кибернетики
- •27.2."Сигнал" Игоря Полетаева
- •27.3.Хронология компьютеростроения
- •Литература
- •Оглавление
10.Аналитические машины Чарльза Беббиджа.
Массовое внедрение в вычислительную практику арифмометров существенным образом повысило ее эффективность. Арифмометры выполняли арифметические операции над многоразрядными числами с недостижимой для человека скоростью. Учитывая, тот факт, что большинство физических задач формализуются элементарными функциями, и для вычисления любой элементарной функции достаточно иметь инструмент, выполняющий четыре арифметических операции, появилась возможность за приемлемое время решать достаточно сложные прикладные задачи.
Однако решение прикладной задачи связано с необходимостью выполнять последовательность, сплошь и рядом очень большую, арифметических действий. Причем, в большинстве случаев эта последовательность зависит от конкретных значений параметров прикладной задачи. Возникает понятие программы вычислений как предписания исполнителю выполнить конкретную последовательность арифметических операций для получения результата при заданных конкретных исходных данных.
Каждый шаг процесса выполнения программы реализуется исполнителем в два этапа;
выполнение очередной арифметической команды;
принятие решений о продолжении вычислительного процесса.
Работа с арифмометром позволяет человеку автоматизировать лишь первый этап. Принятие на каждом шаге выполнения программы решения о продолжении вычислительного процесса (управление вычислительным процессом) остается прерогативой человека. Более того, пошаговое выполнение программы подразумевает порождение большого количества промежуточных данных, которое надо хранить в искусственной памяти.
Один из основных кибернетических принципов автоматизации управления процессом (вне зависимости от физической сущности процесса) гласит: все этапы процесса должны быть автоматизированы в равной степени. В рассматриваемом случае этот принцип нарушается: задачу управления пошаговой работой программы решает человек. Очевидно, что время выполнения текущей арифметической операции (арифмометр) неизмеримо меньше времени, необходимого для подготовки к выполнению следующей арифметической операции (человек).
Примечание. Подготовка к выполнению следующей операции включает в себя: считывание с дисплея арифмометра результата выполненной операции и запись его в бумажную память; выбор из программы следующей выполняемой операции; считывание из бумажной памяти и набор на клавиатуре арифмометра операндов выполняемой операции; активация выполняемой операции.
Принцип реализации полностью автоматизированных программно-управляемых вычислений, окончательно сформулированный в конце сороковых годов XX века (фон Нейман – США, С. Лебедев – СССР), начиная с Чарльза Беббиджа (1833 год) неоднократно возникал в умах конструкторов вычислительных устройств.
В 1812 году декан кафедры математики Кембриджского университета Чарльз Бэббидж (1792-1871 гг.) задумал применить механические счетчики для составления таблиц (синусов, логарифмических и т.д.). Составление таблиц - многократное вычисление функций.
Чарльз Бэббидж, находясь во Франции, познакомился с работами Гаспара де Прони, занимавшего должность руководителя бюро переписи при французском правительстве с 1790 по 1800 год. Г. Прони, которому было поручено выверить и улучшить логарифмические тригонометрические таблицы для подготовки к введению метрической системы выпустил лучший на тот момент сборник логарифмических и тригонометрических таблиц, в подготовке которого он привлек таких выдающихся математиков, как Адриен Лежандр и Лазар Карно.
Удивляет, говоря современным языком, технология вычислений, предложенная Г. Прони и принципиально совпадающая с современной технологией.
Надежность вычислений обеспечивали две вычислительные мастерские, в которых проводились одни и те же расчеты для взаимной проверки. Современные способы получения надежных результатов на ненадежно работающих компьютерах – выполнение одной и той же программы с одинаковыми исходными данными на трех различных компьютерах. Совпадение результирующих данных на всех трех компьютерах, практически с вероятностью 1, говорит о надежности полученных результатов. Тем самым устраняется составляющая ненадежности результатов за счет ненадежной работы техники.
Однако, остается составляющая ненадежности результатов за счет неправильного алгоритма или его некорректного воплощения в программу. В наше время разработка особо ответственных алгоритмов программ поручается двум различным коллективам. Если программы, разработанные различными коллективами, дают один и тот же результат – вычисления считаются надежными.
Примечание. К сожалению, даже при таком дублировании разработки программ, остается вероятность того, что в силу "одинаковости" мышления двух разработчиков будет упущена отработка программой каких-либо редко встречающихся комбинаций исходных данных. По-видимому с эти связаны, несмотря на высококвалифицированное программирование, встречающиеся отказы современных космических систем
Разделение труда (вычислительная мастерская Г. Прони) осуществлялась также на уровне современных вычислительных технологий:
первая группа (5 - 6 крупных математиков) занималась исследованием различных аналитических выражений с целью подбора удобных для числовых расчетов функций (математики - теоретики).
вторая группа (9 - 10 лиц, хорошо владеющих математикой) занималась преобразованием полученных от первой группы формул к виду, удобному для работы с числами (составление вычислительных схем - программирование); вычисляла контрольные значения функций с большим шагом (алгоритмисты).
третья группа (много людей, знающих только сложение и вычитание) по расчетным схемам окончательно получала таблицы; проверяла результаты вычислений по контрольным точкам (исполнители).
Вычислители третьей группы не знали общей задачи, зная только сложение и вычитание работали по программе совершенно механически.
Машины Бэббиджа должны были заменить третью группу вычислителей на которую падала основная рутинная работа (очевидно намерение автоматизировать не только выполнение операций, но и выполнение последовательности операций - вычислительной схемы или программы).
В основу работы разностной машины Бэббидж положил известное свойство многочленов - их конечные разности соответствующих порядков равны нулю.
Пример. y = x2 + x + 1
Разности первого порядка 1 получаются вычитанием из каждого следующего значения функции ее предшествующего значения. С помощью аналогичной операции над разностями первого порядка получены вторые разности и т.д.
Если функция представляет собой многочлен степени n, то при табулировании с постоянным шагом n - е разности постоянны. В данном случае постоянны разности третьего порядка.
x |
y |
Конечные разности |
||
|
|
1 |
2 |
3 |
0 |
1 |
2 |
6 |
6 |
1 |
3 |
8 |
12 |
6 |
2 |
11 |
20 |
18 |
6 |
3 |
31 |
38 |
24 |
6 |
4 |
69 |
62 |
30 |
6 |
5 |
131 |
92 |
36 |
|
6 |
223 |
128 |
|
|
7 |
351 |
|
|
|
Суммируя по диагонали таблицы конечные разности и соответствующее значение функции можно получить следующее значение функции.
Используя тот факт, что n-1yi постоянна, мы можем восстановить значение функции в любой последовательности точек с заданным, фиксированным шагом h. Этот алгоритм очень прост: необходимо иметь возможность запоминать на каких – либо регистрах результаты промежуточных вычислений и циклически выполнять некоторую программу, реализующую алгоритм.
Бэббидж построил такую машину, позволяющую табулировать функции - полиномы второго порядка, и разработал проект машины для табулирования полиномов шестого порядка, которая реально не была построена. Несмотря на выделение государством значительных средств - подвела технология.
В 1833 году Чарльз Бэббидж начинает работу над аналитической машиной, которая выполняла бы инструкции, считываемые с перфокарт. По существу это первый в мире компьютер общего назначения.
Предшественником Ч. Беббиджа в использовании представленной на перфокартах программы действий был Жак Вокансон (1709—1782 гг.), который публикует статью с предложением использовать перфокарты для автоматического управления ткацким станком. Он изготавливает опытный образец первого в мире полностью автоматизированного станка, однако его практическое использование началось лишь более 50 лет спустя.
В начале XIX века Жозеф Мари Жаккар - французский ткач и механик, автоматизировал работу ткацкого станка при изготовлении тканей со сложным переплетением нитей. Для управления станка были использованы перфокарты - картонные прямоугольники, на которых в определенных местах пробивались отверстия.
Рис. 34. Ткацкий станок Жаккара.
Ткацкий станок Жаккара (рис.34) состоит из рамы, на которую натянуты нити основы (сплошные линии на рисунке). Нити основы справа крепятся к вертикальным штырям, которые упираются в перфокарту. Если на перфокарте в позиции штыря пробито отверстие (черный кружок на рисунке), штырь проваливается в это отверстие и нить основы опускается вниз. Если в позиции штыря отверстия нет (белый кружок на рисунке), нить поднята вверх. Таким образом, каждая перфокарта определяет конфигурацию поднятых - опущенных нитей основы. Уток тянет нить поперек нитей основы, создавая переплетение нитей в соответствии с "рисунком" отверстий на перфокарте
Рис. 35. Ткацкий станок, управляемый перфокартами. [www.school.keldysh.ru]
Пакет перфокарт специальным механизмом подается в ткацкий станок, который нить за нитью ткет рисунок, заданный этим пакетом. Говоря современным языком, пакет перфокарт определяет алгоритм - программу изготовления фигурного ткацкого полотна, вплоть до изготовления художественных гобеленов. Существенно, что:
используя один пакет перфокарт, можно тиражировать множество одинаковых гобеленов;
на одном и том же станке, меняя пакет перфокарт, можно тиражировать различные типы тканей.
Примечание. В наше время широко используются станки с программным управлением, которые могут тиражировать изготовление деталей, выполняя управляющую программу. Такая программа создается следующим образом: опытный человек-станочник однократно изготавливает деталь, а все его действия записываются в виде команд управления станком на магнитную ленту, образуя управляющую программу. Каждый запуск магнитной ленты с управляющей программой в специальное приемное устройство станка заставляет его выполнять команды программы, что приводит к изготовлению детали без участия человека.
Интересно, что в программных системах Microsoft Offices встроен механизм макросов, который работает аналогичным образом: производимые пользователем действия, например, по редактированию текста в Microsoft Word запоминаются в виде программы макроса и могут повторяться многократно при вызове этого макроса.
В течение первого периода работы над аналитической машиной Бэббидж сформулировал несколько основополагающих принципов ее построения, не всегда напрямую связанных с технической реализацией.
Прежде всего, он отделил устройство для хранения чисел от устройства, предназначенного для выполнения арифметических операций. Дальнейшее развитие этого принципа позволило Бэббиджу предложить совершенно оригинальную структурную организацию машины (рис.36).
Рис. 36. Схема аналитической машины Бэббиджа
Память (store) реализует хранение цифровой информации на регистрах из цифровых колес (1000 чисел по 50 десятичных разрядов).
Арифметическое устройство (mill - мельница) производит арифметические операции над числами взятыми из памяти (сложение или вычитание двух пятидесяти разрядных чисел - одна операция в секунду, умножение –или деление - одна операция в минуту.
Устройство управления реализует ввод исходных данных в память, выполнение последовательности арифметических операций, выборку чисел из памяти, запись чисел в память, вывод результатов вычислений из памяти.
Устройство ввода поставляет в машину исходные данные, а устройство вывода визуализирует результаты вычислений.
Машина существенным образом использует перфокарты: цифровые карты для указания адреса ввода - вывода данных; карты переменных - для указания адресов операндов арифметических операций; карты операции - для хранения программы.
Аналитическая машина должна была:
выполнять простые арифметические действия;
запоминать начальные, промежуточные и результирующие данные;
запоминать группу инструкций или команд, по которым должно идти решение задачи;
последовательно выполнять команды программы и выдавать результаты вычислений;
автоматически прекращать вычисления после выполнения задания;
в случае необходимости повторять цикл вычислений (команды условной передачи управления.
Оценивая возможности будущей машины, Бэббидж предположил, что она может быть использована для выполнения операций не только над числами, но и над алгебраическими выражениями. 10 июля 1836 г. он записал в своей рабочей тетради: "Сегодня я пришел к общей, но еще не совсем четкой концепции создания машины, вырабатывающей алгебраические формулы… Я имею в виду, что она должна это делать без обращения к конкретным числовым значениям алгебраических символов".
Кроме того, Бэббидж высказал соображения, чрезвычайно важные для современного программирования: предложил идеи "цикла" (правда, не дал ему названия), "библиотеки подпрограмм", операции "условной передачи управления"
www.computer-museum.ru
Для хранения чисел в "складе - памяти" использовались регистры (колонки), состоявшие из десятизубчатых колес. Каждое из них, расположенное на общей для колонки оси, могло совершать независимые вращательные движения и останавливаться в одном из десяти положений, "запоминая" таким образом один десятичный знак. Для указания алгебраического знака числа использовалось самое верхнее колесо регистра. Колеса располагались по обе стороны от группы зубчатых реек, которые передавали числа со "склада" в "мельницу". Для того чтобы "считать" число из памяти, рейки продвигалась до тех пор, пока соответствующие колеса в "складе" не занимали "нулевое" положение. Уменьшение числа до нуля на одном регистре заставляло поворачиваться колеса другого на такую же величину, и тем самым осуществлялась "запись" числа в "мельницу". При этом число, хранившееся в памяти, "стиралось", однако при желании могло быть восстановлено: для этого рейки при своем обратном движении вводились в зацепление с необходимыми колесами.
"Мельница – арифметическое устройство" имела примерно 2 м в диаметре и около 5 м в высоту. Она состояла из ряда регистров, аналогичных регистрам памяти и расположенных вокруг группы "центральных колес". Эти колеса использовались для передачи чисел внутри "мельницы" и выполняли, таким образом, функции зубчатых реек. "Стирание" числа из "мельницы" не всегда оказывалось желательным, поэтому в ней большинство регистров состояло из двух групп колес: одна группа принимала числа, а другая служила для их передачи в другие узлы и блоки машины. Входной и выходной регистры использовались в качестве буферов при передаче чисел между "складом" и "мельницей".
"Базовыми" арифметическими операциями в аналитической машине были сложение и вычитание. Чтобы сделать выполнение этих операций единообразным, Бэббидж заменил операцию вычитания на операцию сложения с десятичным дополнением вычитаемого. Суммирование выполнялось в две фазы – сложения и переноса. Если колесо регистра переходило от положения "9" в положение "0", то сдвигался особый рычаг, что означало необходимость десятичного переноса в следующий (старший) разряд.
Операция умножения начиналась с того, что с помощью специального механизма предварительно определялся сомножитель, имеющий меньшее число значащих цифр (он становился множителем). После этого множимое извлекалось из памяти и последовательно суммировалось с самим собой, образуя первые девять кратных значений, которые запоминались в регистрах. Затем "считывалась" первая цифра множителя (начиная с младшего разряда), и содержимое одного из этих регистров, соответствующее значению "считанной" цифры, помещалось в сдвоенный регистр, в котором накапливались частные произведения. Процесс повторялся со следующей цифрой множителя с той разницей, что очередное кратное сдвигалось в сдвоенном регистре на один разряд влево и суммировалось с первым частным произведением и т. д. Результат умножения из регистра пересылался в "склад". Отдельные операции, выполняемые в процессе умножения, перекрывали друг друга во времени, так что время, необходимое для получения каждого частного произведения, оказывалось равным времени сложения двух чисел.
Операция деления выполнялась аналогичным образом. Сначала формировались кратные значения делителя. Две старшие цифры остатка, находящегося в сдвоенном регистре, сравнивались одновременно с двумя старшими цифрами всех кратных значений делителя для того, чтобы оценить, правильно ли определена очередная цифра частного. Если в результате сравнения оказывалось, что эта цифра больше необходимой, то выбранное кратное значение делителя вычиталось из остатка; при отрицательном значении результата вычитания к нему вновь добавлялся делитель, образуя новый остаток. Затем новый остаток сдвигался на один разряд, и процесс повторялся. Как и при выполнении умножения отдельные "микрооперации" перекрывали друг друга во времени, так что время одного шага деления оказывалось равным времени сложения (вычитания) двух чисел вне зависимости от того, правильно ли было сделано предположение о значении цифры частного.
Операцию извлечения квадратного корня Бэббидж первоначально намеревался выполнять "аппаратными" средствами, но затем отказался от этого плана и для осуществления данной операции решил использовать метод последовательных итераций. Для этого он разработал упрощенную схему выполнения операций умножения и деления, которая позволяла получать произведение или частное с ограниченным числом знаков (на первых шагах итеративного процесса не требовалось иметь большое число значащих цифр в результатах вычислений).
Для управления машиной Бэббидж решил использовать механизм, аналогичный механизму ткацкого станка Жаккара. Идея Бэббиджа заключалась в том, чтобы заставить два жаккаровских механизма (с цепочкой карт в каждом) управлять работой машины путем передачи определенных воздействий на устройства машины. Один механизм с "картами операций" должен был управлять работой "мельницы", т.е. выполнением той или иной арифметической операции в зависимости от отверстий, пробитых в соответствующей карте.
Второй механизм должен был работать с " картами переменных", которые управляли переносом чисел из "склада" в "мельницу" и обратно, а также управлять вводом новых чисел в "склад" и выводом результатов вычислений на печать ("цифровые карты"). С помощью "цифровых карт" в машину могли вводиться не только числа, необходимые для решения конкретной задачи, но и константы, логарифмические и другие таблицы.
Другой пример предвидения Беббиджа – библиотеки стандартных подпрограмм. "За исключением цифровых карт, – писал Бэббидж, – все карты, однажды использованные и изготовленные для одной задачи, могут быть использованы для решения тех же задач с другими данными, поэтому нет необходимости готовить их во второй раз – они могут быть тщательно сохранены для будущего использования. Каждая формула требует своего массива карт, и со временем машина будет иметь собственную библиотеку".
Бэббидж большое внимание уделял вопросам вывода результатов вычислений из машины и предусмотрел для этого несколько способов: печатание одной или нескольких копий конечных или промежуточных результатов, изготовление стереотипного отпечатка, перфорирование на бланках или металлических пластинах. К сожалению, он не оставил указаний на то, как должны стыковаться эти периферийные устройства с соответствующими механизмами машины.
Изобретатель четко представлял, что его машина является универсальным вычислителем, имея в виду, что она способна выполнить любые арифметические вычисления, если для ее работы будет отведено достаточно времени.
Первая аналитическая машина Беббиджа была реализована и на ней выполнялись вычисления. Бэббиджу не удалось завершить постройку своей второй более мощной машины. Дело в том, что в середине XIX века не было технической элементной базы для реализации столь грандиозного проекта. Существовала только технология изготовления часовых механизмов, средствами которой реализовать "почти современный компьютер" было весьма затруднительно. Электромеханическое реле (на которых были реализации первых компьютеров в середине XX века) было изобретено американским физиком Дж. Генри в 1835 году, но Бэббидж не знал об этом. А до эпохи электроники было еще далеко.
Кроме того, это был весьма дорогостоящий проект, который государство финансировать не согласилось в силу его "неперспективности".
Но мог ли ученый построить действующую аналитическую машину, имей он необходимое финансовое обеспечение? На основе анализа чертежей машины и возможностей современной Бэббиджу техники Алан Бромли и некоторые другие историки отвечают на этот вопрос утвердительно. Доказательствами такой точки зрения (отчасти косвенными) могут служить следующие факты.
В 1887 г. под руководством Генри Превоста Бэббиджа была изготовлена "мельница" аналитической машины, соединенная с печатающим устройством, и 21 января 1888 г. она вычислила и напечатала 20-значную таблицу результатов умножения числа на члены натурального ряда (от 1 до 44).
В 1848 г., завершив работу над документацией аналитической машины, Бэббидж сделал полный комплект чертежей нового варианта машины для вычисления таблиц, которую назвал разностной машиной № 2 (в ней, в частности, использовалась схема сквозного переноса). В 1991 г. английские инженеры под руководством сотрудника Лондонского научного музея Дорона Суэйда изготовили эту машину по чертежам Бэббиджа, обнаружив в них лишь две ошибки!
Рис. 37. Реконструированная машина Беббиджа. [www.school.keldysh.ru]
Дочь поэта Байрона леди Лавлейс, наделенная от природы математическими способностями стала верной ученицей Бэббиджа и написала несколько программ для его аналитической машины. Более того, она показала, что аналитическая машина способна производить операции со словами. Ада Лавлейс даже предугадала будущие дискуссии на тему "может ли машина мыслить". "...Аналитическая машина не претендует на то, чтобы создать что - либо. Она может делать все то, что мы знаем, как приказать ей делать. Она может только следовать анализу, она не в состоянии предугадать какие - либо аналитические соотношения и истины...".
Высказывание Алана Тьюринга. То, что аналитическая машина Бэббиджа была задумана как чисто механический аппарат, помогает нам избавиться от одного предрассудка. Часто предают значение тому обстоятельству, что современные цифровые машины являются электронными устройствами. Но поскольку машина Бэббиджа не была электрическим аппаратом и поскольку в известном смысле все цифровые машины эквивалентны, становится ясно, что использование электричества в этом случае не может иметь теоретического значения".
Труды Бэббиджа были опубликованы уже после его смерти в 1888 г. И на некоторое время его имя было забыто.