Иллюстрированный самоучитель по Mathematica



              

Методы программирования - часть 2


д. — словом, реализации именно тех средств, для создания которых на обычных языках программирования приходится составлять отдельные, подчас довольно сложные программы. Почти столько же новых функций (или модернизированных старых) содержат пакеты расширения (Add-on Packages).

Язык программирования системы Mathematica трудно отнести к какому-либо конкретному типу. Можно разве что сказать, что он является типичным интерпретатором и не предназначен для создания исполняемых файлов. Впрочем, для отдельных выражений этот язык может осуществлять компиляцию с помощью функции Compile, что полезно при необходимости увеличения скорости счета.

Этот язык вобрал в себя лучшие средства ряда поколений языков программирования, таких как Бейсик, Фортран, Паскаль и С. Благодаря этому он позволяет легко реализовывать все известные типы (концепции) программирования: функциональное, структурное, объектно-ориентированное, математическое, логическое, рекурсивное и т. д. К примеру, вычисление таких функций, как факториал, в Mathematica можно запрограммировать в виде функции пользователя целым рядом способов:

f[n_] =n!

f[n_] =Gamma[n-l]

f [n_] =n*f [n-1] ;f [0]=l;f [1]=1;

f[n_] =Product[i/i,n]

f [n_] =Module[t=l,Do[t=t*i,i,n] ;t]

f [n_] =Module [ { t=l } , For [ i=l , i<=n , i++ , t*=i ] ; t]

f[n_] =Fold [Times,1, Range [n] ]

Все их можно проверить с помощью следующего теста:

{f[0],f[1],f[5],f[10]}

{1, 1, 120, 3628800}

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




Содержание  Назад  Вперед