Mathematica как язык программирования
Mathematica – исключительно гибкий и интуитивно понятный язык программирования.
Система Mathematica включает в себя прогрессивные методы программирования современной информатики и вводит свои собственные новые концепции.
Mathematica объединяет в себе самые разные методы программирования, что позволяет Вам всегда применять в данный момент наиболее подходящие из них.
Процедурное программирование
z=a;
Do[Print[z*=z+i],{i,3}]
a (1+a)
a (1+a) (2+a (1+a))
a (1+a) (2+a (1+a)) (3+a (1+a) (2+a (1+a)))
Clear[z]
Программирование, ориентированное на работу со списками
Многие операции автоматически работают со списками.
1 + {a, b, c}2
{1 + a2, 1 + b2, 1 + c2}
Table[ij, {i, 4}, {j, i}]
{{1},{2,4},{3,9,27},{4,16,64,256}}
Объединение вложенных списков.
Flatten[%]
{1,2,4,3,9,27,4,16,64,256}
Разбиение предыдущего списка на подмножества длины 2.
Partition[%,2]
{{1,2},{4,3},{9,27},{4,16},{64,256}}
Программирование, ориентированное на работу с функциями
NestList[f,x,4]
{x,f[x],f[f[x]],f[f[f[x]]],f[f[f[f[x]]]]}
Здесь символ # является областью, замещаемой аргументом функции.
NestList[(1 + #)2 &, x, 3]
Программирование, ориентированное на работу с правилами
p[x_+y_]:=p[x]+p[y]
p[a+b+c]
p[a]+p[b]+p[c]
Символ _ замещает одно единственное выражение; символ __ замещает любую последовательность выражений.
s[{x__,a_,y__},a_]:={a,x,x,y,y}
s[{1,2,3,4,5,6},4]
{4,1,2,3,1,2,3,5,6,5,6}
Clear[p, s]