Главная » Просмотр файлов » Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании

Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 83

Файл №1185901 Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании.djvu) 83 страницаДьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901) страница 832020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

) где аргументы задаются в виде равенств вида пагие=ча1це и слов-указателей: аиоб>гаак апогсиаог ач)055519и аспо аиьч )гиа9)па~учи)! )ибеи)аеоои! !аЬа)!~и9 )аьа)ви3)Л )а)ахвкаЛ р55сыача) р!о)бач!са р)о)орбоиа Р)оа>о)РЧ) )оивба))гп р 5)р)о) ргар)с) ргаиуриы рихлр! яма) г)аыеааа асгааипе9Л) асгеаив)б!Л аповаааогааб чегЬоааргос чаг5гои ваги!ече) Рассмотрим только некоторые, наиболее важные возможности этой функции. Указание чегбовергос=и задает степень детальности вывода листинга процедур. При и=0 текст не выводится, при п=1 выводится текст только заданных пользователем процедур, а при и=2 — всех процедур на Мар!е-языке.

Пример этого был дан выше. Указание рге()урпи1=0 или 1 управляет выводом стандартных сообщений. Указание р)о(бич!се=5(пид управляет выводом графики, например р1о)с)еч)- се=д!1 указывает на то, что запись графиков в виде файлов будет происходить в формате .д!1. Одним из основных средств отладки процедур является функция трассировки (гасе(иап)е). Детальность ее работы задается системной переменной рппвече) (уровень вывода). При рпийече!гаи (значение и = 1 по умолчанию) выводится результат только непосредственно исполняемой функции или оператора.

