происходит практически мгновенно, так как
> fe(30);
832040
> time(fe(30));
0.
При этом вычисление fe(30) происходит практически мгновенно, так как все промежуточные результаты в первом случае вычисляются заново, а во втором они берутся из таблицы. Однако это справедливо лишь тогда, когда к процедуре было хотя бы однократное обращение. Обратите внимание на то, что данные процедуры являются рекурсивными — в их теле имеется обращение к самим себе.
Ключ builtin
Ключ builtin придает процедуре статус встроенной. Он должен использоваться всегда первым. С помощью функции eval(name) можно проверить, является ли функция с именем name встроенной:
> eval(type);
proc() option builtin; 268 end proc
> eval(print);
proc() option builtin; 229 end proc
Числа в теле процедур указывают системные номера функций. Следует отметить, что в новой версии Maple 7 они существенно отличаются от принятых в предшествующих версиях.
Ключ system
Этот ключ придает процедуре статус системной. У таких процедур таблица памяти может быть удалена. У обычных процедур таблица памяти не удаляется и входит в так называемый «мусорный ящик» (garbage collector).
Ключи operator и arrow
Эта пара ключей задает процедуре статус оператора в «стрелочной» нотации (->). Это достаточно пояснить следующими примерами:
Ключ trace
Ключ trace задает вывод отладочной информации:
> о:=ргос(х,у) option trace, arrow; x-sqrt(y) end:
о := proc (x, y) option trace, arrow, x - sqrt(y) end proc
> o(4,2.);
{--> enter o, args = 4,2.
2.585786438
<-- exit о (now at top level) = 2.585786438}
2.585786438
Ключ copyright
Этот ключ защищает тело процедуры от просмотра. Это поясняют следующие два примера:
> o:=proc(x,y) x-sqrt(y) end:
о := proc (x, у) х- sqii(y) end proc
> oo:=proc(x.y) option Copyright; x-sqrt(y) end;
oo := proc(x,y) ... endproc
> oo(4.2);
2.585786438
Нетрудно заметить, что во втором примере тело процедуры уже не просматривается.Для отмены защиты от просмотра можно использовать оператор interfасе(verboseproc=2).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий