Как сделать корень в делфи

Добавил пользователь Alex
Обновлено: 04.10.2024

Репутация: нет
Всего: 5

Как в Delphi извлечь кубический корень (есть ли такая функция).
Квадратный корень - SQRT. А кубический(корень 3 степени)?

Репутация: нет
Всего: 207

Репутация: нет
Всего: 61

А можно и по-старому. по паскалёвскому.

y:=exp(ln(x)/3);
Теоритичски получаем кубический корень. Т. Е. если нам надо извлечи корень n-ой степени, то
y:=exp(ln(x)/n);

Репутация: нет
Всего: 5

Pakshin A. S.спасибо мне для паскаля и нужно (думаю что раздел по паскалю никто не читает ,поэтому спросил здесь)

Репутация: нет
Всего: 112

Репутация: нет
Всего: 61

Цитата(SlaUr @ 16.11.2004, 14:33)
думаю что раздел по паскалю никто не читает

По крайней мере есть один человек, который всегда читает - я, т. к. обязанность.

Репутация: нет
Всего: 24

Цитата
я

Ты неугадал, я тоже сюда иногда заглядываю.

Репутация: нет
Всего: 61

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

[ Время генерации скрипта: 0.1171 ] [ Использовано запросов: 21 ] [ GZIP включён ]

При составлении программ на любом языке программирования приходится использовать арифметические выражения. Обычно арифметические выражения строятся из операндов, в качестве которых могут быть константы, переменные и стандартные функции языка программирования. В арифметические выражения также входят арифметические операции и круглые скобки. В Delphi определено 6 основных арифметических операций. Перечислим их в соответствии с приоритетом (табл. 3.1). Операции с одинаковым приоритетом являются равноправными и выполняются слева направо, также как в математических выражениях.

Приоритет

Знак операции

Описание операции

деление 2 целых значений с отбрасыванием остатка

взятие остатка от деления 2 целых значений

Табл. 3.1 Основные арифметические операции языка Pascal

Операции div и mod определены только для целочисленных операндов. Для вещественных переменных их использовать нельзя. Рассмоотрим пример их использования:

var у, т, n:integer;

Здесь переменная т получит значение 20, ап - значение 17.

Стандартные функции служат для выполнения элементарных математических вычислений. Разработчики языка Pascal (Никлаус Вирт и др.) стремились сделать его ядро максимально компактным, поэтому в него не вошел целый ряд функций, обычно имеющихся в других языках программирования, например, таких, как вычисление тангенса, возведение числа в определенную степень и др. Все функции в Delphi оформляются одинаково: после имени функции следует ее аргумент (или аргументы), заключенный в круглые скобки. Если аргументов несколько, они разделяются запятыми. Информация об основ-

їункциях Delphi представлена в табл. 3.2.

Математическая запись

Запись на языке Pascal

Тип аргумента и результата

Integer (I) или Real (R)

Квадрат числа х

sin(x) cos(x) arctan(x)

Синус, косинус и арктангенс числа соответсвенно. Других тригонометрических функций в языке нет

аргумент -1 или R, результат -R

Экспонента и натуральный логарифм

аргумент -1 или R, результат - R

Квадратный корень от числа х

аргумент -1 или R, результат - R

Функция без аргументов, вернет число л

Функция отбрасывает дробную часть числа, число не округляется

аргумент R, результат I

Функция выделяет дробную часть числа

Округление вещественного числа до ближайшего целого

аргумент R, результат I

Табл. 3.2. Стандартные функции языка Pascal

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

Приведем примеры арифметических выражений:

  • 1. Возвести величину х в пятую степень. Выражение может быть записано как х*х*х*х*х или sqr(x)*sqr(x)*x или sqr(sqr(x))*x, последнее показывает, что результаты одних функций могут быть аргументами других - это называют вложением функций. Разумеется, тип результата, возвращаемый вложенной функцией, должен быть подходящим для аргумента внешней функции.
  • 2. Возвести величину а в произвольную степень х. Так как в Pascal нет функции возведения в произвольную степень, воспользуемся формулой а х =е х * 1п а ;

Обратите внимание, что все круглые скобки в выражении должны быть парными. Другой пример применения этого способа: ^ х=х = ехр(1/3*1п(х)).

  • 3. Вычислить sin 2 x. Запись в Delphi: sqr(sin(x)). Сравните с выражением sin х 2 , которое записывается как sin(sqr(x)).
  • 4. Вычислить k=tg(t). Так как функции тангенса в Delphi нет, распишем тангенс в виде k:=sin(t)/cos(t);
  • 5. При необходимости изменить обычное старшинство операций в записи выражения используются дополнительные круглые скобки. Например, правильная

запись выражения 2 выглядит как у:=(а+Ь)/2;. Запись у:=а+Ь/2; неверна, b а + —

так как это означает 2 .

6. В записи выражений нельзя пропускать знак умножения, как это делается в математике: Ь 2 -4ас записывается как sqr(b)-4*a*c. Нельзя также писать sin*x или sin х, после имени функции может следовать только ее аргумент и обязательно в круглых скобках.

Тип выражения определяется старшим из типов входящих в него операндов (то есть, стандартных функций, переменных, констант). Старшинство типов можно определить по табл. 2.1. В первой строке таблицы находится самый младший тип.

Например, для переменных

var і,j: integer;

выражение i+4*j имеет целый тип, и его результат можно записать в целую переменную. Выражение f+ і*0.5 дает вещественный, результат, который должен быть записан в вещественную переменную.

Операция деления в Delphi всегда дает вещественное число. Для деления целых чисел с целым результатом используйте оператор div, для взятия остатка от деления двух целых - оператор mod.

Рассмотрим небольшой пример вычисления значений функции двух переменных (рис. 3.1)

z - 5Х 11 + 1п(6х + 3) - д/sin 2 ^ + cos 2 у :

Репутация: нет
Всего: 5

Как в Delphi извлечь кубический корень (есть ли такая функция).
Квадратный корень - SQRT. А кубический(корень 3 степени)?

Репутация: нет
Всего: 207

Репутация: нет
Всего: 61

А можно и по-старому. по паскалёвскому.

y:=exp(ln(x)/3);
Теоритичски получаем кубический корень. Т. Е. если нам надо извлечи корень n-ой степени, то
y:=exp(ln(x)/n);

Репутация: нет
Всего: 5

Pakshin A. S.спасибо мне для паскаля и нужно (думаю что раздел по паскалю никто не читает ,поэтому спросил здесь)

Репутация: нет
Всего: 112

Репутация: нет
Всего: 61

Цитата(SlaUr @ 16.11.2004, 14:33)
думаю что раздел по паскалю никто не читает

По крайней мере есть один человек, который всегда читает - я, т. к. обязанность.

Репутация: нет
Всего: 24

Цитата
я

Ты неугадал, я тоже сюда иногда заглядываю.

Репутация: нет
Всего: 61

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

[ Время генерации скрипта: 0.1481 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Читайте также: