Статья Ады

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

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

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

Простыми словами, она разработала первый в мире программный алгоритм.

«Аналитическая машина сплетает алгебраические алгоритмы так же, как и ткацкий станок Жаккарда сплетает цветы и листья», — писала она, объясняя то, как машина управлялась с символами и заставляла числа повторяться и зацикливаться. В заключении Лавлейс написала, что машина была способна на гораздо большее, чем просто математические вычисления. Лавлейс была уверена, что когда-нибудь ее можно будет использовать для создания музыки или других видов искусства.

Перевод статьи вместе с комментариями Лавлейс был напечатан в английском научном журнале в 1843 г. — почти за век до создания современного компьютера.

В комментариях Ады были представлены три первые в мире вычислительные программы, составленные ею для машины Беббиджа:

1. программа для решения двух линейных алгебраических уравнений с двумя неизвестными; при разборе этой программы было впервые введено понятие «рабочих ячеек» (рабочих переменных), и озвучена идея последовательного изменения их содержания;

2. вторая программа была составлена для вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций; для этой программы Ада ввела понятие «цикл», одной из фундаментальных конструкций структурного программирования;

3. в третьей программе, предназначенной для вычисления цифр Бернулли, Ада использовала рекуррентные вложенные циклы.