Меню Рубрики

Как пишется в паскале логарифм

Как пишется в паскале логарифм

Pers.narod.ru. Алгоритмы. Некоторые математические расчёты на Паскале

Как известно, ядро Паскаля предельно компактно, и многие математические функции в модуле System просто отсутствуют. Поэтому у людей, изучающих основы программирования именно на этом языке, типовые математические расчёты зачастую вызывают проблемы. Далее приводятся пути решения наиболее типичных из этих проблем.

Возведение в произвольную степень на Паскале

Требуется вычислить значение с = a b . В зависимости от значений основания a и показателя степени b , вычисление степени может быть реализовано по-разному.

Если a > 0 , а b может принимать произвольные вещественные значения, используем известную формулу a b = exp (b * ln a) :

Если b — целое число (вообще говоря, «не слишком большое» по модулю), а a — любое (не равное нулю при b ), возведение в степень может быть реализовано с помощью цикла:

Для целого b и не равного нулю a выгоднее считать с помощью экспоненты и логарифма, не забывая о том, что не существует логарифмов от отрицательных чисел:

Вычисление корня произвольной степени на Паскале

Стандартная функция sqrt умеет извлекать только квадратный корень.

Извлечь корень степени n (где n — натуральное) из числа a можно всегда, кроме случая, когда a и при этом n четно. Извлечь корень степени n из числа a означает возвести число a в степень 1/n . При этом знак корня совпадает со знаком a . Ниже приводится код функции, вычисляющей корень произвольной степени n от своего аргумента a :

Вычисление логарифмов на Паскале

Стандартная функция ln вычисляет только натуральный логарифм. Для вычисления логарифмов по другим основаниям можно применить формулу log a b = ln b / ln a :

В частности, для вычисления десятичного логарифма lg b можно записать:

Вычисление обратных тригонометрических функций (арксинусов и арккосинусов) на Паскале

В Паскале имеется стандартная функция arctan для вычисления арктангенса.

Другие обратные тригонометрические функции могут быть выражены через неё с помощью формул тригонометрии.

Для вычисления y = arcsin x , где, конечно, |x| , можно применить один из следующих способов:

на практике следует помнить о возможных погрешностях при сравнении вещественных чисел (глава учебника, п.7.2).

Для вычисления z = arccos x , где |x| , можно использовать тот факт, что сумма арксинуса и арккосинуса некоторого значения равна прямому углу:

Вычисление полярных углов на Паскале

Полярным углом точки с координатами (x,y) , отличной от начала координат, называют угол между положительным направлением оси Ox и направлением из начала координат на данную точку. При этом угол отсчитывается против часовой стрелки. Строго говоря, полярный угол не всегда равен arctg (y/x) , это верно лишь при x > 0 . Кроме того, при делении большого значения y на малое x возможно переполнение. Показанная ниже функция вычисляет полярный угол fi , лежащий в промежутке от -pi до +pi , для любой точки с координатами (x,y) , не совпадающей с началом координат:

Проблема с приведением типов на Паскале

Начинающие «паскалисты» нередко не понимают строгой типизированности этого языка, из-за чего находят в нём несуществующие «баги». Вот простейший пример.

Эта программа выдаст отнюдь не 200000, как может показаться. Ответ будет равен 3392 (результат переполнения). Никакого бага нет. Тип выражения в Паскале определяется только типом входящих в него переменных, но не типом переменной, куда записывается результат. То есть, мы вычислили с переполнением произведение двух переменных типа Integer , а потом «испорченный» результат переписали в переменную типа Longint . ничего не изменит и

Здесь тоже сначала вычислен результат с переполнением, затем преобразован к типу Longint . А вот

рулит, получите свои 200000 🙂 Указанная ошибка часто встречается в программах начинающих. Чтобы её не повторять, помните — выражение в Паскале должно быть приведено к нужному типу в процессе его вычисления, а не после его окончания или при присваивании.

Источник статьи: http://pers.narod.ru/algorithms/pas_math.html

Функция Ln

Функция Ln вычисляет натуральный логарифм. Для подзабывших математику о логарифмах расскажу чуть позже. А пока синтаксис:

function Ln(Х : ValReal) : ValReal;

Функция Ln X возвращает натуральный логарифм вещественного числа Х. Число Х должно быть положительным — иначе случится ошибка времени выполнения. Хотя в моём случае ошибка не возникает, просто функция возвращает результат “минус бесконечность”. Видимо, это зависит от настроек компилятора.

О типе ValReal я рассказывал здесь.

Подробности см. в видео и читайте в статье далее.

А теперь немного математики.

Сначала вспомним, что такое логарифм.