Для вывода информации о выполнении Й-го уровня вложенности надо использовать значение этой переменной от 5*1г до 5*(А+ 1). Так, при и от 1 до 5 выводятся результаты трассировки первого уровня, при п от 6 до 10 второго и т. д. Максимальное значение п = 100 обеспечивает трассировку по всем уровням вложенности процедуры пате. Следующий пример показывает осуществление трассировки для функции 1п1(х"п,х): > рг1ЛГ1еча1:-5; рпи1!ече1:= 5 > стаса[усе) ( — > еи)ег !гасе, аг95 = )и! <-- ехй )гасе (иов а! )ор!ече1) = )и!) !и! Глава 1д. Типовые средства программирования > апг(х"п,х) (--> еп(ег !п(, агйа = х"п, х (лл)) апа(чег: =— п+1 ( юн-) ) и+1 < — ехй !и( (почг а( (ор (ече!) = х"(и+1)/(и+1)) (лл)) п+1 Действие функции трассировки отменяется командой цп(гасе: > ппггасе (1пг) ) ( — > еп(ег пп((асе, аг)(а = !и( < — ехй цп(гасе (поч( а( (ор!ече1) = (п() )п( > 1пг(» и «)) ( — > еп(ег !и(, агав = х" п, х < — ехц )п( (по)ч а( гор 1ече1) = х" (и+1)/(и+1Ц (л+!) и+! > ргьпГ1ече1)=1) рпп(!ече1 >л 1 > 1пг (х" и, х]; Х'л"' и+1 При отладке алгоритмов выполнения вычислений надо тщательно следить за сообщениями об ошибках.

Для этого в Мар1е предусмотрены функция (гасвегг и системная переменная (ав(еп, в которой сохраняется последнее сообщение об ошибке. При каждом обращении к (гасеп переменная 1аа(егг очищается: > 2/0) Еггог, пп)лег1с ехергаоп) с(1чге1оп Ьу »его > 2/4) !/2 > 2/. 3) 6.666666667 > 1азгеггогг л(1!ч(яоп Ьу лего" б21 Л).4. Средсп(оа опиадаа программ > ггареггог(3/4); 3/4 > 1аагеггог: 1аз(еггог > ггареггог(5/0)ю Еггог, ппвегас ехерехоп:бьчта1оп Ьу гего > 1аагеггог; "пшпепс ехерцоп б)у)з)оп Ьу гего" Этот пример показывает, как может быть проведено отслеживание ошибок в ходе вычислений.

Вообще говоря, пользователь системой Мар(е редко привлекает описанные средства, поскольку проще отладить вычислительный алгоритм прежде, чем на его основе будет составлена процедура. При правильном построении процедур ошибочные ситуации заведомо предусматриваются и должным образом обрабатываются. 10.4.2.

Преобразование программных кодов В пакете расширения Со()еС>епе(апоп определены функции преобразования Мар1е-кодов в коды других языков программирования: > еьгь (собебепегагьоп): иагпьпо, гье ргогесгеб паве маг1аь ьаа ьееп гебетгпеб апб спргогесгеб 1С, гоптап, й(еппеа(а(еСоде, дага, ЕопяиаееРеЯпй/оп, МадаЬ, Жатег, Юа>е, Тгапз!а(е, Изиабйаг(с! Например, преобразовать Мар!е-коды процедуры п)о()с в коды языка МАТЮКАВ можно следующим образом: > маг1аЬ(вобс); иагпапо, гье гопсгьоп павеа ( 1в, ле) аге пег гесочпгаеб гп гье гагоег 1апопаое Гопссьоп вобсгеспгп - вобс(г) вобсгеепгп = (аяге(де [а) " 2 + 1в(г) " 2) ) Из этих примеров очевидно, что пользователь системой Мар!е, интересующийся программированием в ней, имеет возможности легко ознакомиться с листингами процедур написанных на языке программирования системы Мар!е, да и на ряде других языков программирования.

Более подробное рассмотрение применения программных кодов на других языках программирования в задачи данной книги не входит, хотя оно вполне возможно и система Мар!е располагает средствами для этого. 10.4.3. Работа с отладчиком программ В большинстве случаев составители программ (процедур) редко прибегают к пошаговой их отладке. Средства общей диагностики уже в Мар!е развиты настолько хорошо, что позволяют выявлятырубые ошибки в процедурах при их выполнении. Иногда, правда, для этого приходится неоднократно «прогонять» процедуру, пока она не начнет работать как задумано. Тем не менее, для отладки проце- ыг Глава 20.

Типовые средства программирования дур служит специальный интерактивный отладчик (()еЬояяег). Опишем, как его запустить и как с ним работать. Допустим, мы составили некоторую процедуру белю, вычисляющую сумму квадратов чисел (1'2+2"2+...+и"2): > бево: -рсос (и:: 1псеоег) 1оса1 у, а: > у:=О: > сог а Со и бо у:=у+1 "2 об > епб; дете: = ргос(п:: (п(ееег)!оса1 у, (; у: = О; й)г((о и ()оу: =!"2 епд бо евб ргос > с(ево(3) 14 Чтобы включить отладчик в работу, надо исполнить команду в(ора1: > зсорас(бево); ( Иеп)о ) > с)ево(3): бево: 1* у := О( ово> Признаком, указывающим на работу отладчика, является изменение приглашения к вводу со знака > на ОВО> (как нетрудно догадаться, ОВО означает ЫеЬидяег). Теперь, подавая команды пех( (следующий), в(ер (шаг) и в1ор (остановка), можно проследить выполнение процедуры: ОВС> пехс О бево: 2 епб бо ово> зсер О бево: 3 у := у+1"2 ово> зсер 1 бевос 3 у с= у+1"2 ОВО> зеер 5 бево: 3 у ".= у+1"2 ово> зсер 14 В последнем случае процедура по шагам дошла до конца вычислений: на этом работа отладчика завершается сама собои.

62З 10.5. Файловые операции с проераммпыми модулями Можно также вывести листинг процедуры с помощью команды впоччв1а1: > еьочвсас(оепю)г сепо := рхос(п::Зсьесег] 1оса1 у, х; 1* у:-О; 2 гох з со с с!о 3 у := у+~"2 еос с!о ело рсос Обратите внимание, что в этом листинге строки вычисляемых элементов пронумерованы. Это сделано для облегчения разбора работы процедуры. В общем случае отладчик выключается при выполнении команд в1ора1, в1орччПеп или в1орегг.

Если используется команда в1ора1, то вывод на экран соответствует исполнению последней выполненной команды. Для отмены этой команды используется команда цпв1ора1. Команда а1орччпеп позволяет установить точку наблюдения за указанной в команде переменной. Отменить ее можно командой цпа1орччпеп. Команда агорепог позволяет задать остановку при появлении определенной ошибки. Для отмены этой команды используется команда цпв1орепог. Команда соп1 используется для продолжения работы до следующей точки прерывания, установленной указанными выше командами, или до конца процедуры. Для прерывания отладки можно использовать команду г)ц!! После команды а(ор можно вычислить любое Мар!е-выражение.

В действительности команд отладчика намного больше и их функции более развиты, чем это описано выше. Пользователи, заинтересованные в серьезнои работе с отладчиком (скорее всего, их немного) могут просмотреть его подробное описание. Для этого в разделе справочной системы Соп1ех1 найдите раздел Ргодгатт!п9, а в нем — раздел Реоц99!п9. 10.5. Файловые операции с программными модулями 10.5.1. Считывание и запись программных модулей В Главе 2 рассматривалась работа с файлами документов и данных.

Вводимые в текущий документ программные модули хранятся вместе с ним, так что при отказе от загрузки какого-либо документа все его программные блоки не могут использоваться в других документах. Кроме того, порой неудобно загружать объемный документ ради использования одного или нескольких модулей, например процедур. Поэтому в Мар!е введены средства. позволяющие записывать нужные модули (в том числе результаты вычислений) на диск и считывать их в случае необходимостии. Для записи на диск используется оператор ваче: ааче б!епате — запись всех определений текущего файла под именем 6!епипе; ааче пате 1, пате 2, ..., пате К б!епагпе — запись избранных модулей с именами пате 1.

пап1в 2, ..., пате к под именем В!епагпе. Считывание имеющегося на диске файла Г1!епате осуществляется оператором геаг): геас! <111епаве> б24 Глава 10. Типовые средства программирования При считывании все имеющиеся в файле определения становятся доступными для рабочих документов Мар!е. При записи файлов отдельных определений используется специальный внутренний Мар!е-формат файлов. Для загрузки файлов типа *ля из стандартной библиотеки используется функция геа([1[Ь.

А для записи файлов в качестве библиотечных достаточно в имени [1[епап)е оператора Баче указать расширение .гп. Разумеется, можно считывать такие файлы и оператором геаб, указав в имени файла расширение (и (файл р7): > Бане ву ргос, 'ву 11Ь.в: $ запись файла ву ргос и > () библиотечного файла ву 11Ь.в; > 1оаб 'ву 11Ь.в': () считывание библиотечного файла > () ву 11Ь в. 10.5.2. Создание своей библиотеки процедур Если приведенные выше примеры составления процедур кажутся вам простыми, значит, вы неплохо знаете программирование и, скорее всего, уже имеете несколько полезных процедур, которые вы хотели бы сохранить — если не для потомков, то хотя бы для своей повседневной работы. Сделать это в Мар]е довольно просто.

Прежде всего надо определить имя своей библиотеки, например гпу[[Ь, и создать лля нее на диске каталог (папку) с заданным именем. Процедуры в Мар]е ассоциируются с таблицами. Поэтому вначале надо задать таблицу-пустышку под будущие процедуры: > гезсагг1 > ву11Ь:=ГаЬ1е()1 ту!12к( = (аЫе(Ц) Теперь надо ввести свои библиотечные процедуры. Они задаются с двойным именем — вначале указывается имя библиотеки, а затем в квадратных скобках имя процедуры. Для примера зададим три простые процедуры с именами И, [2 и [3: > ву1>Ь[г1]:=ргос (х:: апугпьпо) згп (х)+сон (х) епс(т > ву11Ь[Г2]:=ргос(х::апуГЬ1пд) зьп(х) "2+соз(х) "2 епс(: > ву11ь[гз]:=ргос(х::апугььпд) ьг х=О гьеп 1 е1зе 55п(х) /х г1 епгн Рекомендуется тщательно проверить работу процедур, прежде чем записывать их на диск.

Ограничимся, скажем, такими контрольными примерами: > ву11Ь[Г1] (х) 1 Б1П(Х) + СО5(Х) > ву11Ь[Г1] (1.); 1.38177329! > ву11Ь[Г2] (х): 51П(Х) + СОБ(Х) > згвр11еу(ву1гЬ [Г21 (х) ) 1 625 10.5. Файловые операции с программиылт мод)гаями > еча1г (пу11Ь[гЗ] (х) ) ( 5[в[и) > 51й(0) /О' Еггог, г)учгя1оп Ьу гего > гпу11Ь [г3] (О) г > е*гатг (пу11Ь [ГЗ] (. 5) ) г .9588510772 Можно построить графики введенных процедур-функций. Они представлены на рис. [0.5. Обратите особое внимание на правильное задание полного имени файла.

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

Тип файла
DJVU-файл
Размер
14,75 Mb
Тип материала
Высшее учебное заведение

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

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