Wolfram Mathematica - система для виконання обчислень, широко використовується у всіх областях, що вимагають технічних обчислень.
Mathematica надає користувачеві величезний інструментарій:
Одним з базових принципів вбудованої мови Mathematica є уявлення будь-яких сутностей у вигляді списків. Наприклад, сума чисел - це список з головним елементом Plus. Операції Map і Apply дозволяють замінювати головні елементи списків і застосовувати заданий вираз до кожного елементу списку.
Елементи синтаксису:
Регулярний вираз ідентифікатора змінної
Регулярний вираз ідентифікатора функції
Присвоєння значення змінної
a = b, a: = b (відкладене або ледаче привласнення)
(Відбувається в місці її першого використання)
f [x_, y_, z_]: = (x + y + z)
Виклик функції без параметрів
Якщо - то - інакше
If [condition, trueBlock, falseBlock]
Цикл з передумовою
Цикл for - next для діапазону цілих чисел з инкрементом на 1
For [i = 0, i <10, i++, loopBody]
Цикл for - next для діапазону цілих чисел з декрементом на 1
For [i = 10, i> 0, i--, loopBody]
Логотип Wolfram Mathematica
Квадратне рівняння:
Після введення коефіцієнтів визначаємо змінну y - квадратне рівняння з заданими коефіцієнтами. Так як x не визначене, в рівнянні воно залишиться звичайної змінної (наприклад, Print [y] виведе запис отриманого рівнянь c + b x + a x ^ 2 підперті коефіцієнтами a, b і c). Функція Reduce обчислює значення змінних, при якому зазначена умова буде істинним. Умова в даному випадку - квадратне рівняння, а змінна - x.
Факторіал:
Використовується вбудована функція обчислення факторіала. Do - один із способів реалізації циклів; виконує перший аргумент для всіх значень, заданих другим аргументом, а саме: для всіх i від 0 до 16 з кроком 1.
Числа Фібоначчі:
Print обов'язково завершує висновок перенесенням рядка, тому для того, щоб вивести всі числа Фібоначчі в одному рядку, їх потрібно накопичити в змінної msg і вивести її. <> - оператор конкатенації; він працює тільки з явними рядками, тому результат виклику Fibonacci потрібно явно перевести в рядок функцією ToString.
Hello, World !:
Функція Print виводить свої аргументи в основний вихідний потік. Потоки можуть бути вкладеними, і для зручності копіювання результатів краще користуватися для виведення одним потоком.
Hello, World !:
У цьому випадку створюється тимчасова строкова змінна. В кінці рядка немає символу ";", і значення цієї змінної виводиться окремим Out. що не завжди зручно.
Факторіал:
Використовується рекурсивне визначення факторіала. Зверніть увагу на те, що при визначенні функції її аргумент доповнюється символом _.
Числа Фібоначчі:
Цей приклад використовує функцію Riffle. яка в даному випадку перемежовує елементи масиву чисел Фібоначчі копіями рядки ",".
Факторіал:
Символ f [x] ставиться у відповідність список (List [...]) перших x натуральних чисел, що генерується функцією Range [x], в якій головна частина List замінюється на Times за допомогою функції Apply [head, expr], записаної тут як head @ @expr.
Тут використані дві парадигми програмування, реалізовані в Wolfram: по-перше, за допомогою шаблонного вираження x_ число, вписане в квадратні дужки, підставляється в відповідне місце праворуч від знака відстроченого присвоювання: =. По-друге, функціональна парадигма дозволила позбавити код від громіздких процедурних конструкцій і прийти до схожою на математичну записи.