Временами в студенческих программах появляется конструкция вида
y:= exp(x*ln(e));
долженствующая реализовать выражение типа
у равен
е в степени
х. При этом в программе предусматривается ввод постоянной Эйлера (
е), и даже зачастую не в виде константы, а с клавиатуры.
Всё это не то, чтобы ошибка, а просто излишний и изрядно нелепый наворот ненужных значков и действий. Потому что задачу решает стандартная функция
у:= ехр(х);
Ехр(х) - это и есть возведение числа е в степень х.
Откуда же и почему возникает логарифм?
Ответ прост - от незнания того, что такое вообще логарифм и с чем его едят, и, соответственно, бездумного применения общей формулы возведения в степень.
Попытаемся разобраться.
Будем исходить из того, что все представляют себе смысл действия "возведение в степень" (в дальнейшем основание степени
а будем считать строго положительным):
Так вот, логарифм - это ни что иное, как показатель степени
b, т.е.
Подставляя одно в другое, получаем
основное логарифмическое тождество:
Естественно, основанием логарифма, как и степени, может быть любое положительное число. Но два из них выделены особо - это
10 и
е, дающие, соответственно, десятичные (lg) и натуральные (ln) логарифмы:
Десятичными логарифмами мы заниматься не будем, нас будут интересовать в первую очередь логарифмы натуральные, потому что ln(x) - это стандартная функция во всех языках программирования.
Но прежде отметим два фундаментальных свойства любых логарифмов. Из очевидных равенств
и т.д.
следует, что
и, в частности, для натуральных логарифмов
Отсюда понятно, что множитель вида
ln(e) - бессмыслен, ибо он есть тождественная единица.
Второе свойство (легко доказуемо):
А вот теперь вернемся к общему алгоритму программирования возведения
произвольного числа в произвольную степень. Используя основное логарифмическое тождество и с учетом последней формулы, имеем:
Вот здесь, когда основание степени
а отлично от
е, логарифм уместен и необходим. А если же
а=е, то настоятельно призываю пользоваться стандартной функцией
ехр(х) и не маяться дурью.