Техника - молодёжи 2005-03, страница 39же начала функционировать и даже производила вычисления с большей точностью, чем ожидалось. Но для будущего развития вычислительной техники главным явилось другое: в ходе работы у Бэббиджа возникла идея создания универсальной вычислительной машины, которую он назвал аналитической и которая стала прообразом современного компьютера. В единую логическую схему Бэббидж увязал арифметическое устройство (названное им «мельницей»), регистры памяти, объединенные в единое целое («склад») и устройство управления передачей информации со «склада» на «мельницу» и обратно при помощи перфокарт. Очевидно, что перфокарта или их нужная последовательность могла заключать в себе не только данные, но и конкретную программу решения какой-либо задачи (тем более что Бэббидж даже предусмотрел возможность ветвления хода вычислений в зависимости от промежуточных результатов), но он, говоря современным компьютерным языком, предпочел заниматься «хардом», возложив заботы о «софте» на хрупкие женские плечи леди Лав-лейс. Впрочем, не совсем так — дочь Байрона сама возложила на себя эти обязанности. Дело развивалось следующим образом. Ада была знакома с Бэббиджем с детства, так как он входил в число друзей ее матери, миссис Байрон, и следила за его работами. Еще в 1834 г. она познакомилась с разностной машиной, а в 1841 всерьез занялась аналитической. Как раз в это время Бэббидж прочитал на эту тему цикл лекций в Турине, по результатам которых итальянский военный инженер Ме-набреа написал статью под названием «Очерк об аналитической машине, изобретенной Чарльзом Бэббиджем». Графиня Лавлейс перевела эту работу на английский язык и снабдила примечаниями. Именно они, более чем вдвое превышающие исходный текст статьи, и принесли ей всемирное признание1. В особенности же примечание G, где приведена написанная Адой программа вычисления чисел Бернулли — первая в мире программа! ПРИМЕЧАНИЯ АДЫ ЛАВЛЕЙС Примечание А. Используя современную терминологию, можно сказать, что в этом примечании Ада Лавлейс показывает, что различие между разностной и аналитической машинами такое же, как между арифмометром с памятью и компьютером. Ибо если первая предназначена для работы только с числовой информацией, то вторая может оперировать с абстрактными объектами. Вот пример того, что может вычислить разностная машина: у = a+bx+cx2+dx3+ex4+fx5+gx6, а вот, на что способна аналитическая: F(x, у, z, log х, sin у, хр, и т.д.). Очевидно, что сюда как частный случай входят и полиномы разностной машины. Лавлейс вводит понятие операции как некоторого действия, изменяющего взаимное отношение между двумя или большим числом объектов. Причем, что особо важно, сами операции не зависят от объектов, над которыми операции производятся. В качестве примера обработки нечисловых объектов Лавлейс приводит расчет соотношений высоты звуков в музыкальной композиции, то есть делает вывод о возможности сочинения музыки при помощи компьютера. 1 Sketch of the Analytical Engine Invented by Charles Babbage, By L.F.Menabrea of Turin, Officer of the Military Engineers from the Bibliothuque Universelle de Genuve, October, 1842, No 82. With notes upon the Memoir by the Translator Ada Augusta, countess of Lovelace Чарльз Бэббидж Примечание В. В этом примечании Ада Лавлейс рассматривает структуру «склада» — запоминающего устройства аналитической машины — и обсуждает способы записи и хранения информации в памяти. Склад представляет собой достаточно хитроумный механизм, и чтобы понять принципы его работы, Ада предлагает читателю нарисовать на бумаге матрицу из вертикальных и горизонтальных столбцов и строк (реально нужно представить себе четырехугольную призму), в которой по вертикали будут располагаться цифры числа, а строки (вращающиеся колесики) использоваться для действий над соответствующими разрядами чисел. Ада подчеркивает, что с помощью такого механизма хранить символы не менее легко, чем числа: для представления десятичного числа достаточно одного столбца из десяти строк, а таких столбцов в машине Бэббиджа может быть 30 или даже 40. А с помощью нужного вращения колесиков можно каждому столбцу (то есть числу) присваивать знак — плюс или минус. На рис. 1 показан один из ряда примеров действий над символьной информацией, приве- Аналитическая машина Модель аналитической машины Чарльза Бэббиджа в галерее компьютеров лондонского Музея науки ТЕХНИКА-МОЛОДЕЖИ 3 2 0 0 5 37 |