История Ады ЛавлейсРефераты >> Программирование и компьютеры >> История Ады Лавлейс
В примечании А Лавлейс сравнивает две машины – разностную и аналитическую. Она отмечает, что вычислительная машина представляет собой совершенно иную область науки и техники и уделяет внимание выработке соответствующей терминологии. По определению Лавлейс, аналитическая машина представляет собой воплощение науки об операциях и сконструирована специально для действий над абстрактными числами как объектами этих операций. "Под словом операция, - пишет Лавлейс, - мы понимаем любой процесс, который изменят взаимное отношение двух или более вещей, какого рода эти отношения ни были бы. Это наиболее общее определение (охватывающее все предметы во Вселенной). … Операционный механизм может быть приведён в действие независимо от объекта, над которым производится операция. … Этот механизм может действовать не только над числами, но и над другими объектами, основные соотношения между которыми могут быть выражены с помощью абстрактной науки об операциях и которые могут быть приспособлены к действию операционных обозначений и механизма машины. Предположим, например, что соотношения между высотами звуков в гармонии и музыкальной композиции поддаются такой обработке; тогда машина сможет сочинять искусно составленные музыкальные произведения любой сложности или длительности"/2/.
Последнее замечание Лавлейс удивительно. По существу, она впервые в научном плане (и вполне обоснованно) ставит вопрос о возможности получения с помощью вычислительной машины результатов, аналогичных результатам, полученным в процессе художественного творчества. В основном же примечание Ады относятся к сравнительной оценке двух машин. Лавлейс пишет, что аналитическая машина по сравнению с разностной играет такую же роль, какую математический анализ по отношению к арифметике. Лавлейс делает принципиальный вывод об отсутствии ограничений для математических возможностей аналитической машины. В терминах 20 века можно было бы сказать об алгоритмической универсальности аналитической машины: любой алгоритм в принципе может быть реализован.
Лавлейс по достоинству оценила значение изобретений, лежащих в основе ткацкого станка Жаккара (перфокарт и соответствующих механизмов) и применённых Бэббиджем для управления аналитической машины. Она образно описала значение перфокарт. "Карты только указывают сущность операций, которые должны быть совершены, и адреса переменных, на которые эти действия направлены. Можно сказать достаточно точно, что аналитическая машина ткёт алгебраические удары, как ткацкий станок Жаккара – цветы и листья"/2/.
В примечании В Лавлейс рассматривает запоминающие устройства (склад) аналитической машины и покрывает возможность записи в любом регистре любого числа. Она поясняет читателю, что "склад" аналитической машины представляет собой (пользуясь современной терминологией) оперативное устройство (запоминающее), позволяющее записывать, стирать, хранить и извлекать любые числа, над которыми можно произвести любую последовательность арифметических операций, причём на всех этапах сохранять промежуточные результаты вычислений.
В примечании С Лавлейс объясняет читателю изобретённый Бэббиджем и упомянутый в статье Менабреа способ возврата одиночной перфокарты или группы перфокарт с целью их повторного использования любое число раз. Повторное использование имеет существенное значение, т.к. при решении задач очень часто возникает необходимость в многократном повторении той или иной последовательности команд. Возможность такого повторения значительно упрощает составление программы.
Примечание D представляет существенный интерес для истории программирования. Здесь приведена программа машинного решения системы двух линейных уравнений с двумя неизвестными. Лавлейс впервые применяет термин "рабочая переменная", эквивалентный современному – "рабочая ячейка". Этот термин Лавлейс использует для обозначения трёх типов колонок памяти:
· С заранее установленными данными,
· Хранящими конечные результаты вычислений,
· Содержащие промежуточные результаты вычислений.
Эти виды рабочих ячеек выделяются и в современных руководствах по программированию. Лавлейс предлагает при выполнении операции сложения её результат записывать на ту же колонку памяти, где до этого хранилось одно из слагаемых (делается для экономии памяти). Для обозначения такой операции она пользуется двумя формами записи. Более краткая форма Yn=Yp+Yn аналогична той, которая применялась в одном из алгоритмических языков – Фортране.
В примечании Е Лавлейс уточняет и развивает соображения Менабреа о возможности расчёта на аналитической машине функций вида: Y= a + bx , Y = A + BcosX. Здесь Лавлейс формулирует: "Многие лица, недостаточно знакомые с математикой, считают, что роль машины сводится к получению результатов в цифровой форме, а природа самой обработки данных должна быть арифметической и аналитической. Это заблуждение. Машина может обрабатывать и объединять цифровые величины точно так, как если бы они были буквами или любыми другими символами общего характера, и фактически она может выдать результаты в алгебраической форме" /2/. В этом же примечанииЛавлейс впервые вводит понятие цикла операций, а также понятие цикла циклов.
В примечании F содержится, в частности, интересное замечание Лавлейс о возможностях аналитической машины получать решение такой задачи, которую из-за трудностей вычислений практически невозможно решить вручную. Здесь (устройство) машина рассматривается не как устройство, заменяющее человека, а как устройство, способное выполнять работу, превышающую практические возможности человека.
В заключительном примечании G дана программа вычисления чисел Бернулли, в которой Лавлейс продемонстрировала возможность программирования на аналитической машине.
Немалое значение для истории науки представляет вопрос: насколько точно и удачно Лавлейс реализовала свою идею – составление машинной программы для решения сравнительно сложной задачи? Проверить вручную подобную программу весьма затруднительно – желателен практический эксперимент на ЭВМ. Такой эксперимент был проведён в СССР в 1978 году на машине БЭСМ-6. Текст программы был закодирован на языке программирования Фортран в Дубне, отладка программы выявила одну ошибку и одну опечатку. И это вполне понятно, так как написать подобную работу без проверки на компьютере и без ошибок невозможно. Ещё один важный пункт – программа Лавлейс требует минимального количества перфокарт и обеспечивает экономию памяти.
Примечание G Интересно ещё и в другом отношении. Широкую известность получило высказанное Лавлейс мнение о принципиальных возможностях аналитической машины: ”Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить всё то, что мы умеем ей предписать. Она может следовать анализу. Но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы“ /2/.