Програмиране
Mathematica включва редица програмни парадигми, което позволява всяка програма да бъде написана по най-добрия начин.
Пример 1. Процедурно програмиране. Операторите са близки до C++, Pascal, ... Присвояване и оператор за разклоняване If:
![]()
![]()
Операторите за цикъл са: For, Do, While, Throw, NestWhile. Изчисляване на сумата от първите четири естествени числа с междинни печати:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Пример 2. Програмиране на базата на списъци. Много операции се третират лесно като списъци. Те могат да се създават по различни начини, например с оператора Table, чрез добавяне към края, началото или на произволно място и пр. По-долу са дадени примери за манипулиране и действия със списъци.
![Clear[d] d = {} (* пра& ... ;тка *) For[i = 1, i<6, i ++, d = Append[d, i]] d Prepend[d, a] Append[%, b]](HTMLFiles/index_13.gif)
![]()
![]()
![]()
![]()
Цикъл за тримерна таблица k:
![]()
![]()
| 1 | |||
| 2 | 4 | ||
| 3 | 9 | 27 | |
| 4 | 16 | 64 | 256 |
Следващата функция привежда горната таблица в едномерен списък.
![]()
![]()
А тази ги комбинира по двойки.
![]()
![]()
Пример 3. Функционално програмиране.
![]()
![]()
Нека
е "чиста функция", аргументът й е вмъква на мястото на #.
![]()
![]()
Пример 4. Програмиране, основаващо се на правила. Символът : = тук означава дефиниране на функцията p[], а x_ и y_ са формалните параметри.
![]()
![]()
![]()
Символът _ може да се замества с единичен израз, а символът __ е за произволен брой изрази.
![]()
![]()
![]()
![]()
Пример 5. Обектно-ориентирано програмиране. По-долу се дават три дефиниции на функции, асоциирани с обекта h.
![h/:h[x_] + h[y_] := hplus[x, y] h/:p[h[x_], x_] := hp[x] h/:f_[h[x_]] := fh[f, x]](HTMLFiles/index_36.gif)
Ето как могат да се използват трите дефиниции.
![]()
![]()
![]()
Пример 6. Програмиране на базата на стрингове.
![]()
![]()
Пример 7. Смесени програмни парадигми.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Пример 8. Програмите могат да се пишат в различни стилове. Това е илюстрирано по-долу с малки програми (функции), всяка от които пресмята факториел от n, т.е. n!
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Created by Mathematica (October 6, 2007)