6. Работа с файлами

 

Работа с файлами

Файлы — важнейший компонент любой программной среды или любого приложения:. В этом разделе мы познакомимся с различными типами файлов, обычно называемыми их форматами. Основное внимание будет уделено файлам документов, которые создаются пользователями систем Mathematica.

Основные виды файлов и пакеты расширения

Файлы документов прежних версий системы Mathematica имели расширение .та (от слов Mathematical Applications — применения системы Mathematica), их можно загружать в окно редактирования для исполнения, дополнения или редактирования. При записи таких файлов система одновременно создает бинарные файлы с расширением .mb, хранящие битовый графический образ документа. Благодаря этому считывание файлов ранее подготовленных в системе документов происходит быстро, без включения в работу символьного процессора, так что текст с графиками сразу появляется на экране дисплея.

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

В версиях Mathematica 3/4 основным типом документов стали блокноты (notebooks). Им соответствуют файлы текстового формата с расширением .nb. Эти файлы могут редактироваться любым текстовым редактором, поддерживающим формат ASCII. Файлы содержат подробное описание документа с указаниями типов шрифтов, деталей оформления и местоположения различных объектов. Они завершаются довольно пространным описанием того, что собой представляет notebook. К сожалению, это ведет к значительному росту объема таких файлов — он значительно больше, чем у документов систем Mathcad. Зато файлы блокнотов весьма наглядны, и при необходимости в них может разобраться обычный пользователь.

Кроме того, система имеет ряд стандартных пакетов расширения (в оригинале — Add-Ons), расположенных в каталоге ADDONS:

  • Algebra — работа с полиномами, алгебраическими неравенствами, Гамильтоно-вой алгеброй и т. д.
  • Calculus — символьные вычисления производных, интегралов и пределов функций, прямое и обратное преобразования Фурье и Лапласа, решение систем нелинейных уравнений, реализация инвариантных методов, решение дифференциальных уравнений в частных производных, нахождение полных интегралов и дифференциальных инвариантов нелинейных уравнений, аппроксимация Паде, вычисление эллиптических интегралов и работах векторами.
  • DiscreteMath — вычисления из области дискретной математики, комбинаторики, вычислительной геометрии и теории графов, решение рекуррентных и разностных уравнений, операции с целыми числами и т. д.
  • Geometry — функции для выполнения геометрических расчетов, создания правильных прямоугольников и многогранников, вращения геометрических фигур в плоскости и в пространстве.
  • Graphics — построение графиков специального вида, геометрических фигур и поверхностей, графиков параметрически и неявно заданных функций, представления функций комплексного переменного, отображение ортогональных проекций трехмерных фигур, имитация теней, средства оформления графиков.
  • LinearAlgebra — решение задач линейной алгебры, дополнительные векторные и матричные операции, задание ортогональных векторных базисов и т. д.
  • Miscellaneuos — задание единиц измерения физических величин, данные о химических элементах, физические константы, географические данные и все прочее, не вошедшее в другие категории.
  • NumberTheory — функции теории чисел.
  • NumericalMath — реализация важнейших численных методов, аппроксимация данных и аналитических функций полиномами, сплайнами и тригонометрическими рядами, численное интегрирование и дифференцирование, решение дифференциальных уравнений, вычисление корней нелинейных уравнений, нахождение вычетов и разложений в комплексной плоскости и т. д. .
  • Statistics — статистические функции для непрерывных и дискретных распределений, реализация линейной и нелинейной регрессии, вычисление параметров ряда распределений (особенно нормального), функции сглаживания и подгонки данных и т. д.
  • Utilities — дополнительные утилиты для работы с бинарными файлами и памятью компьютера, поддержки языков, работы с системами класса AutoCAD и т.д.

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

В версии Mathematica 4 число файлов в пакетах расширения несколько сокращено по сравнению с версией Mathematica 3. Часть таких файлов вообще являются «пустышками» — они оставлены ради сохранения полной совместимости с предшествующими версиями системы. Перенос части имеющихся в пакетах расширений функций и команд в тщательно оптимизированное ядро системы позволил существенно повысить скорость выполнения соответствующих операций.

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

Меню File

Для работы с файлами служит меню File (рис. 2.4).

Рис. 2.4. Меню File

В этом меню содержатся следующие команды:

  • New (Ctrl+N) — вывод окна нового документа;
  • Open (Ctrl+0) — загрузка существующего документа;
  • Close (Ctrl+F4) — закрытие текущего окна;
  • Save (Ctrl+S) — запись документа с текущим именем;
  • Save As (Shift+Ctrl+S) — запись документа с изменением имени;
  • Save As Special — запись в специальных форматах;
  • Open Special — открытие файлов в специальных форматах;
  • Import — вставка содержимого файла в ячейку текущего документа;
  • Send To — зарезервированная команда;
  • Send Selection — зарезервированная команда;
  • Palettes — вывод палитр математических спецзнаков, операторов и функций (см. выше раздел «Палитры математических операторов и функций»);
  • Notebook — вывод списка документов, которые загружались ранее;
  • Generate Palette from Selection — преобразует выделенные ячейки документа в палитру;
  • Generate Notebook from Palette — преобразует палитру в документ;
  • Printing Settings — установка параметров печати;
  • Print (Ctrl+P) — печать текущего документа;
  • Print Selection — печать выделенных ячеек;
  • Exit (Alt+F4) — завершение работы с системой.

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

