АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Процедуры

Читайте также:
  1. АДМИНИСТРАТИВНЫЕ ПРОЦЕДУРЫ
  2. Вложенные процедуры и интегрирование по частям
  3. Вопрос 32 Процедуры познавательной деятельности: обоснование, доказательство, объяснение, понимание
  4. Глава 15. ПРИМИРИТЕЛЬНЫЕ ПРОЦЕДУРЫ. МИРОВОЕ СОГЛАШЕНИЕ
  5. Глава 7 ПЕРЦЕПТИВНЫЙ СДВИГ: ОСНОВНЫЕ ПРОЦЕДУРЫ
  6. Глава III. Административные процедуры
  7. Для каждой аудиторской процедуры, предусмотренной программой аудита, разработайте или определите рабочий документ аудитора.
  8. Завершение действия таможенной процедуры переработки на таможенной территории
  9. Завершение процедуры внутреннего таможенного транзита
  10. Завершение процедуры слияния
  11. Закаливающие процедуры. Посещение бассейна. Посещение сауны. Купание в проруби.
  12. Закупка у единственного поставщика по результатам несостоявшейся конкурентной процедуры закупки

 

Любая процедура в Maple начинается с заголовка, состоящего из имени процедуры, за которым следует знак присваивания и служебное слово proc, далее в круглых скобках через запятую указываются формальные параметры. Процедура обязательно заканчивается служебным словом end. Все выражения и команды заключенными между служебными словами proc и end составляют тело процедуры.

 

имя процедуры:= proc (список формальных параметров); команды (или выражения); end;

 

Если процедура загружена, то ее вызов осуществляется по имени. Возвращаемым значением по умолчанию является значение последнего выполненного оператора (команды) из тела процедуры, при этом тип результата работы процедуры зависит от типа возвращаемого значения.

Пример.

[> f:=proc(x,y);x^2+y^2;simplify(%);end:

[> f(sin(x),cos(x));

При написании процедур в Maple можно использовать ряд команд и служебных слов, кроме указанного выше обязательного минимального набора, которые позволяют описывать переменные, управлять выходом из процедуры, сообщать об ошибках.

При описании формальных параметров процедуры можно явно задавать их тип через двоеточие. При таком описании Maple автоматически проверяет тип фактического параметра и выдает сообщение об ошибки в случае его несовпадения с типом формального параметра.

После заголовка процедуры может следовать описательная часть процедуры, отделяющаяся от него пробелом. При описании локальных переменных, используемых только внутри данной процедуры можно использовать описатель, который задается служебным словом local, после которого через пробел необходимо указать имена локальных переменных. Использование глобальных переменных в процедуре можно задавать служебным словом global, который должен размещаться в описательной части процедуры.

Для выхода из процедуры в любом месте ее тела и присваивания результату ее работы по выполнению нужной команды можно использовать команду RETURN(val), где val – возвращаемое значение, которое может иметь различный тип при выходе из разных мест процедуры.

Для аварийного выхода из процедуры в случае возникновения ошибки и сообщения о случившемся можно использовать команду ERROR(‘string’), здесь string – сообщение, которое выводится на экран монитора в аварийной ситуации. Таким образом, общий вид структуры процедуры можно изобразить следующим образом:

 

имя процедуры:=proc(список параметров процедуры) V local V список локальных переменных, приведенных через запятую; global V список глобальных переменных, приведенных через запятую; RETURN(val); ERROR(‘error in body of procedure’);… end;

Пример.

[> examp:=proc(x) local y,w; global z; if x<0 then RETURN(-x); elif x=0 then ERROR('Variablex=0'); fi;[x,x^2,x^3]; end;

[> examp(-1);

[> examp(0);

Error, (in examp) Variablex = 0

[> examp(2);

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)