Главная » Просмотр файлов » Прохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V

Прохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V (1185912), страница 15

Файл №1185912 Прохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V (Прохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V.djvu) 15 страницаПрохоров Г.В., Леденев М.А., Колбеев В.В. Пакет символьных вычислений Maple V (1185912) страница 152020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 15)

> па!гасе(Щ > тг(4); Ключ рагнаре Создает библиотечную процедуру. Пример приведен ниже. Примечгтие; библиотечные процедуры загружаются оператором ччгЬ. > 1! А расправе дейпей Ьу а ргоседпге > !ша!а2 иа ргос()!оса!в,1; орг(оп рас)гаае; > 1 на 1ша1а2( Рас$сааеТаЫе): > еча1(1(еча1(ор(ргоспаше),1))(агав)); > еп4: > Ипа)п2( Рас$сапеТаЫе) ва еча1(1(па!я) Процедуры 169 > гг(г(г(1(па!й2,ачЫ); [а~Я) Ключ Соргтгядг Защищает процедуру от просмотра. При просмотре защищенной процедуры ее текст выводиться не будет. Отменить действие ключа Спрут|я)зг можно команлой 1пгегГасе(уегЬозергос=2).

> гпургос:=ргос(у) > ор(1оп Спрут(я(зГ; > у+4 > еаг): > шургос(4); > ега1(гаургос); ргос(у) . елгу тб.4. Просеоеное значений параметрам При описании процедуры указывается список ее формальных параметров. При обращении к процедуре указывается список действительных параметров. В следующем примере в процедуре Г формальный параметр — а, действительный параметр — 2. При вызове процедуры действительные параметры присваиваются формальным.

Глава 16 > Е=ргос(а) > а~2 > епд: > Г(2); При передаче действительных параметров в процедуру проверяется совместимость типов формальных и действительных параметров. В случае их несовпадения генерируется ошибка. Действительные параметры перед передачей в процедуру предварительно вычисляются. > Г(6 — 4); 4 Количес ~ во передаваемых в процедуру действительных параметров может быть не равным количеству формальных параметров (но не меньше количества формальных параметров). > Г(2,34,56,7); Гб.б. Сообщения об ошибках и завершение процессов Выполнение процедуры можно прервать оператором ЕККОК. В этом случае буде1 выдано сообгцение "Еггог, <(и имя процедуры> < список параметров ЕККОК>' Синтаксис ЕККОК: ЕККОК(список параметров). > Г:= ргос (х) 1Г х<0 гйеп ЕКЙОК(цпта! Ы х', х) е)яе х'(1/2) Г( епв: Процедуры > г(2); > г( — 2); Еггог, (ьл ) ьяяаИ х, -2 Если вызов процедуры произошел в режиме ггареггог(..), то список параметров ЕККОК присваивается переменной (азгеггог.

> ггареггог((( — 2)): > (г " = 1азгеггог гйеп 'еггог осспггед' е1яе 'по еггог оссшгед' Й; егз ог оссиггей Процедура после выполнения действий возвращает значение последнего выполненного оператора. Это правило можно изменить при помощи КЕТ(.)К(ч КЕТ()К14 прерывает выполнение процедуры и возвращает список значений. Синтаксис КЕ ШК)ч(<список параметров>). > де)га:=ргос(1) > (г" 1=0 гйеп КЕТ$.'Й)ч((п(1п(гу) е)яе ЙЕТ(ЗЙз 1(0) Й > епд: > де1(а(1); де1га(0); С помощью КЕТ(/Ко) можно передавать не только численные значения.

> и:=ргос(1)„. > ЙЕТ%3Й1Ч('ргоспапзе(аг0я)') > епд: 172 Глава 16 > я(4); я(4) Ключевос слово ГА!Ь предназначено для прерывания процедуры. гА!Ь используется для сообшення о ток, что выражение нельзя вычислить. > )з;=ргос(!) > гА1Ь > епе: > )г(5)1 16.б. Бупееские процедуры Булевские процедуры определяются так же, как и обычные. > я:=ргос(х.у) > хогу > епг): > д(1гпе,(а!яс)1 > согпр:=ргос(х,у) > (г" х>у Игеп ггие е1яе га1зе 6 > епй; еолзр = ргое(з.у) гуу < х Йел ггае е!зев)хе 7) елй Процедуры !73 > !г" сопзр(3, — 2) г)зеп 1 е1яе О 6; 76.7.

Вызов и сохранение процедур в файлах на диске Запись процедур в файл: вате <список имен>,<имя файла> Чтение процедур из файла: геас) <имя файла> > П:=ргос(хо ) > к<2+уе2 > епо: > П:=ргос(х,у) > х'3+у'3 > епа: > вате П,О,ргогз!е; > геао ргойе: 27:= рсос~ и ! 7 к <2+> "2 ет1 /2. =ргос' ц1 с хс "3+у "3 слс) Процедуры можно записать в файл во внутреннем формате Мар!е. Для зтого просто надо лобавить к имени файла расширение ".т". > вате П,'рго. пу; > геаа 'рго.п1; Кроме ззих возможностей сохранения процедур Мар!е имеет большие возможносп~ создания библиотек. Глава 17 174 17. ОПЕРАТОРЫ В Мар1е операторы - это абстрактный тип данных, описывающий операции преобразования над данными.

17.1. Определение операторов в Мар)в Варианзы описания операторов: ° неопределенный ((); ° нейтральный (определяемый пользователем) ( Юс ); ° процедурный; ° стрелочная нотация; ° нотация угловых скобок; ° компо пп1иопный опера гор ((га) . Неопределенный оператор — это оператор, который заранее не был определен. Такой оператор не выполняет никаких действий.

> 1(3,4,5)1 ((3,4, 5) Нейтральный оператор (определяемый пользователем) обозначается значком ачперсантак. Синтаксис описания оператора: ес имя. Имя — э~о любое разрешенное в Мар!е имя или набор специальных символов. В имя оператора нельзя включать цифры и следующие символы: й ( ( 1 ( ( ( );: ' ' Ф <Ек(ТЕК> <БРАСЕ> Максимальная длина имени - 495 символов.

Й-опера торы можно использовать как унарный префиксный оператор или как инфиксный бинарный. Эти операторы генерируют функциональные вызовы с именем нейтрального оператора. Операторы > а * Ь й+ с; а (Ь В+с) > а огхх Ь вЂ” огхх(а,Ь); Опера~ар ~акже можно описать через процедуру.

> (й:=ргос(х) > орйоп орегасог; > хл2 > спи; ф=(х ~ х) > цй(5); 25 В Мар1с можно определять функциональные операторы. Функциональные операторы — это форма представления пользовательских математических функций. Определить функциональный оператор можно в "стрелочной нотации". Синтаксис стрелочной нотации: (список переменных функции)->(функция) > )а:=х — >(х'2); ф =х — ьх > ('й(4); 16 > й:=(х,у,г) — >(х+у+г); г(Г" = ( х+у+г ~ х,у,г) 176 Глава 17 Функциональный оператор можно определить в нотации "угловых скобок".

Синтаксис такой нотации: < функция ) список переменных> > (йпе<х" 2~х>; 1я=(х ! х) > зй(4); 1б > йй=<х+у+х1х,у,х>; ф" — — ( х +у+ х ! х,у,х ) > аз(1,2,3)1 Можно определить (ю - композиционный оператор; > 6=сов(юя(п; 7 = соя®впз > (сов1юя(п) (х); с О 5 ( 5аз(л ) ) > (соа(а)(а'2)(х)' соя (х) (2) Определение операторов с помощью йег)пе Оператор с(еГ1пе реализует определение оператора и его свойств. Пе11пе позволяет определить оператор в двух нотациях: Операторы !77 ° инфиксной (й — имя); ° функциональной (Г(х)). Синтаксис: !зеГ!пе(Г,<список свойств>), где Г- имя оператора, реализующего вычисления.

Свойства операторов; ипату Ьйнп.у аззос!аг)не — унарный оператор; бинарный оператор; — ассоциативный оператор; Г(х,Г(у,г))=Г(Г(х,у),х)= Г(х,у,х). — коммутативный оператор, Г(х,у)=Г(у,х); сошшогайне или зупз!нег!)с апг!злпшегпс — асимметричный оператор, Г(х,у) = -Г(у,х); — определяет инверсный оператор, (Г ->а); — определение "нуля*' оператора. Если любой из аргументов оператора равен х, то оператор возвращает х.

н!л егве=й гего=л > ое((пе(Г,Ь!пасу,аяяос!а1(не,гего=1)! Игаггг(гг!ь пеа г(е/гг!(!(гзп(аг 1 > рплю(Г); ргас( ! (аса! АА ь(5!Хп АА = (пгя5/ АА = шар! ргас! ьра ! г(црсгл(аап!ап! пас!ар(цх! =рп (йегг Од! л! еле л 7! епг! , АА,(па!паше! ! =7, =г!о(г! ЛА!, п(п(е ю < ! г(а Просмотреть текст процедуры можно с помощью рпп!. Опе ато ы !79 > х Й+(у8с+ х) 8с+ (Ой+ х); Й+(х, х,у, г) > ЙейпеИ, сопппп<а!(че, аааос(а!(ее, (ические=а); Ь7ати~ие. иеа Мс)аихеои7от 1 > ((а(х), х,((а,у), у ); с(у,у,г) 180 Глава 18 1е.

ВНЕШНИЕ ВЫЗОВЫ И МАНИПУЛЯЦИИ Мар1е предоставляет возможность вызова других программ и команд операционной системы. Эта функция работает в среде Мар!е, установленной под ОО8. Реализует эту функция команда эумегп. Синтаксис эумеш эуэ|еш (<строка>); где «строка> — команда, передаваемая в 008. Например. если выполнить команду хужеет (сйг); то будет выведено содержимое ~скущего каталога. С помощью эумет можно организовать обмен данными с другими программами.

Рассмоэ рнм простой пример внешнего вызова. Например, на Рааса! написана программа, реализующая численный метод (для простоты пусть это будет программа перемножения двух чисел). РОЗ позволяет в командной с~рокс определить файл. из которого будут считаны исходные ланные. н файл, в который будут записаны результаты. Например, сйрго8.ехе < 1прцг гх1 > ошрцглхг реализует сказанное выше.

В этой команде ООэ файл ргой.ехе — запускаемая программа, файл шрщдх( — файл исходных л шных, файл оцгрц! Лхг — файл результатов. Чтобы орг анизовать такой обмен в Мар1е, надо создать файл исходных данных. Э~о можно сделать стандартными средствами Мар!е. Затем выполняем внешний вызов: эуыет('рго8.ехе < 1прцкгх1 > оц(рц(дхГ). После этого результаты работы программы ргод.ехе можно считать из файла оцзрцглх~ Описанный способ внешнего вызова не рациональный, так как обмен данными иле~ через текстовый файл.

Дополнительные возможности языка Мар!е 19. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ЯЗЪ|КА МАР(.Е 19.1. Отладка и синтаксис сообщений об ошибках Наиболее простой способ отладки программ на языке Мар!е У вЂ” это отладка с помощью рппг!ече!. РПп11ече! — это глобальная переменная, начальное значение которой равно единице. Если установить ее значение больше чем 1, то будет распечатываться пошаговое выполнение введенной процедуры, причем, чем больше это значение, тем больше шагов будет выводиться.

Например, введем две процедуры, в одной из которых есть ошибка — деление иа нуль: > Е=ргос(х) 1оса1у; у:=1; 9(х,у)! епй: > а:=ргос(п,ч) 1оса1 в,г; я:=0; и=ч1я! я+г епа: Вызовем процедуру Е > Т(З); Еггол Пп Х) гГгчГлоп Ьу сего Установим рбпйече(=100: > рг!пг1ече1:=100: > ((3)! (-> егпегу, агяз = 3 ( — > ел!его, огсз = 3, ! 182 Глава 19 <- ЕЯКОЯ !и я (пов!п () = й«!г!оп Ьу ге«о) < — ЕЯКОК !ау' (пон а! !ор 1е«е!) = с(!«и(оп Ьу ге«о) Есгог, (1п д! г!1«!з(оп Ьу ге«о ехеси!т8 Нагетепг; 1:= «/г !оса!з йе(!пег( азгз = О, ! = ! 1( са!1ег! пп!Ь ат8итеп1зг 3, 1 (са1!еб ««!1Ь агяцгпеп1з: 3 19.2.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6485
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее