Maple: Управляющие клавиши ИМС; замечания и предложения по его использованию и развитию, страница 10

            31. В общем случае параметрического определения радиуса и полярного угла для polarplot-функции не допускается опускания диапазона изменения параметра. В противном случае идентифицируется ошибочная ситуация. В polarplot-функции не за-действованы опции labels и coords. Таким образом, посредством coords-опции созда-нный по polarplot-функции график невозможно конвертировать в другие системы коор-динат, в отличие от plot-функции, допускающей такую процедуру конвертации.

            32.Попытка переопределения шрифта для заголовка 3D-ГО посредством replot-функции приводит к потере заголовка, как это иллюстрирует простой фрагмент:

> S:=plot3d(x^2+y^2,x=-3..3,y=-3..3,title="Title"):  replot(S,titlefont=[TIMES,BOLD,12]);

Причина этого лежит в том, что в результате модификации исходной 3D-ГО-структуры replot-функция удаляет текстовую компоненту TITLE-опции в выходной структуре. Для устранения данного недостатка служит простая T_Font-процедура в основном тексте.

            33. Использовать переопределение установок для вывода ГО в процедуре по функции interface либо plotsetup следует весьма осмотрительно, ибо данный механи-зм в данном случае не работает, как это иллюстрирует следующий простой фрагмент:

Фрагмент иллюстрирует создание графической Plot-структуры и определение процеду-ры F_Plot(ST,SF), которая по своей логике должна переопределять установки для вы-вода ГО, соответствующего ST-структуре, направляя вывод в SF-файл GIF-формата с последующим восстановлением значений установок по умолчанию. Однако результат последующего вызова данной процедуры говорит об отсутствии принимающего файла. Тут же следует отметить, что вывод ГО по smartplot/smartplot3d-функции производит-ся на экран монитора без учета указанных установок plotsetup/interface-функции.

            34. Как уже отмечалось, {smartplot,smartplot3d}-функции занимают несколько особое место среди графических средств Maple-языка и их совместное использование с другими графическими средствами весьма ограничено. Причиной этого является то, что они не возвращают стандартных графических структур данных и ориентированы лишь на непосредственную визуализацию графических "набросков" функциональных зависимостей. Следующая достаточно простая процедура Smart_Plot(S,P):

> SM1:= smartplot3d(x^2+y^2):   SM:= smartplot(x*sin(x)):   Smart_Plot(SM1,PS1); \

Smart_Plot(SM,PS);   PS;   PS1;  Þ

  

обеспечивает возврат в качестве значения ее второго P-аргумента результат конверта-ции Smart-структуры, определенной первым фактическим аргументом, в стандартную {2D|3D}_ГО-структуру. Примеры фрагмента иллюстрируют использование процедуры. Процедура не обрабатывает Smart-структуру, созданную smartplot{3d}-функцией, в ка-честве фактического аргумента которой выступает уравнение. Читателю в качестве по-лезного упражнения рекомендуется восполнить данный недостаток процедуры.

            35. При циклическом обращении к TEXT-файлу (открытому или закрытому) по readline-функции без обработки ситуации “конец файла” производится бесконечное ци-клическое считывание строк файла с возвратом их значений, включая нуль-значения, отвечающие ситуации “конец файла”, как это иллюстрирует простой пример:

F:="C:/ARM_Book/Academy/RANS":  do readline(F),filepos(F),feof(F) od;Þ

"42 47 67 62 89 96", 19, false

"57 52 32 37 3 10", 37, false

"12.3 18.2 0 6.6 -2.5 -30", 63, false

0, 0, false

"42 47 67 62 89 96\r", 19, false

<Вычисление прервано по Stop-кнопке>

> close(F):  feof(F); Þ  false

> iostatus();  Þ  [2, 0, 7, [0, "C:/ARM_Book/Academy/RANS", STREAM, FP=6913846, \

READ, BINARY]]