Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 21
Текст из файла (страница 21)
Для изменения приоритета операций в математических выражениях используются круглые скобки. Выражения в скобках выполняются в первую очередь вне зависимости от приоритета входящих в них операций. Степень вложения скобок во всех современных математических системах не ограничивается. Понятие приоритета облегчает однозначную интерпретацию математических выражений. К примеру, в выражении 2+3'5 вначале будет вычислено 3'5, а затем к результату прибавится 2. В итоге будет вычислено значение 17. А в выражении (2+3)'5 вначале будет вычислено выражение в скобках (2+3), затем оно будет умножено на 5.
тлк что результат будет 25. Таким образом скобки позволяют менять приоритет операций. Степень вложения скобок в современных системах компьютерной математики не ограничена. Однако иногда применение лишних скобок может повлиять на выбор правил вычисления выражений. например при вычислении степеней. 143 3.1. Работа с операторами 3.1.2. Виды операторов Формально операторы представлены своими идентификаторами в виде специальных математических знаков, слов и иных имен. Операторы, как это вытекает из их названия, обеспечивают определенные операции над данными, представленными операндами. Имеется пять основных типов операторов: ° Ь[пагу — бинарные операторы (двумя операндами); ° ипату — унарные операторы (с одним операндом); ° пцйагу — нульарные операторы (без операнда — это одна, две и три пары кавычек); ° ргеседепсе — операторы старшинства (включая логические операторы); ° [цпс[юпа! — функциональные операторы.
Для просмотра операторов и их свойств можно использовать следующие команды вида: > ?орехавохз[вил]; где вид — название вида оператора, указанное выше. Будет выведена страница справки по операторам заданного вида. А для изучения примеров применения операторов нужно задать и исполнить команду > ?орехасохз[ехавр1ез]; Команда > ?ое11пе; позволяет ознакомиться с функций тейпе. С ее помошью можно определять но- вые операторы. 3.1.3. Применение бинарных (инфиксных) операторов Бинарные операторы, именуемые также инфиксными, используются с двумя операндами, обычно размешаемыми по обе стороны от оператора.
В ядро Мар[е включено около трех десятков бинарных операторов. Основные из них перечислены в таблице 3.1. Чуть позже мы рассмотрим и другие бинарные операторы. Примеры вычисления выражений с бинарными операторами (файл ор): > 2+3-(-4]; > [2"3,2**31: [8. 8] > 7 воо 5; > [362,3662]; [3 3[?]] > [хбх,х66х]; [х4?] х[и] > [хзз,ха4]; [х,х,х,х,х,х,х] 144 Глава 3. Работа с математическими выразкеииялт и функциями Таблица 3.1.
Бинарные операторы Обозначение Оператор Обозначение Сложение Оператор композипии Вычитание Повторение композииии Разделитель выражений Уллноженне '* или " Разделитель выражений Остаток от леления $ Оператор последовательности Неколлмутьтивное умножение Нейтральный оператор дев(ппб> Разаелительная точка 11 Конкатенапия (обьединение) > лпс(к"2,к=1..4) 21 > Я:='Не11о 1)' му ')1'сг1епс)( Ю: = Оеботу1Иеп41 Оператор композиции Я© может использоваться для создания и вычисления сложных функций, содержащих цепные дроби: > 1:=а->1/(1+а] л (1663! (а): ! 1:=о -+— а+! +1 ! — +1 а+1 > л(5) з > 9: =а->1/ (1+а" 2) з (9663) (а) ! е."= а -+— оз +! 1 2 +1 ! з > 9(2) ) Деление Возведение в степень 1 6 Присеаивание Задание интервала 145 3.1.
Работа с олераторами А вот еше один пример применения этого оператора для составления цепного радикала и вычисления ряда таких цепочек в цикле: > г:= х -> аягг( З + х); 1:=х-+ Л+х > г(г(0))) > г(г(Г(0) ) ) с 1+ ~Г2 > (г6610) (х): > Гсг Х Ггоюп 1 Го 10 Оа (Е66Ю (О) = ена1Г( <Гаваи) (О) ); ой; 1= 1. ч2 =!.4!4213562 ~Г2 = !.414213562 Д+~Г2 = 1553773974 ~! П~ Г2 = 1.598053182 /~ ~Н~~ ° ~2 = ~б!1847754 = 1.6!6121206 = !.617442798 = 1.6!7851290 = 1.6!7977531 3.1.4. Работа с множествами Мнозкества, относящиеся к первичным понятиям, не являются точно определенными математическими объектами. Можно рассматривать, например, различные множества чисел, множества людей или деревьев и т.
д. Будем считать, что они определяют группу неповторяюшихся объектов. Для работы с множествами определены следуюшие бинарные операторы: ° ипюп — включает первый операнд (множество) во второй; ° )п(егвес! — создает множество, содержашее обшие для операндов элементы; ° п))пив — исключает из первого операнда элементы второго операнда. 146 Глава 3. Работа с математическшии выражениями и функциями В любом случае в результирующем множестве устраняются повторяющиеся элементы. Примеры вычисления выражений с этими операторами приведены ниже (файл зе(5): > (а,а,Ь,с,с,б) ипвоп (е,е,т,д)г (),б,а,Ь,е,с,с(» > (а,а,Ь,с,с,сЦ 1псегвесг (а,с,е,е,г,д»г (а, с» > (а,а,Ь,с,с,б) е1пив (а,гЦ; (Ь, с» Напоминаем, что эти операторы заданы ключевыми словами.
Несмотря на фундаментальность понятия множества, множества применяются в конкретных расчетах довольно редко. 3.1.5. Новый оператор (и в множествах Начиная с Мар»е 8 для удобства работы с множествами был добавлен новый оператор (п. Он может использоваться в виде (файл ве(5): е1егаепс 1п оьбв или е1евепс 1п яесой( туре ) где е»егпеп( — элемент множества или списка оЬ»5, (уре — тип выражения. Применение оператора (и поясняет несколько примеров: >а1п(а, Ь, с, о)) а е (Ь,а,с.((» > еча1Ь(%)г > 3 еп (1, 2, 3» 1псегвесс (( 1, 2, 6) е1пив ( 1, 4, 7 )) ) Зе(2» > еча1Ь(Ъ) г 1а!ве > еча1Ь(1 1п '(1,2,3» 1пгегвесг ((1,2,6) вылив (1,4,7)) '); ,Га)ве > 1в( у гп 5егОЙ( геа1 ) ) аввиеьпд х:." Ггассьоп; Га!ве > гв ( х 1п зегсг ( геа1 ) ) аввиеьпд х:: Ггасгьоп; ггие > сои1с(1гЬе( х 1п 5егсг ( 1пгедег ) ) аввипьпд х::гагтопа1; 3.1.6. Применение унарных арифметических операторов Унарные операторы используются с одним операндом.
Они могут быть нрефиксными, если оператор сюит перед операндом, и лостфиксными, если он стоит после операнда. К унарным относятся семь операторов, приведенных в табл. 3.2. 147 3.1. Работа с операторами Таблица 3.2. Унарные операторы Примеры применения унарных операторов в Мар!е 9.5: > (-х, х+ (-х), х+ (+х) 1; (-х, О, 2х) > 20!: 2432902008176640000 > .234ю .234 > 2.34ю 2.34 > 2" %; 4.68 > авз) а, а, а 3.1.7. Применение оператора % и команды 1)1втогу Мы уже неоднократно отмечали, что в Мар(е оператор % обеспечивает подстановку в строку ввода (или в выражение) последнего результата операции, %' — предпоследнего и %%% — третьего с конца.
Есть еще одна иногда полезная возможность проследить за ходом частных вычислений внутри документа — применение команды-функции 1)!в1огу. Функция ))(в(огу(ехрг) или Кйв(огу() создает список переменных вида 0), где индекс ) = 1, 2. 3.... Этим переменным можно присваивать значения в диапоговом режиме и отслеживать результаты вычислений. Команда о((;, вводимая после использования данной функции, завершает работу с ней.
Ниже представлен диалог с применением функции ))(в1огу: > Ьгесогу() 01 := 2 02 := е1п(1.); .8414709848 148 Глава 3. Работа с л(атематическими вырангениями и функциями 03 := 01*02г 1.682941970 04 := оГГг 3 8(огу К сожалению, полученный результат и значения глобальных переменных О( после завершения работы с данной функцией становятся недоступными, так что практической пользы от ее применения не так уж много. Разумеется, внутри блока ))(в(огу вы можете присвоить результат другой переменной, и он сохранится. При каждом очередном применении функции п)в(огу нумерация переменных О) начинается с начала, так что какой-либо преемственности при использовании этой функции нет. Функция П)в(огу может применяться в качестве средства начальной отладки вычислений.
Внутри фрагмента программы, заданного функцией П(в(огу, можно задавать построения графиков. Например, при исполнении фрагмента программы > Ьхвеогу()) 01: = в1п (х); яп(х) ;= р1ое(01,х=0..20) 03 -= оетг будет построен график синусоиды. В целом работа с функцией ))(а(огу отличается не слишком высокой стабильностью, так что возможности этой функции пока остаются не слишком востребованными. 3.1.8. Работа с логическими операторами Логические операторы, именуемые также булевыми, указывают на логическую связь величин (или выражений).
Они представлены рядом бинарных операторов, приведенных в табл. 6.3 и реализованы во всех СКМ. Таблица 3.3. Бинарные ловоческие операторы Конструкции с этими операторами. такие как х=у, возвращают логическое значение — константу (гце, если условие выполняется. и (а)ве. если оно не выпол- 149 3.1. Работа е операторами няется. Кроме того, к логическим операторам относится унарный оператор по(— он представляет логическое «нет». Для возврата логических значений выражений с этими операторами в Мар!е 9.5 используется функция еча1Ь(условие), например (файл еча(Ь): > 5<2; 5<2 > еча1Ь(Ъ): 1о(ге > еча1Ь (4=2+2) ' й.ие > еча1Ъ(3<>3)) /аде > еча1Ь (пос (Ъ) ): тие > еча1Ь(3=3 ааг) 4>2): (гие > еча1Ь(3=3 ог 2<0); (гие > еча1Ь(к*у=у*к) иие Логические операторы часто используются в управляющих структурах программ, составленных на языке программирования Мар!е.
Такое их применение мы рассмотрим позже. 3.1.9. Применение операторов специальных типов Операторы в Мар1е описывают операции по преобразованию данных, в частности, выражений. Последние, в свою очередь, можно отнести к данным абстрактного типа. Могут быть описаны следующие типы операторов: ° неопределенные ((); ° нейтральные (8); ° процедурные; ° функциональные; ° композиционные (©).