Глава 10
Математические функции
Краткое содержание: • PI, EXP, LN, SIN, COSf TAN, ASN, ACS,
ATN.
В этой главе описываются математические функции, которые могут
быть выполнены на ZX SPECTRUM. Вполне возможно, что вам никогда
не придется воспользоваться ими, и если вы сочтете их слишком
сложными, можете пропустить эту главу. Все сказанное относится к
функциям: ♦♦ (возведение в степень), EXP, LN, тригонометрическим
функциям: SIN, COS, TAN, и обратным к ним: ASN, ACS, ATN.
** и EXP вы можете возвести число в некоторую степень путем
многократного умножения его само на себя необходимое число раз,
это, обычно, изображается записью числа, обозначающего степень,
справа вверху от числа, обозначающего основание, то такую форму
записи трудно реализовать в компьютере, поэтому там используется
специальный символ'(направленная вверх стрелка, в данном описании
замененная , двумя звездочками: '*♦'). Например, степень двойки
можно представить так:
2 1 * 2
2 *• 2 ■ 2*2 » 4 (ДВА В КВАДРАТЕ)
2 *• 3 * 2*2*2 = 8 (ДВА В КУБЕ)
- Таким образом, запись А**В означает: 'умножь'А'само на себя
'В' раз. Но это предполагает, что 'В' положительное целое число.
Для нахождения определения для этого действия при других значени-
ях а и в запишем выражение:
А *♦ (В+С) • А ♦♦ В ♦ А ♦♦ С
Здесь надо помнить, что операция '*♦' имеет более высокий при-
оритет, чем '♦' и '/'. Вы можете быть уверены в правильности это-
го выражения если, 'В' и 'С' целые положительные числа, но если
•то но так, а вы все-таки решили выполнить возведение в степень*
то вы должиы знать, что
А •• 0 • 1
А (-В) • I/ (А**В)
А ** (1/В) ■ корню В-ой степени из А
А ♦♦ (В*С) ■ (А**В) **С полезно помнить, что:
А *• (-1) » 1/А
А ♦♦ (1/2) ■ SQR А проэксперимеитируйте с этим, попробовав вы-
полнить такую программу:
10 INPUT А, В, С
20 PRINT А** (В+С), А**В*А**С
30 GO ТО 10
Компьютер станет выводить два числа, если вы правильно, конеч-
но, набрали программу. Число А, кстати, не должно быть отрица-
тельным .
Другой пример использования этой операции, это вычисление до-
хода. Предположим, что вы вложили часть своих денег в обществен-
ное строительство, которое приносит вам 15% годовых. После года
вы будете иметь уже не точно 100% от того, что имели в начале, а
плюс 15% дохода, что составит 115%. Для вычисления другим спосо-
бом, вы умножаете вашу сумму денег на 1.15 и получаете тот же ре-,
зультат. В конце следующего года вы снова получите прибыль, чтр в
сумме составит 1.15*1.15, т.е. 1.1 5**2 ■ 1.3225 от вашей перво-
начальной суммы. В итоге после Y лет вы будете иметь в 1.15**Y
раз больше денег. Выполнив операторы:
FOR Y«0 то 100: PRINT Y,10* 1.15•*Y: NEXT Y вы увидите, что на-
чиная с 10 фунтов можно получать все больший и больший доход с
капитала.
Такой тип поведения функции, когда после фиксированного числа
интервалов времени, значения функции пропорциональны количеству
умножений этого числа самого на себя, называется экспоненциальным
законом. Предположим вы записали:
10 DEF FN А (х) ■ А**х здесь А определено в операторе LET, его
значение передается для вычисления степени.
Имеется определенное значение А, которое делает функцию FN А
иллюстрирующей специальную математическую функцию. Это значение
называется 'Е'. ZX SPECTRUM имеет специальную функцию, называемую
ЕХР и определяемую как: ЕХР Х=е**Х
К сожалению, 'е' не может быть представлено точным числом. Вы
можете увидеть пять первых его десятичных знаков, выполнив
PRINT ЕХР 1 так как ЕХР 1 » е 1 » е. Конечно, это лишь пер-
вое приближение, вы никогда не сможете записать 'е' абсолютно
точно.
LN обратной к экспоненциальной является логарифмическая функ-
ция. Логарифм, по основанию А, числа X есть степень, в которую
надо возвести А, чтобы получить X, это записывается так: LOGA X.
(выражение A**LOGAX»X так же верно как и LOGA (А**Х) »Х).
Вам должно быть уже известно как используется логарифм по
основанию 10 для умножения. Такой логарифм называется общим. ZX
SPECTRUM имеет функцию LN, которая вычисляет логарифм по основа-
нию 'е', называемый натуральным. Для вычисления логарифма с дру-
гим основанием, надо разделить натуральный логарифм искомого
числа на натуральный логарифм основания:
LOGA X*LN X/LN А
Допустим имеется некоторый круг, вы можете найти его периметр
(длину окружности), умножив его диаметр на число, называемое PI.
Подобное 'е', PI представляется бесконечной десятичной дробью,
fro начало:
3. 141592653589.. .
Слово 'пи' в ZX SPECTRUM обозначает это число. Выполните, иан-
ример: PRINT PI SIN, COS, TAN, ASN, ACN, ATN.
Тригонометрические функции измеряют те случаи, когда точка пе-
ремещается вокруг окружности единичного радиуса. Точка стартует с
позиции 3-х чёсов и перемещается против часовой Отрелки. Начало
координат находится в центре этой окружности., тогда SIN угла меж-
ду радиусом, соединяющим движущуюся .по окружности точку с началом
координат, будет ордината этой точки, а COS-^бсцисса, необходимо
помнить, что если ТОЧКА НАХОДИТСЯ СЛЕВА ОТ ОСИ Y, ТО COS ОТРИЦА-
ТЕЛЬНЫЙ, А ЕСЛИ ТОЧКА - ПОД ОСЬЮ X, То отрицательный SIN. Необхо-
димо так же помнить, что:
SIN (А + 2*PI) » SIN А
COS (а + 2*Р1) ■ COS, а имеются и другие тригонометрические
функции: TAN - ТАНГЕНС
ASN - АРКСИНУС
ACN - АРККОСИНУС
ATN- АРКТАНГЕНС.
Помните, в ZX SPECTRUM тригонометрические функции вычисляются
в радианах. Для перевода из градусов в радианы необходимо число
разделить на 180 и умножить его на Пи, а для обратного преобразо-
вания необходимо разделить на Пи и умножить иа 180.