Урок 7.1. Программа SUBEXAM
В этом уроке я расскажу, как работают методы в языке программирования HPPPL.
Обычно подпрограммы нужно определять перед основной программой. И определять их важно. А сами подпрограммы прописываются после основной программы.
Определенно стоит посмотреть на примеры программ, чтобы лучше понимать, о чем я говорю.
Общий синтаксис:
SUB(); //описание подпрограммы
EXPORT main()
BEGIN
Здесь прописываются команды, включая SUB()
END;
SUB()
BEGIN
Здесь прописываются команды
END;
Программа SUBEXAM
Эта программа создана с демонстрационной целью, то есть для того, чтобы показать, как работают подпрограммы.
Она вычисляет одно из двух значений:
- Если A - положительное число, то программа вычисляет A.
- В противном случае программа вычисляет B.
Где:
A = 2(x-y)/Φ + xy
B = Φ^2
и
Φ = 2e^(x+y) - e^(x-y) - e^(y-x)
Мы будем использовать Φ как подпрограмму.
SUB1();
EXPORT SUBEXAM(X, Y)
BEGIN
LOCAL A, B;
A := (2 * (Y-X)) / SUB1(X, Y) + X*Y;
B := (SUB1(X, Y))^2;
IF A > B THEN
RETURN A;
ELSE
RETURN B;
END;
END;
SUB1(X, Y)
BEGIN
RETURN 2*e^(X+Y) - e^(X-Y) - e^(Y-X);
END;
Примеры:
SUBEXAM(-4, 1) выдает 21998.918189
SUBEXAM(2,3) выдает 86283.2797974
SUBEXAM(-5,-6) выдает 30.648061288
SUBEXAM(2,-3) выдает 21810.6046664