Выбрать главу

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

1. Машина может рассчитывать численное значение всей формулы.

2. Можно рассчитать численные значения каждого члена формулы или ряда и хранить эти результаты раздельно. Для этого машина должна иметь достаточное число устройств.

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

«Итак, — отмечает Лавлейс, — существует много путей для получения численных значений различных частей алгебраической формулы, и это существенно при алгебраическом характере аналитической машины. Многие лица, недостаточно знакомые с математикой, считают, что роль машины сводится к получению результатов в цифровой форме, а природа самой обработки данных должна быть арифметической и цифровой более чем алгебраической и аналитической. Это заблуждение. Машина может обрабатывать и объединять цифровые величины точно так, как если бы они были буквами или любыми другими символами общего характера, и фактически она может выдать результаты в алгебраической форме. . . Она может выдавать результаты трех видов: символические результаты, . . численные результаты. . . и алгебраические в буквенных обозначениях» [85, с. 273].

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

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

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

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

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

Широкую известность получило замечание Лавлейс о принципиальных возможностях аналитической машины: «Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу, но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы» [85, с. 284]. Это замечание Лавлейс было рассмотрено А. Тьюрингом в его знаменитой работе «Может ли машина мыслить?» (раздел «Возражения леди Лавлейс») [101]. На наш взгляд, важно отметить, что, во-первых, представления Лавлейс о принципиальных возможностях аналитической машины вполне обоснованы (базируются на характеристиках именно этой машины) и, во-вторых, нет достаточных оснований оценивать замечание Лавлейс как верное (или неверное) применительно к современным ЭВМ, особенно, перспективам их эволюции. Дело в том, что качественный скачок в развитии вычислительной техники и программирования, связанный с прогрессом в области ЭВМ, требует иных подходов и критериев.