-
Ранее не раз говорилось, что Mathematica, в сущности, является диалоговым языком программирования сверхвысокого уровня. Однако мы еще не поднимались (или не опускались) до уровня подготовки программ в среде Mathematica 3/4.
-
Образцы (patterns) в системе Mathematica служат для задания выражений различных классов и придания переменным особых свойств, необходимых для создания специальных программных конструкций, таких как функции пользователя и процедуры.
-
Понятие функции ассоциируется с обязательным возвратом некоторого значения в ответ на обращение к функции по ее имени с указанием аргументов (параметров) в квадратных скобках. Возврат функциями некоторых значений позволяет применять их наряду с операторами для составления математических выражений.
-
Иногда может потребоваться создание функции, не имеющей имени (например, если функция будет использоваться только один раз, сразу же после ее создания). Эта функция представляется только выражением без идентификатора, отсюда и ее название – чистая функция (pure function).
-
При функциональном программировании часто используется суперпозиция функций. Для ее реализации используются следующие функции: | Nest [expr, x, n] – n раз применяет выражение (функцию) ехрг к заданному аргументу х,
-
Рассмотрим несколько простых примеров, выявляющих суть функционального программирования.
-
Графические задачи составляют значительную часть задач, решаемых с помощью Mathematica. С точки зрения программирования эти задачи не имеют особой специфики. Большая часть из них сводится к заданию функции, описывающей график, и применению одной из многочисленных графических функций системы с соответствующими опциями и директивами. | На рис.
-
В основе процедурного программирования лежит понятие процедуры и типовых средств управления – циклов, условных и безусловных выражений и т. д. Процедурный подход – самый распространенный в программировании, и разработчики Mathematica были вынуждены обеспечить его полную поддержку.
-
Многие задачи в системе Mathematica решаются с использованием линейных алгоритмов и программ. Они могут быть представлены непрерывной цепочкой выражений, выполняемых последовательно от начала до конца.
-
Для подготовки полноценных программ помимо средств организации циклов необходимы и средства для создания разветвляющихся программ произвольной структуры. Обычно они реализуются с помощью условных выражений, позволяющих в зависимости от выполнения или невыполнения некоторого условия (condition) выполнять те или иные фрагменты программ. | Рис. 10.5.
-
Мы уже не раз обращали внимание на то, что при создании документов нередки конфликты между переменными, назначаемыми пользователем, и переменными, входящими в программы ядра, между функциями пользователя и встроенными функциями, между их заголовками и т. д.
-
Для разрешения подобных противоречий в системе Mathematica введен особый механизм контекстов. Напомним, что под контекстом подразумевается некоторое разъяснение характера связанных с контекстом объектов.
-
Мощным средством расширения возможностей системы Mathematica является подготовка пакетов расширений. Пакеты расширений позволяют создавать новые процедуры и функции и хранить их на диске в виде файлов с расширением .m.
-
Для создания пакетов расширений в общем случае используются следующие средства системы: | Begin ["context'"] – устанавливает текущий контекст; | BeginPackage ["context'"] – делает context единственным активным контекстом. Возможна также форма BeginPackage [ "context" ", { "needl' ", "need2'",…}];
-
Ценность многих программ на любом языке программирования нередко сводится к нулю из-за отсутствия подробных текстовых комментариев. Из-за этого даже сами разработчики программ через месяц-другой перестают понимать собственные творения.
-
Атрибут защиты Protected | Как уже отмечалось, система Mathematica позволяет вводить константы, переменные и функции со своими именами – идентификаторами. Между функциями можно задавать различные отношения, в том числе и те, которые не соответствуют правилам, заданным в ядре системы.
-
Наиболее сложным моментом работы с системой Mathematica является разработка пакетов расширения профессионального качества. Именно такие пакеты позволяют приспособить всю мощь системы к решению тех задач, которые полезны конкретному пользователю. | Начать работу с системой можно за несколько часов.
-
Что такое визуально-ориентированное программирование | Под визуально-ориентированным программированием обычно понимается автоматическая генерация кодов программ на некотором языке программирования при активизации различных графических объектов – чаще всего кнопок с наглядным изображением программируемых действий или с надписями, указывающими на такие действия.
-
Отладка программ, за исключением самых простейших, дело далеко не простое. Начальный опыт программирования на любом языке приходит спустя годы практической работы с ним. Эти сроки намного сокращаются, если пользователь всерьез знаком хотя бы с одним, а лучше с несколькими языками программирования.
-
В практике подготовки и отладки программ важное значение имеет наличие специальных средств отладки программ по шагам – средств трассировки. Mathematica имеет ряд функций для осуществления трассировки своих программных конструкций. | Функция Trace [ехрг] позволяет выполнить трассировку выражения ехрг.