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


ВМ-функции - часть 2


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

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

ВМ-функции rat и Cone используют ВМ-функцию Pythagoras. ВМ-функция INTEGRAND может быть использована в подпрограмме интегрирования (процедуре-функции) для численного вычисления интеграла. При этом а является переменной-параметром для ВМ-функции INTEGRAND, и значение ее передается из Variable Sheet.

347

================== RULE FUNCTION: Pythagoras ==================

Comment: Теорема Пифагора

Parameter Variables:

Argument Variables: side1,side2

ResultVariables: hypotenuse

S Rule-----------------------------------------------------------------------------------------------

hypotenuse^2 = side1^2 + side2^2

==================== RULE FUNCTION: rat =========================

Comment: Прямоугольный треугольник

Parameter Variables:

Argument Variables: a,b,c,alpha,beta,perimeter.area

ResultVariables:

S Rule --------------------------------------------------------------------------

alpha + beta = pi()/2

call Pythagoras(a,b;c)

a/b = tan(alpha)

perimeter = a + b + с

area -a* b/2

==================== RULE FUNCTION: CONE ======================

Comment: Геометрия конуса

Parameter Variables:

Argument Variables: radius,height,slant,theta

ResultVariables: surface,volume

S Rule ----------------------------------------------------------------------------

slant = Pythagoras(radius,height)

tand(theta/2) = radius/height

surface/slant = pi() * radius

volume = radius^2 * height * pi()/3

================== RULE FUNCTION: INTEGRAND =================




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