
- •12 Информатика и системология. 1 сем. Модуль 2: ска Maple. Тема 2 Типы данных, переменные, макроопределения Тема 2Типы данных, переменные, макроопределения
- •2.1Алфавит, лексемы
- •2.1.1Зарезервированные ключевые слова
- •2.1.2Строки и символьные имена
- •2.1.3Натуральные и целые числа
- •2.1.4Разделители (знаки пунктуации)
- •2.2Выражения и предложения языка
- •2.2.1Предложение присвоения
- •2.2.2Комментарии
- •2.2.3Функции op и nops.
- •2.3Типы выражений
- •2.3.1Простые типы
- •2.3.2Базовые структурированные типы
- •2.4Решение уравнений и неравенств
- •2.4.1Функция solve
- •2.4.2Функция fsolve
2.1.2Строки и символьные имена
Строка — это последовательность символов алфавита заключенная в кавычки. Например, "Мама мыла раму".
Символьные имена (идентификаторы) — это последовательность символов алфавита заключенная в обратные кавычки. Отличие символьных имен от строк состоит в том, что символьным именам можно присваивать значения (они могут играть роль идентификаторов переменных). Если символьное имя не содержит специальные знаки (за исключением символа подчеркивания) и начинается с буквы или символа подчеркивания, то обратные кавычки ставить не обязательно. Для соединения строк (конкатенации) используется функция cat.
Пример. Трем символьным именам присвоены строковые значения, а затем получен результат их конкатенации.
> `s 1`:= "Мама"; `s 2`:= "мыла"; `s 3`:= "раму.";
s 1 := "Мама"
s 2 := "мыла"
s 3 := "раму."
> cat(`s 1`, `s 2`, `s 3`);
"Мамамылараму."
> cat(`s 1`, " ", `s 2`, " ", `s 3`);
"Мама мыла раму."
Дополнительная информация о строках будет приведена в теме «Средства ввода/вывода».
Как правило, в именах идентификаторов не используются специальные знаки, за исключением символа подчеркивания. Следует избегать имен идентификаторов, начинающихся с символа подчеркивания, поскольку часть из них используется Maple. Значения, хранимые этими переменными, «защищены» от изменения. При попытке присвоить такой переменной значение будет выдано сообщение об ошибке.
Например
> _a:= 1;
Error, attempting to assign to `_a` which is protected
Пользователь также может «защищать» значения своих переменных от изменения. Для этого используется функция protect. Для снятия «защиты» от изменения используется функция unprotect. Аргументом (или аргументами) функции protect (либо unprotect) является имя переменной (имена переменных перечисленных через запятую). Если переменной было присвоено значение, то её имя заключается в прямые апострофы. [Если не заключить имя в апострофы, то в качестве фактического значения параметра функции protect (или unprotect) будет передано значение переменной]. В общем случае при помощи заключения выражения (в частности имени переменной) в прямые апострофы создаётся невычислимое выражение.
Пример.
> x:= 1:
> protect('x');
> x:= 2;
Error, attempting to assign to `x` which is protected
> unprotect('x');
> x:= 2;
x := 2
Индексированные имена — это символьные имена с нижним индексом. Например, x[1]. Индексные имена не являются элементами массива (о массивах будет сказано ниже).
2.1.3Натуральные и целые числа
Натуральные числа — это последовательность десятичных цифр. Целые числа — это натуральные числа со знаком (знак + может опускаться).
Для работы с целыми числами в Maple существует большое число функций. Например: функция iquo(n, m) — возвращает частное n и m; irem(n, m) — остаток деления n на m; ifactor(n) — разложение числа n на простые множители, igcd(n1, n2,…) — наибольший общий делитель чисел n1, n2, isprime(n) — проверяет, является ли n простым числом,…