Логарифм числа b по основанию a определяется как показатель степени, в которую надо возвести основание a, чтобы получить число b. Обозначение:

То есть, чтобы вычислить логарифм числа b по основанию a, надо решить уравнение

где а и b известны, а х — неизвестная величина.

так как число 3 в степени 2 равно 9:

3 2 = 9

Теперь о натуральном логарифме, который и вычисляет функция Ln в Паскале.

Натуральный логарифм — это логарифм по основанию е. Где е — это иррациональная константа, которая равна приблизительно 2,72. То есть

В FreePascal также есть другие функции для вычисления логарифмов:

  • Log10 — вычисляет логарифм по основанию 10
  • Log2 — вычисляет логарифм по основанию 2
  • LogN — вычисляет логарифм по основанию N (в эту функцию передаются два параметра, сначала — основание N, затем число X)
  • Lnxp1 — вычисляет натуральный логарифм по основанию Х+1

Но эти функции определены в модуле Math. То есть, чтобы воспользоваться этими функциями вам придётся подключить модуль Math к своей программе.

Такие вещи как область определения натурального логарифма Ln, производная, разложение в ряд Тейлора и прочие “ништяки” рассматривать не будем, так как это уже далеко выходит за сферу программирования.

А вот формулу, которая позволяет вычислить логарифм по произвольному основанию, используя только функцию Ln, я вам покажу:

То есть, если вы не хотите подключать к вашей программе модуль Math, то это вам не помешает вычислить логарифм с любым основанием.

Пример собственной функции, которая является аналогом функции LogN из модуля Math, вы найдёте в исходном коде ниже.

Источник статьи: http://info-master.su/programming/pascal-functions/ln.php

Десятичный логарифм

Как правильно записать функцию десятичного логарифма y=lg(x+6)? Помогите пожалуйста.

Добавлено через 16 минут
Все, не надо, я вспомнила)))

Десятичный логарифм
как правильно записать функцию десятичного логарифма lg(x+5)=cosx

Десятичный логарифм, функции
Вычислить значение выражения с помощью функции.

Вычислить логарифм
Как записать в паскале lg(j-i) и e^2j Cпасибо.

Вычислить логарифм
Помогите пожалуйста. Как записать пример?

Решение

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Функция не считает логарифм
Не пойму почему функция считает не правильно логарифм: function ln(a : real) : real; .

Если частное чисел — четное, то вычислить логарифм
как сделать программу?

Вычислить логарифм как сумму знакопеременного ряда
http://i.pixs.ru/thumbs/9/5/7/Bezimyanni_6323477_6088957.jpg Если можно, то с комментариями))).

Логарифм
program one; //uses crt; var x1, x2, x3, y1, y2, y3: real; begin //clrscr; .

Источник статьи: http://www.cyberforum.ru/turbo-pascal/thread686812.html

Уроки Паскаль

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr — квадрат числа, Abs — модуль числа, Sqrt — корень числа, а также известные всем математические функции Sin, Cos, Arctan, Ln, Exp, Pi.

В строке №7 записывается функция Sqr. Это функция возведения числа в квадрат.

В строке №9 записывается операция нахождения модуля числа.
Функции Sqr и Abs мы разбирали в уроке Abs, Sqr в Pascal.

В строке №11 записывается функция Sqrt. Данная функция подсчитывает корень числа, стоящего в скобках после слова Sqrt. В нашем случае функция Sqrt будет считать корень из числа «2».

В строке №13 записываем функцию Sin. Данная функция будет подсчитывать синус числа, стоящего в скобках после записи функции.

Строка №15. Функция Cos подсчитывает косинус числа, стоящего в скобках после функции.

Строка №17. Функция Arctan вычисляет арктангенс числа, стоящего в скобках после записи функции.

Строка №19. Функция Ln подсчитывает логарифм числа, стоящего в скобках после записи функции.

Строка №21. Функция Exp возводит число «e» (экспонента — 2.72. ) в степень, значение которой указывается в скобках после слова Exp. Т.е. в нашем случае число «e» будет возведено в степень «2».

Строка №23. Переменной «B» будет присвоено значение числа «?».

Дополнение к материалу.

  • Функции Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi определены только для вещественных (дробных) чисел.
  • В Паскале не существует операции возведения в степень. Есть только операция возведения числа в квадрат (Sqr). Чтобы возвести число в степень используют операцию умножения. Например, чтобы возвести число 3 в 5-ю степень необходимо записать 3*3*3*3*3

Источник статьи: http://mojainformatika.ru/paskal/uroki-paskal/14-ispolzovanie-sqr-abs-sqrt-sin-cos-arctan-ln-exp-pi.html


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии