Основы современных компьютерных технологий


ВМ-функции


Каждая ВМ-функция - функция, содержащая описание ВМ (тип функции Rule), должна быть объявлена на панели Function Sheet и описана на панели Rule Function Subsheet.

Описание В М-функции включает в себя множество правил (условных и безусловных предложений вычислимости) и объявление ее входных переменных:

  • переменных-параметров В М-функции в поле Parameter Variables (значения переменным этого поля присваиваются непосредственно из панели Variables Sheet);
  • переменных-аргументов в поле Argument Variables (значения переменных передаются через список вызова В М-функции);

и выходных переменных - результатов функции в поле Result Variables (значения возвращаются через список вызова ).

В общем случае для В М-функций можно отойти от жесткого разделения на только входные или только выходные переменные: входными считаются переменные, значения которых известны до обращения к функции, а выходными - переменные, значения которых могут быть вычислены для заданного множества входных переменных. Поэтому входными могут быть переменные, описанные и как аргументы, и как результаты; аналогично и выходными. Однако в вызове ВМ-функции должен быть специфицирован полностью весь список аргументов и результатов ВМ-функции, даже если заведомо известно, что не все исходные данные означены и соответственно будут получены не все результаты.

В ВМ-функциях попытка означить переменную-параметр значением, отличным от того, что задано на панели Variables Sheet, приводит к ошибке, фиксируются ошибки также, если значение какой-либо переменной вычисленное с помощью одного соотношения, не согласуется со значением этой или другой переменной, вычисленной с помощью другого соотношения.

В теле ВМ-функции могут быть ссылки или обращения к другим В М-функциям или процедурам (рекурсивные ссылки и вызовы не допускаются, т.е. нельзя обращаться к самой себе).

Решатель задач осуществляет обработку переменных и правил ВМ-функции аналогично тому, как это делается для переменных и правил из панели описания вычислительной задачи Rule Sheet. Неизвестные переменные могут содержаться как в левых, так и в правых частях правил и вычисляются с использованием тех правил, в которых они представлены.




Начало  Назад  Вперед