Открытие окна нового документа — команда New

Команда New используется, когда нужно начать работу с новым документом. Эта команда полностью очищает экран, выводя запрос о том, нужно ли записать текущий документ, если он есть и модифицировался со времени последнего сохранения. Окно будущего документа получает имя Untitled-N (в версиях Mathematica 2.x имя было Newnb-N), где N — текущий номер документа. После исполнения этой команды можно начинать ввод документа с помощью клавиатуры и выполнять его редактирование. Важно отметить, что даже эта. команда не отменяет определений, сделанных в предшествующих исполненных документах и в ранее загруженных файлах пакетов расширений. Лишь полная перезагрузка системы отменяет эти определения.

Загрузка ранее созданных документов — команда Open

Загрузка файлов ранее созданных документов — одна из самых распространенных операций. Она реализуется командой Open, которая служит для загрузки ранее созданного документа с его поиском в файловой системе компьютера. Эта команда выводит диалоговое окно, типичное для Windows-приложений и предназначенное для удобного поиска файлов (рис. 2.5).

Рис. 2.5. Диалоговое окно выбора файлов

Кроме команды Open, которая загружает документ, открывая его в новом окне, в меню File. имеется еще команда Import, вставляющая содержимое указанного файла в текущий документ. Обе команды позволяют загружать файлы как основного формата notebook с расширением .nb, так и файлы ряда других форматов.

Запись документа с текущим именем — команда Save

Если документ создан с помощью команды New или открыт с помощью команды Open, то он обычно подвергается модификации и редактированию. После отладки документа его измененный вариант бывает нужно записать на магнитный диск — гибкий или жесткий. Для этого служат команды Save и Save As. Команда Save выполняет запись текущего документа без изменения его имени. Поэтому она выполняется быстро и без каких-то дополнительных действий. Запись идет в формате notebook.

Запись документа с заданным именем — команда Save As

Команда Save As позволяет изменить имя файла и поместить его в любую директорию любого диска. Эта команда вызывает появление диалогового окна, показанного на рис. 2.6.

Рис. 2.6. Окно сохранения файла документа

Помимо установок диска и нужной директории следует задать имя записываемого файла или подтвердить предлагаемое имя. Вводить расширение не обязательно — система сама позаботится об этом. Запись идет в формате notebook.

Операции с файлами в специальных форматах

Mathematica может записывать и считывать файлы, представленные в ряде специальных форматов. С помощью команды Save As Special можно записывать файлы в следующих форматах:

  • Version 2 Notebook — формат блокнотов старой версии системы (.mа);
  • Text — текстовый формат (.txt);
  • Cell Expression — формат ячеек;
  • Notebook Expression — формат выражений в блокнотах;
  • Package Format —формат пакетов расширения (.m);,
  • ТеХ — формат редакторов семейства ТеХ (.tex);
  • HTML — формат гипертекстовой разметки (.htm).

Из специальных форматов файлов следует особо выделить два — ТеХ и HTML. Формат ТеХ используется весьма популярными у математиков редакторами математических текстов, насыщенных математическими знаками и формулами. Фактически, ТеХ представляет собой особый язык программирования, предназначенный для разметки математических выражений. Возможность работы систем Mathematica с данным форматом позволяет публиковать подготовленные в системах Mathematica документы в изданиях, ориентированных на математиков.

Формат HTML используется при подготовке страниц для Интернета. HTML — это язык гипертекстовых ссылок, позволяющих быстро переходить от одного документа к другому. Возможность работы Mathematica с этим форматом позволяет готовить документы, которые могут вставляться в.Интернет-страницы и немедленно, без какой то доработки, передаваться по сети — в том числе с помощью электронной почты. В последнее время формат HTML становится стандартным для подготовки электронных документов и книг, а также для создания высококачественных (в том числе обновляемых через Интернет) справочных систем.

Для загрузки файлов в специальных форматах служит команда Open Special. Эта команда открывает довольно простое окно, с помощью которого устанавливаются данные, необходимые для открытия файлов.

Преобразование документов в палитры и наоборот

Любую часть документа после выделения можно преобразовать в палитру. Для этого используется команда Generate Palette from Selection.

Палитра — это уменьшенное окно, похожее на окно документа, но имеющее в строке заголовка только имя и кнопку закрытия (у обычного окна кнопок в строке заголовка три). Палитру, как и документ, можно записывать на магнитные диски. Для преобразования палитры в документ используется команда Generate Notebook from Palette.

Установка параметров печати — подменю Printing Settings

