Понятие о документах в форме notebooks
Как уже отмечалось, для выполнения простых арифметических операций достаточно набрать необходимое математическое выражение и нажать клавиши Shift и Enter одновременно (сама по себе клавиша Enter используется только для перевода строки внутри текущей строки ввода).
Нетрудно заметить, что вычисления в оболочке системы проходят так же, как при вычислениях на обычном калькуляторе. Однако прежде чем получить результат первого вычисления, даже столь простого, как вычисление 2 + 3, вам придется запастись терпением и дождаться, когда система загрузит свое ядро.
Даже у ПК с процессором Pentium II время первоначальной загрузки доходит до нескольких секунд. Впрочем, последующие вычисления (если они не слишком сложны) происходят уже почти мгновенно — особенно при применении Mathematica 4.
Отдельные ячейки с математическими выражениями и результатами их вычислений отмечаются в правой части главного окна редактирования характерными тонкими квадратными скобками синего цвета. Это наглядно показывает, к чему относятся математические выражения — к исходным данным или результатам. Кроме того, ячейки могут иметь различный статус, который отмечается соответствующими значками над квадратными скобками, — речь об этом более подробно пойдет ниже.
Изображение в окне редактирования очень напоминает записи аккуратного и педантичного инженера или ученого в записной книжке или на листке бумаги. В общем случае в окне видны поясняющие текстовые комментарии, числа, таблицы, математические выражения, формулы, графики различных типов. Мы будем называть эти записи документом — в оригинале они именуются словом notebook, которое с английского языка на русский переводится как «записная книжка» или «блокнот». Представление протокола работы с системой в такой форме считается наиболее целесообразным для математических систем.
Чтобы документ имел форму «блокнота», надо предпринять определенные операции по форматированию документа и приданию ему нужного вида. Прежде всего, каждый шаг вычислений следует снабжать поясняющими надписями. Их можно прямо вводить в строки ввода, но затем отформатировать с использованием текстового формата подходящего стиля. Для этого выделяется строка ввода с текстовой надписью (щелчком на скобке соответствующей ячейки). Пространство внутри скобки при этом затеняется (делается черным). Затем выполняется команда меню Format | Style | Text (Alt+7). Она задает текстовый формат надписи, который является неисполняемым.
С помощью других команд меню Format, которые мы рассмотрим в дальнейшем, можно задать надпись разным шрифтом, разным цветом с выделением фона и т. д. Как уже отмечалось, для ввода математического выражения по шаблону и для представления его в естественной математической форме используется стандартный формат ячеек ввода (StandardForm). Рисунок 2.2 показывает созданный таким образом простой «блокнот», в котором наряду с поясняющими текстовыми надписями заданы вычисление определенного интеграла, вычисление суммы квадратов чисел от 1 до и и построение графика с помощью графической функции Plot.
Рис. 2.2. Простейший документ в форме «блокнота»
В «блокнотах» желательно, чтобы форма представления математических выражений хотя бы напоминала общепринятую. В этом отношении документы системы Mathematica 3/4 все еще уступают документам систем Mathcad для Windows — последние содержат записи математических выражений (включающих знаки интегралов, сумм, произведений, греческие буквы и прочие спецзнаки) в их обычном начертании. Более того, формулы, текстовые комментарии и графики могут располагаться как угодно — например, вдоль строки могут располагаться формулы, графики и таблицы вывода. Зато Mathematica 3/4 позволяет задавать формы представления документов, принятые в таких мощных языках программирования, как Fortran, С и даже ТеХ (язык для программирования типографского набора сложных научных текстов).
Каждая надпись, математическое выражение или график занимают отдельную ячейку (cell). Ячейка может занимать одну или несколько строк и всегда выделена своей квадратной скобкой. Важным свойством ячеек систем Mathematica является возможность их эволюции (изменения) по всему документу. Этим осуществляется динамический обмен данными в ходе символьных преобразований — свойство, которое оказалось так и не реализованным в других символьных математических системах (за исключением, пожалуй, Maple V).
Теперь понятно, почему каждая ячейка занимает полную строку или ряд строк. Порой в ходе символьных преобразований, например при вычислении неопределенных интегралов, результат может иметь самые различные размеры. Разумеется, символьная система не может заранее знать, какой это будет результат и сколько строк он займет в ячейке. Поэтому размеры ячейки не фиксированы, и в нее нельзя помещать одновременно входные данные и результаты вычислений.
Честь и хвала разработчикам Mathcad, обошедшим эту проблему и создавшим интерфейс, способный готовить документы с произвольным расположением блоков. Однако об оборотной стороне медали — перекрытии блоков при увеличении их размеров — забывать в данном случае не стоит.