* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
Сложные типы данных
> table[];
141
table[ ] Пустая таблица резервирует память под данные. Когда параметром функции table является список выражений, он выводится в естественном порядке распо ложения элементов таблицы, но с произвольным порядком индексации:
> T:=table({1,2,Pi, "string"}); > T[3];
T := table([1 = 1, 2 = 2, 3 = ?, 4 = string]) ? S := table([one = 1, three = 3, two = 2])
> S:=table([(one)=1,(two)=2,(three)=3]); > S[1];
S1
> S[two];
2
> S[three];
3
> entries(S);
[1], [3], [2]
> indices(S);
[one], [three], [two] В конце приведенных примеров показано, как можно выделить отдельные компоненты таблицы и вывести значения и индексы таблицы с помощью функ ций entries и indices. Следующие примеры показывают, что таблицу можно использовать для выполнения математических преобразований:
> F := table([sin=cos, cos=-sin]): op(op(F));
[cos = –sin, sin = cos]
> F[cos](Pi/2);
–1
> F[sin](0);
1
> evalf(cos(Pi/2));
0.
> evalf(sin(0));
0. Следует внимательно присмотреться к этим примерам – они демонстрируют замену функции косинуса на отрицательный синус и синуса на косинус.
2.3.12. Пакет ListTool для работы со списками
Для работы со списками в Maple имеется пакет расширения ListTool. Его вызов и состав новых определений – функций представлены ниже: