Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 20
Текст из файла (страница 20)
Чтобы снять все ограничения для переменной х предыдуших примеров, следует просто выполнить следующую операцию присваивания: > х:='х') Однако если переменная с наложенными ограничениями использовалась в выражениях, то простое присваивание имени переменной самой переменной не снимает ограничения на переменную в этих выражениях. Пример 2.22 иллюстрирует подобную ситуацию.
"иефв$юй~$;;,'-"; -: -.'=:;";.,'.;"';.'-;;,,:;; ' ':;,,',:,,„'::;;."",=',,',,:-:-. > авапее(а>0)) > о:=впво(а"2)) > а:='а': ау Как видим, снятие всех наложенных на переменную а ограничений не снимает, однако, этих ограничений с переменной а в выражении ч. Чтобы снять ограничения с этой переменной, следует до команды снятия ограничений с переменной воспользоваться командой подстановки апьв() и первым параметром указать замену переменной а на ее символьное имя 'а'. Часть !. Основы Мар(е ..:а ° Ы еыь.
е.ааа.:,.„:, > аааапе (а>0) ! > д;=апта(а"а)! > Ч:=ааЬ5(а='а ,я) е;=а > а:='а' а:=а С помошью функции 'а() можно определить, удовлетворяет ли некоторая переменная рабочего листа определенному свойству. Эта функция возврашает значение стае, если все возможные значения переменной соответствуют заданному свойству. Если хотя бы одно из возможных значений не соответствует заданному свойству, то функция та () возврашает та1а .
Эта функция может возвратить значение гать, которое информирует полыователя, что невозможно определить, соответствует или нет заданная переменная заданному свойству. Это может произойти либо в результате недостаточности информации относительно ограничений на переменную, либо невозможности вычислить логические ограничения на переменную. > аааапе(а>0); > 1а (а>0) ! (тие > 1а(а<1) )а(ее > аае(ьь1ооа11у(а<1)! > та (а<1) ! !тие ФуНКцИя соо1аьеье() ПрОВЕряЕт, МОжЕт ЛИ ЗадаННая ПЕрЕМЕННая СООтВЕтетвовать заданному свойству.
Она возврашает стае, если хотя бы одно из воз- МОжНЫХ ЗНаЧЕНИИ ПЕрЕМЕННОй МОжЕт ИМЕТЬ ЗадаННОЕ СВОйСтВО, И та1ае в противном случае. Смысл значения г))ть соответствует такому же значе- НИЮ ддя фуНКцИИ ьа () . (05 Глава Я. Основные обьеаты и команды > ахаете(а>0): > аа(а>0)) > сои1сцьье(а=1) (гие > ас(о.е1опа11у(а<1); > соиьдусЬе(а=1); „Га(ае Команда аьоос() отображает информацию о наложенных ограничениях на неизвестную величину: > аьоос(а); Ог10>оа11у а, сепатео а-: 1а ааасхпес) Со Ье: Реа1аапче(ореа(0),орео(1) ) Как отмечалось в начале этого подраздела, многие функции и команды Мар!е используют информацию о наложенных на неизвестную величину ограничениях при выполнении символьных вычислений.
Например, Мар!е не может вычислить следующий предел из-за неизвестности знака символьной переменной а) > 1пс (ехр (а*х), х=О .. 1пГ1о11у) е — 1 )ап Стоит задать предположение о строгой положительности параметра а, и Мар!е тут же вычислит данный интеграл, который он свел к вычислению предела, зависящего от параметра: > ааасхае(а>0) ) > 1пь(ехр(а*х),х=0..1пГ1п1ьу) 2.3. Структура выражений и их вычисление До настоящего момента мы достаточно подробно рассмотрели числовые и строковые типы данных (объекты) Мар1е и упомянули о двух других объектах: списке и множестве.
Для полноценного понимания функционирования системы аналитических вычислений„включая хранимую структуру выражений, нам просто необходимо познакомиться с основными типами объектов, кроме чисел и строк, с которыми работает Мар!е. Часть!, Основы Мар1е 2.3.1. Основные сложные типы данных В отличие от чисел — простых объектов — объекты других типов, с которыми может работать Мар!е, представляют собой сложные типы данных, образуемые с помощью специальных синтаксических конструкций из выражений Мар!е (последовательность, список, множество) или обращением к специальной функции-конструктору (массив, таблица).
2.3.1.1. Последовательность выражений Последовательность выражений, или просто последовательность, — это группа выражений Мар)е, разделенных запятыми. > Б1:=1,2,аята)З),х1 х!:= 1, 2, )ГЗ, х > а2: =-х" 2, 1с )х) +4, х" у; х2:=х', 1п(х) +4,ху > еЗ:=-1,1,х,1,х,2) хЗ:= 1, 1, х, 1, х, 2 > ниатсуре)е2) ' ехртхеа Последовательность является самостоятельным объектом, не имеющим ничего общего с внешне похожими на него списками и множествами. Скажем так: этот объект является базовым объектом Мар)е, на основе которого строятся другие сложные объекты.
Он обладает присущими ему свойствами: сохраняет порядок следования выражений. Это означает, если мы определили, НаПрИМЕр, ПОСЛЕдОВатЕЛЬНОСтЬ е1 С ПЕРВЫМ ЭЛЕМЕНТОМ, раВНЫМ цЕЛОй ВЕЛИ- чине 1, то в этой последовательности (если мы, конечно„ ее не изменим) этот элемент всегда будет первым.
Последовательность может содержать и повторяющиеся элементы, расположенные в произвольном порядке внутри последовательности (ез в примере 2.26). Последняя команда этого примера определяет тип объекта, заданного в качестве его параметра. Для последовательности ее тип имеет нмя ехртаеч (сокращение от ехргевз!оп веоцепсе). Если этот тип данных передается в качестве параметра функции Мар!е, то каждый его элемент рассматривается как соответствующий параметр функции. Для многих операций Мар(е использование в качестве одного из операндов последовательности приводит к выполнению этой операции для каждого ее элемента в качестве соответствующего операнда и формирования результирующей последовательности. Использование последовательности переменных в левой части операции присваивания и последовательное~и Глава 2 Основные объекты и команды 107 значений в правой приводит к множественному присваиванию с помощью одной операции.
Все эти возможности иллюстрируются в примере 2.27. > 51:=51П]Х)*Х 2 Х; «1:= 5]п(х) х, х > )пт]51) -х« со«(х) е 2 со«(х) т 2 х 5)п(х) > 52:=1,2,З; «2:= 1, 2, 3 > 53:=у]]52: «3:= у1, у2, уЗ 1',в,)):=1,2,3 > Е,д,):;=52; Последовательность можно мыслить, как последовательность выражений, перенумерованных натуральными числами, начиная с единицы; первый элемент имеет индекс 1, второй — 2 и т. д. В связи с этим, можно получить значение любого элемента последовательности, используя индексную форму записи — после имени переменной в квадратных скобках задать индекс элемента: > 5:=Х,Х"2,Х"3; «:=-х. х",х > 512); х Однако присвоить новое значение элементу последовательности с использо- ванием индексной формы обращения нельзя: > 512]:=х" ] — 2); Еттот, сапное а551оп со ап ехртеээтоп вепнеосе Ошибка, нельзя присвоить значение элементу последовательности выражений эеЧ)«,1=ш..п); веЧ Ю, 1=Х); В них г — выражение, зависящее от переменной, имя которой определяется ПаРаМЕтРОМ 1, ш И п — ЧИСЛа, ОнрсдЕЛЯЮЩИЕ днаиаЗОН ИЗМЕНЕНИЯ ПЕРЕМЕН- Для создания длинных последовательностей, элементы которых подчиняют- ся некоей закономерности, можно использовать команду эеч]) и операцию повторения з.
Команда веч]) имеет две формы: Часть !. Основы Мар!е ной 1 с шагом 1, а х может быть списком, множеством, суммой, произведением или строкой. В последнем случае переменная ' последовательно принимает значения, равные символам строки. > аеп! зтп !Р1*1сб!, 1=0.. 55 О,—,— с!3, !,— /3,—,0 ! 1 ! 1 '2 2 ' '2 '2' > вес! ! х ! сс], !с=3 .. 5 !; ХЗ,Х4 Х5 > вес!(сах пс, "1" ), !с="аххгад'ч г Операция повторения 3 может быть унарной и бинарной.
В первом случае оиа применяется к диапазону ас..а, где ас и о — числа, а во втором случае первым операндом является выражение, зависящее от переменной, которая указана во втором операнде, содержащем также операцию диапазон. Все случаи ее использования демонстрируются в примере 2.29. 2, 3, 4, 5 >1251=223..8/35 4 25 64 9'9'9 > а!1! 3 5. = 1..3; > хб45 х,х,х,х 2.3.1.2. Списки и множества Список — упорядоченная последовательность выражений, заключенная в квадратные скобки, а згножвстлво — неупорядоченная последовательность выражений, заключенная в фигурные скобки.
Относительно множества следует отметить, что этот объект понимается в Мар1е точно так же, как и в математике. Если в последовательности присутствуют повторяющиеся элементы, то в множестве им будет соответствовать один элемент, тогда как в списке все повторяющиеся элементы существенны, т. е. список может содержать повторяющиеся элементы, стоящие иа разных местах. При задании Глава 2 Основные абьекгы н команды множества порядок элементов не существен, главное, чтобы в последова- тельности присутствовали все элементы, образующие множество. > [а,Ь,с], [а,с,Ь), [а,а,с,с,Ь,а]; [) Задание разных списков [а, Ь, с), [а, с, Ь), [а, а, с, с, Ь, а) > [а,Ь, с),[а, с,Ь), [а, а, с, с,Ь,а); [) Задание одинаковых множеств (а, Ь,с), (а, Ь,с), (а, Ь, с) Списки, как и последовательности, сохраняют порядок своих элементов, поэтому с помошью индекса можно получить значение любого элемента списка, что, впрочем, справедливо и для множества.
Более того, индексной форме элемента списка можно присвоить новое значение, изменив тем самым значение соответствую(лего элемента списка. Подобная техника не проходит лля элементов множества. > 1;=[а,Ь,с]г ];= [а, Ь, с] > 1[г]; > ].[з]:=з; 1г ! .-3 [а,Ь,З) > э:=[а, а, с, с,Ь, а)," з:= (а, Ь,с) > в[г]; > в[з]:=з; ю ассов, сапное азвтдп со а зев (а, Ь,с) Замечание []рн создании множества порядок его элементов формируется системой Мар]е н вюжет меняться ог сеанса к сеансу прн работе с одним н тем же рабочим листом.