Подготовленный документ обычно нуждается в печати. Многие предпочитают обдумывать и корректировать документы, используя их распечатки, не очень удачно именуемые «твердыми копиями». Нередко бывает нужна распечатка даже промежуточных версий документов.

Команда Printing Settings выводит подменю с тремя операциями. Первая — Page Setup — служит для установки параметров страниц при печати. Она выводит окно, показанное на рис. 2.7. Это окно операционной системы Windows 95/98 содержит типовые установки параметров страниц — их размер, ориентацию, способ подачи бумаги и размеры полей.

Рис. 2.7. Окно установки параметров страницы при печати документа

Вторая операция — Printing Options — служит для установки типовых опций пе чати. Их устанавливают в окне, показанном на рис. 2.8.

Рис. 2.8. Окно установки опций печати

Третья операция — Headers and Footers — служит для установки верхних и нижних колонтитулов (надписей сверху и снизу на каждой печатаемой странице). Эта операция выводит окно, показанное на рис. 2.9. В нем можно задать основные параметры колонтитулов и ввести соответствующие надписи.

Поскольку документы Mathematica могут иметь самые разнообразные средства выделений и цветной раскраски, то наиболее подходящим для печати документов в настоящее время является цветной струйный принтер. Сейчас можно приобрести высококачественные принтеры такого типа по цене от $150 до $300. Лазерные принтеры стоят примерно вдвое дороже и обеспечивают высококачественную монохромную печать. О цветных лазерных принтерах можно и не упоминать — их стоимость настолько велика, что пока они доступны только крупным фирмам.

Рис. 2.9. Окно задания колонтитулов

Mathematica для Windows не имеет своей собственной системы печати и использует стандартную систему печати операционных систем Windows 3.1/3.11/95/ 98/NT. При этом окна настройки печати задаются драйверами, установленными для применяемых принтеров. К примеру, Windows 98 поддерживает сотни типов принтеров десятков фирм. Для определенности ниже рассматриваются установки печати для широко распространенного цветного струйного принтера Epson Stylus Color 600, который при цене менее $300 обеспечивает высочайшее качество печати с разрешением до 1420 точек на дюйм при 16,7 миллионах цветовых оттенков. Этот принтер имеет два картриджа — для обычной черно-белой печати и для цветной печати (с тремя чернильницами, заполненными чернилами разных цветов).

Цветные принтеры поддерживают высококачественную цветную печать. Однако надо помнить, что не стоит увлекаться цветовыми выделениями и особенно цветным фоном в документах, так как при этом резко возрастает расход дорогих чернил. Кроме того, ярко раскрашенные документы выглядят аляповато и пестро. Им недостает серьезности. В конце концов, надо помнить, что документы с математическими расчетами и рисунки детишек в графических редакторах — вещи явно разные!

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

В целом, можно сказать, что печать идет по известному принципу WYSIWYG — что видишь, то и будет напечатано. К сожалению, определенные отличия в том, что видно на экране дисплея и что напечатано принтером, все же могут быть. К примеру, знаки деления, видимые в виде горизонтальной черты на экране дисплея, в текстовом формате выглядят непрерывными, а принтерами часто печатаются пунктиром — это может привести к недоразумениям со знаками «минус». Случается и расхождение размеров шрифтов, способное нарушить правильность расположения частей формул по горизонтали. В таких случаях рекомендуется поэкспериментировать со стилями ячеек. Как правило, стили, основанные на графическом представлении данных, печатаются без искажений. Вообще же Mathematica имеет обширные возможности по стилевому оформлению документов и настройке качества печати под любой принтер.

Печать документов — команда Print

После настройки параметров можно осуществить собственно печать с помощью команды Print для всего документа или Print Selection для печати только выделенных ячеек. Команда Print открывает окно печати, показанное на рис. 2.10.

Рис. 2.10. Окно печати

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

Для начала печати надо нажать кнопку ОК, кнопка Отмена позволяет отменить печать, а кнопка Справка — вывести справку о печати. При печати документа появляется (иногда кратковременно) окно принтера, демонстрирующее процесс печати. Это окно показано на рис. 2.11.

Рис. 2.11. Процесс печати

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

Нажатие кнопки Свойства в окне (рис. 2.10) выводит окно настройки принтера. Вид этого окна зависит от применяемого для печати принтера и установленного для него драйвера. В связи с этим работа с данным окном подробно не рассматривается.

Команда Print Selection служит для печати набора выделенных ячеек. Обычно она также выводит окно печати, показанное на рис. 2.10. В этом окне, как отмечалось, можно выбрать нужный принтер из нескольких, если их драйверы были инсталлированы.

Завершение работы с системой — команда Exit

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

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

 

gl2-10.jpg

Изображение: 

gl2-11.jpg

Изображение: 

gl2-4.jpg

Изображение: 

gl2-5.jpg

Изображение: 

gl2-6.jpg

Изображение: 

gl2-7.jpg

Изображение: 

gl2-8.jpg

Изображение: 

gl2-9.jpg

Изображение: