Числа,
строки и имена - самые простые объекты в Maple и
в то же время самые простые выражения.
1. Целые и рациональные числа
Так как Maple - программа оперирующая с
символами, числа не всегда выражаются в
десятичном представлении. Целые числа
выражаются просто цифрами в десятичной записи,
рациональные числа используют оператор деления
чтобы выделить числитель и знаменатель:
> 25;
> 28/70;
Как видите, рациональные числа
автоматически упрощаются. При необходимости
используется десятичное представление точных
значений рациональных чисел, которое также может
явиться результатом многих вычислений
программы. Эти числа могут быть записаны также в
научном представлении (с использованием степени
10).
Примеры чисел с плавающей запятой
> 2.3;
> .143*10^(-44);
> Float(3141,
-3);
2. Математические константы
Кроме констант, которые можно вводить в
виде целых, рациональных или с плавающей запятой
чисел, Maple содержит также большое количество
общеизвестных математических констант.
Среди них:
Рi 3.1415928535...
exp (1) основание
натурального логарифма
I квадратный корень из -1
infinity - (бесконечность)
- infinity - (минус бесконечность)
gamma - константа Эйлера
Catalan - константа Каталана
true, false - (истина,
ложь) -булевы константы
Необходимо следить за правильностью
правописания при использовании этих констант
(включая заглавные и прописные буквы), например Рi
и рi не эквивалентны.
3. Смешивание и совместимость
различных типов констант
Как обсуждалось прежде, возможность
выражать числовые значения в их точном
представлении (например, 1/3 а не .3333...) - одно из
преимуществ символьной алгебры. Обычно значения
в их точной форме могут сохраняться в течение
вычислений. Однако в ряде случаев точные
значения будут преобразованы в приближенные.
Один из таких случаев - когда смешиваются типы в
выражениях.
Следующие примеры иллюстрируют
вышесказанное:
> 1/3+2;
> 1/3+2.0;
> Pi/6.;
4. Строки
Строка в Maple состоит из некоторого
количества любых символов, заключенных в
обратные кавычки (backquote, " ` "), изображение
этой кавычки соответствует знаку апострофа.
Далее - некоторые примеры строк.
> `Это - Maple строка `;
> ` 12+3аbc `;
> ` inv/ert.src`;
Как видите, специальные символы ( +,., /, и
т.д. ) могут включаться в любом месте строки, если
имеются кавычки. Если кавычки отсутствуют, тогда
эти специальные символы интерпретируются как
обычные операторы:
> 3+abc+4;
> directory/filename;
> invert.src;
5. Имена
Выражения Maple могут присваиваться
именам. Имя состоит из специального типа строки,
которая в самой простой форме является буквенным
символом ( а-z, А-Z ) и может сопровождаться одним
или большим количеством буквенных символов,
цифрами (0-9), и символом подчеркивания (_). Имя
может достигать длины вплоть до 524275 знаков..
Имена чувствительны к регистру, то есть имя Name
отличается от имени name. Кроме этого именем может
служить любая строка, то есть любой набор
символов, заключенных в обратные кавычки. Имя,
обозначенное строкой, состоящей из разрешенных
для имени символов совпадает с именем из тех же
символов без кавычек. Например `Name5` и Name5 одно и то
же имя. Имена, начинающиеся символом
подчеркивания используются в Maple как имена
глобальных переменных.
Две обратные кавычки, вводимые
последовательно в начале строки,
интерпретируются как одна кавычка. Это позволяет
включать символ обратной кавычки в текст строки.
Функция type различает имена двух
типов: string (строка) и indexed
(индексное).
Приведем примеры:
> ` обратные ``
кавычки `;
> length(`Very
long string`);
> substring(
` abcdefghijklmnopqrstuvwxyz `, 15 ..20 );
Приведем некоторые примеры допустимых
имен.
Строковые имена:
> MyVariable;whattype(%);
> hello;
> ` greatest variable `;
Индексные имена:
> A[1];whattype(%);
> A[i,j];
> A[i][j];
Примеры недопустимых в Maple - имен.
> the+quotient;
> ... etc;
`..` unexpected
> 45opt;
missing operator or `;`
6. Оператор конкатенации
Для объединения строк применяется
оператор конкатенации, который записывается в
виде
cat( `a`, `b`, `c`, ... ),
где `a`, `b`, `c`, ... - строки. Результатом
оператора является строка `abc...` .
Удобный инструмент в конструировании
строк и имен является также знак конкатенации (.).
При помощи этого знака можно создавать
нумерованные наборы имен. Однако при
использовании символа точки для конкатенации,
соблюдайте осторожность чтобы не возникла
путаница между точкой в десятичном
представлении числа и точкой - знаком
конкатенации. Запомните правило: имя должно
всегда находиться слева от знака конкатенации.
Некоторые примеры использования .
> seq(name.i,i=1..5);
> add(A.i,i=1..5);
7. Использование кавычек в Maple
Помимо обратных кавычек, используемых
для создания строк, имеются еще два типа кавычек.
Очень важно понимать, как использовать те или
иные кавычки и не путать их между собой.
Наиболее просто запомнить назначение
двойных кавычек ( ditto оператор). Двойные
кавычки (") вызывают предыдущий вывод в сеансе Maple
. Один набор двойных кавычек вызывает результат
предыдущей команды, два набора ("") -
результат команды, выполненной до предыдущей и
три набора (""") вызывают еще более ранний
результат. Однако четыре набора кавычек уже не
применяются. Использование двойных кавычек в
сложных программах, состоящих из нескольких
команд, может привести к непредсказуемым
результатам. Правильно использовать двойные
кавычки в режиме командной строки. Даже при
использовании в качестве признака конца команды
двоеточия (:) чтобы подавить вывод на дисплей, для
последующего вызова результата можно применить
оператор двойных кавычек. Другими словами
оператор двойных кавычек играет роль
краткосрочной замены оператора присваивания для
сокращения объема вводимой информации. В общем
случае, чтобы получить возможность обращения к
результату некоторой команды впоследствии этому
результату присваивают имя.
Возможно, наиболее трудно понять смысл
использования прямой кавычки (ее изображение
похоже на знак ударения). В упрощенном изложении
оператор, заключенный в прямые кавычки,
освобождается от них при однократном вводе, то
есть происходит задержка выполнения этого
оператора на один поход через синтаксический
анализатор Maple . Иначе говоря, каждый раз,
когда синтаксический анализатор сталкивается с
выражением, заключенным в прямые кавычки, он
удаляет внешний слой этих кавычек. При двойном
обрамлении выражения прямыми кавычками,
выполнения оператора задержится на два прохода и
так далее.
> ''(x^2-x-2)'';
> 'factor(x^2-x-2)';
> factor(x^2-x-2);
Укажем два наиболее частых случая
использования прямых кавычек. Во первых, прямые
кавычки могут использоваться для отмены
присвоения какого либо значения некоторой
переменной. Присвоение переменной x некоторого
значения записывается при помощи оператора
присваивания :=.
Пусть, например
> x:= 3;
Проверим теперь значение x, введя просто
> x;
Мы видим, что переменной x присвоено
значение 3. Чтобы отменить это присвоение запишем
> x:= 'x';
Теперь, введя x получим
> x;
Во вторых, прямые кавычки используются
внутри команд с индексными переменными (
например, sum, product ),
например
> sum( 'i^2', 'i'=1 ..6 );
|