RadToDeg — Функция Delphi


FAQ — Сводка функций модуля Math

Сводка функций модуля Math

Здесь я привожу полный список всех функций и процедур модуля Math. При переходе от Delphi 2 к Delphi 3 модуль Math почти не изменился, фирма Borland ввела в него только три новые функции: MaxIntVal ue, MInIntValue и Sumint. Эти функции отличаются от своих прототипов (MaxValue, MI nVal ue и Sum) лишь тем, что работают исключительно с целыми числами, не принимая и не возвращая величин с плавающей точкой. Что касается остальных функций, то большинство из них вполне очевидно. Если вам покажется иначе — что ж, садитесь за исследования. И не надейтесь, что все тайны Delphi достанутся вам на блюдечке в виде help-файла!

Тригонометрические функции и процедуры

  • ArcCos — Арккосинус
  • ArcCosh — Пиперболический арккосинус
  • ArcSIn — Арксинус
  • ArcSInh — Гиперболический арксинус
  • ArcTahn — Гиперболический арктангенс
  • ArcTan2 — Арктангенс с учетом квадранта (функция ArcTan, не учитывающая квадрант, находится в модуле System)
  • Cosh — Гиперболический косинус
  • Cotan — Котангенс
  • CycleToRad — Преобразование циклов в радианы
  • DegToRad — Преобразование градусов в радианы
  • GradToRad — Преобразование градов в радианы
  • Hypot — Вычисление гипотенузы прямоугольного треугольника по длинам катетов
  • RadToCycle — Преобразование радианов в циклы
  • RadToDeg — Преобразование радианов в градусы
  • RacIToGrad — Преобразование радианов в грады
  • SinCos — Вычисление синуса и косинуса угла. Как и в случае SumAndSquares и MeanAndStdDev, одновременная генерация обеих величин происходит быстрее
  • Sinh — Гиперболический синус
  • Tan — Тангенс
  • Tanh — Гиперболический тангенс

Arcsin(x)

06.02.2020, 17:14

TChart и arcsin
Здравствуйте! Как с помощью компоненты TChart построить график функции Arcsin(x)?

ArcSin и массив
Выделяет красным ArcSin, не пойму что такое.. Нужно посчитать arcsin=b/L0 (где b и L0 -массивы) для.

Вычисление выражения с arccos и arcsin
Такое дело написал простую программу для вычисления выражения, но когда вписываю значения выдает.

Вычислить Arcsin(x/y) без модуля math
Доброго времени суток:) Я знаю, что arcsinx:= arctan(x/sqrt(1-sqr(x)); Но мне нужно написать.

Вычисление arcsin разложением в ряд Тейлора
Здравствуйте! Прошу помочь з задачкой, в ней надо расписать y = arcsin (x) в ряд Тейлора, который.

Функции Delphi

Стандартные функции Delphi:

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

Между значением и именем функции существует зависимость. Поэтому всякая функция может быть представлена как операнд некоторого выражения (к примеру, в инструкции присваивания). Для возведения числа в n-ую степень достаточно записать

откуда ln — функция, вычисляющая натуральный логарифм числа exp(x), exp — функция, вычисляющая экспоненту в степени x, x — число, n-ую степень которого надо найти, а n — степень числа x. Каждая функция обладает следующими характеристиками: тип значений, тип параметров.

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

Математические функции Delphi:

Библиотеки языка Delphi включаются в себя и множество математических функций:

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

где a выражает угол в градусах; 3.1415926 означает число pi. На месте константы 3.1415926 с дробной частью для достижения большей точности чаще всего пользуются стандартной именованной константой pi. Тогда выражения для угла в пересчете в радианы будет выглядеть следующим образом:

Функции преобразования Delphi:

Наиболее частое использование функций преобразования связано с инструкциями, которые обеспечивают ввод/вывод какой-либо информации. Например, для вывода значения переменной c типом real в поле вывода диалогового окна (компонент Label), нужно провести преобразование числа в строку символов, которая собственно изображает данное число. Это можно достичь, применяя функцию FloatToStr, которая заменяет значение выражения (оно указано как параметр функции) его строковым представлением.

Пример.

В приведенном примере значение переменной m будете выведено в поле Label. В таблице ниже Вам будут представлены основные функции преобразования Delphi:

Применение функций Delphi:

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

Примеры.

Структура функции Delphi

Как организована инструкция функции в языке Delphi? В любом языке программирования на первом этапе описания функции указывается ее заголовок. Далее за заголовком программист описывает раздел объявления констант const (если таковы имеются), затем занимается описанием раздела объявления типов type, далее следует раздел объявления переменных var и, наконец, раздел инструкций.

В приведенном примере в заголовке функции вначале указывается зарезервированное слово function, а следом идет имя функции. Далее в скобках программист перечисляет список параметров, и вслед за ним, используя символ «:», указывает тип значения функции. В конце каждого заголовка стоит символ «;». После заголовка следуют раздел констант, раздел типов, раздел переменных. Внутри раздела инструкций кроме констант и переменных, описанных соответственно в разделах const и var, может находится переменная result.

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

Обучающий курс. 12. Функции и процедуры в Delphi. Математические вычисления. Случайные числа

Сегодня мы поговорим о процедурах и функциях в Delphi . Что такое процедура? Это маленькая программа, выполняющая операции с указанными данными. Различают собственно процедуры и функции. Их основное отличие — процедура просто совершает какие-либо операции, а функция обязательно выдаёт какой-либо результат в результате своей работы. Существует огромное количество стандартных процедур и функций. Подпрограммы (так называют процедуры и функции) можно писать и самостоятельно, но об этом речь пойдёт позже. Сейчас нам нужно научиться работать с готовыми функциями.

Общие сведения о подпрограммах

Фактически, подпрограмма — это такая же полноценная программа, просто работает она не отдельно, не сама по себе, а включена в другую программу.
У подпрограммы всегда есть имя. Имя строится по тем же правилам, что и идентифмкатор. Как правило, имена даются вполне логичные. Например, если функция находит максимальное из нескольких чисел, то её логично назвать Max .
Подпрограммы могут иметь входные параметры. Входные параметры — это данные, которые сообщаются подпрограмме до начала её работы, а в процессе выполнения эти данные могут использоваться. Тем не менее, подпрограммы могут и не иметь входных параметров. Входные параметры также называют аргументами. Например, функции, которая узнаёт текущее время, никакие дополнительные параметры не нужны, а вот если функция считает факториал, то обязательно должно быть число, для которого он считается.
Как было сказано выше, функция выдаёт какое-то значение в результате своей работы. Процедура в общем случае значения не выдаёт.

Вызов подпрограмм

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

Обратите внимание: работа с функциями происходит как с обычными переменными, просто их значения вычисляются «на лету».

Функции математических вычислений

Эти функции работают с числовыми данными. Как правило, входным параметром является какое-то число, а выходным — результат вычисления. Практически везде аргумент является либо целым числом ( Integer ), либо вещественным ( Real ). Возвращаемое значение — тоже число. Рассмотрим некоторые из этих функций:

Abs(x) — модуль (абсолютное значение) указанного числа x . Пример: Abs(-5) = 5 .

Sin(x) — синус числа x . Здесь x — угол в радианах (не в градусах!). Пример: Sin(Pi/2) = 1 .

Cos(x) — косинус числа x . Аналогично, x — радианы. Пример: Cos(Pi) = -1 .

Илон Маск рекомендует:  Про Федота стрельца.Мысли, высказывания которые мне кажутся интересными.

Exp(x) — экспонента, e x ( e в степени x ).

Ln(x) — натуральный логарифм числа x . Пример: Ln(Exp(2)) = 2 .

Sqr(x) — квадрат числа x ( x 2 ). Пример: Sqr(5) = 25 .

Sqrt(x) — квадратный корень числа x . Пример: Sqrt(64) = 8 .

Int(x) — целая часть числа x . Пример: Int(1.234) = 1 .

Frac(x) — дробная часть числа x . Пример: Frac(1.234) = 0.234 .

Round(x) — округление аргумента до ближайшего целого числа. Пример: Round(1.234) = 1 .

Trunc(x) — целая часть вещественного числа x. Пример: Trunc(1.234) = 1 .

Pred(x) — предыдущее значение x (например, для x = 2 это 1 ).

Succ(x) — следующее значение x (для x = 2 это 3 ).

Odd(x) — проверка аргумента на нечётность. Функция возвращает значение True , если аргумент является нечётным числом и False — если чётным. Пример: Odd(5) = True .

Предсказываю вопрос: в чём отличие Int() от Trunc() ? А отличие в том, что Int() возвращает число вещественного типа, а Trunc() — целочисленного .

Это лишь часть всех доступных функций. На самом деле их гораздо больше. Но помимо функций есть ещё процедуры.

Процедуры работы с числами

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

Inc(x) — увеличение аргумента на единицу. Фактически, это то же самое, что x:=x+1 . Тем не менее, рекомендуется использовать именно эту функцию, так как работает она быстрее.
Примечание: под понятием «быстрее» подразумевается, конечно, быстрота «компьютерная». Компьютер выполняет миллионы операций в секунду и для человека такие вещи незаметны.

Inc(x,n) — увеличение аргумента на число n . Эквивалентно записи x:=x+n .

На самом деле, это не две разные процедуры — просто параметр n является необязательным. Да, бывают необязательные параметры, которые можно указать, а можно и не указывать. Если они отсутствуют, то просто берётся какое-то значение по умолчанию. В данном случае n по умолчанию имеет значение 1 .

Dec(x,n) — уменьшение аргумента на n единиц. Точно также, как и в Inc , параметр n является необязательным. Эквивалентно записи x:=x-n .

В документации необязательные параметры обычно заключают в квадратные скобки, т.е. обычно пишут Inc(x , [n]) . Обратите внимание: это лишь условное обозначение, которое создано с целью узнавания, что параметр необязательный. В программном коде никаких скобок нет и быть не может.

Не хватает стандартных математических функций?

Существует дополнительный модуль с именем Math , в котором содержится большое число математических функций. Например, если нужно посчитать гиперболический арксеканс числа, то мучаться и описывать способ его вычисления вручную не придётся — есть готовая функция ArcSecH() .
Чтобы подключить модуль Math , откройте исходный код модуля. Для этого, когда открыта форма, следует нажать F12 , либо выбрать пункт меню View » Toggle Form/Unit . Далее нужно переместиться в самое начала модуля в раздел uses . В этом разделе через запятую описываются имена подключённых модулей. Как можно заметить, даже при наличии пустой формы несколько модулей уже подключены. В этот список и следует добавить Math :

Всё, теперь в Вашем распоряжении большое количество математических функций.

Пример комбинирования функций

Раз уж речь пошла о математических функциях, пусть пример будет на них и основан. Допустим, у нас есть такая сравнительно сложная функция:

Нам нужно создать программу, которая бы вычисляла значение этой функции по заданным числам x и y . Рассмотрим поэтапно элементы функции:
1) Возведение числа e в степень, модуль — функции Exp() и Abs() соответственно.
2) Натуральный логарифм — функция Ln() .
3) Число e . Часто спрашивают — как получить число e ? Ведь это, по сути, такая же константа, как и число пи . Но она не объявлена. А ответ прост: e = e 1 , поэтому e — это exp(1) .
4) Тангенс — функция Tan() .
Всё необходимое у нас есть, поэтому можно приступить к записи. Главное — не забывать заключать в скобки отдельные элементы формулы, чтобы порядок действий сохранился (в нашем примере это не потребуется).

Как возвести число в степень?

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

Способ 1. X y можно преобразовать к виду e ln(x)⋅y . Тогда возведение в степень можно записать так:

Способ 2. В модуле Math есть функция для возведения в степень — Power . У функции 2 аргумента — основание и показатель степени. Запись, соответственно, следующая :=Power(x,y);

Случайные числа

Зачем нужны случайные числа? Как правило, чтобы проверить результаты какого-то эксперимента при различных условиях. На основе случайных чисел можно вычислять различные вероятности. Во всех языках программирования есть возможность использовать случайные числа.

В Pascal (и Delphi соответственно) случайные числа генерируются функцией Random . Функция принимает один параметр, да и тот необязательный. Этот параметр позволяет указать границу диапазона, из которого будет выбрано случайное число. Итак: Random([Range: Integer]) . Если Range указан, то число выбирается из диапазона 0 ( X — само случайное число, которое будет получено). Обратите внимание, что сама граница в диапазон не включается, т.е. Random(10) никогда не выдаст число 10 , хотя 0 — запросто. Если диапазон не указан, то он считается равным единице, т.е. 0 .

Пример. Создадим форму с кнопкой, но пусть кнопка каждую секунду изменяет своё положение. Воспользуемся таймером ( TTimer , вкладка System палитры компонент). Interval оставим без изменения ( 1 сек. ), а вот в обработчике запрограммируем произвольное изменение положения кнопки на форме. Разберёмся, что нам нужно:
1) Позиция кнопки на форме. Как Вы уже знаете, за положение отвечают свойства Left и Top , которые указывают положение левого верхнего угла кнопки относительно левого верхнего угла формы. Именно этим свойствам мы будем присваивать произвольные значения.
2) Каков будет диапазон для генерации случайных чисел? Очевидно, что кнопка не должна уйти за границы формы. Значит нам нужно подключить размеры самой формы, т.е. её высоту и ширину. В данном случае будем использовать не Width и Height , а ClientWidth и ClientHeight , так как в первые свойства входят заголовок и границы формы, а это лишние пиксели, за которые кнопка может вылезти. Однако и это ещё не всё — из этих размеров мы должны вычесть соответственно ширину и высоту самой кнопки, иначе она может частично скрыться за границами.
Пишем обработчик:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Button1.Left := Random(ClientWidth-Button1.Width);
Button1.Top := Random(ClientHeight-Button1.Height)
end ;

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

Отчего это происходит? Дело в том, что числа, выдаваемые функцией Random() на самом деле не являются случайными — они псевдослучайны , т.е. наблюдается повторение. К счастью, решение есть — специальная процедура Randomize() инициализирует генератор случайных чисел, который выдаёт действительно случайные числа. Вызвать эту процедуру нужно всего один раз за время работы программы — обычно это делается при запуске (например, в событии OnCreate формы). Процедура не принимает никаких параметров. Вернёмся к нашему примеру:

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize
end ;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Button1.Left := Random(ClientWidth-Button1.Width);
Button1.Top := Random(ClientHeight-Button1.Height)
end ;

Теперь кнопка будет прыгать совершенно по разным точкам при каждом запуске программы.

Кстати, можно дописать скобки к названию процедуры — от этого работа не изменится: Randomize; = Randomize(); А запись немного красивее (на мой взгляд).

Дополнительные возможности редактора кода

В редакторе кода есть одна очень хорошая вещь — после того, как написано имя процедуры или функции и открыта скобка, появляется подсказка со всеми параметрами, которые подпрограмма принимает. Более того, там же указаны и типы данных всех параметров. Попробуйте, к примеру, набрать Inc( и подождать секунду — появится подсказка:

Как и было отмечено выше, второй параметр является необязательным и он заключен в квадратные скобки.

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

Если функции или процедуре входные параметры не нужны, подсказка всё равно появится и сообщит об этом:

Если после набора имени и скобки подсказка не появилась, то и при компиляции программы скорее всего возникнет ошибка. Причиной, по которой компилятор не смог найти указанную функцию или процедуру, может быть ошибка при наборе имени, либо модуль, в котором описана подпрограмма, не подключен.
Ошибки при компиляции появляются внизу окна редактора кода с указанием номера строки, где обнаружена ошибка и описанием самой ошибки.
Попробуем запросить процедуру Randomiz (например, мы случайно недописали букву » e » на конце):

Строка с ошибкой выделилась, а внизу появился её номер ( 28 ) и описание — Undeclared identifier (неописанный идентификатор).

Илон Маск рекомендует:  Что такое код ncurses_has_il

Заключение

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

RadToDeg Routine

Description

(Please provide a description in your own words. It is illegal to use the wording from the Delphi Help.)

Technical Comments

(Known issues / Documentation clarifications / Things to be aware of)

Examples

(Please provide links to articles/source code that show how to use this item.)

See Also

(Please provide links to items specifically related to this item.)

User Comments/Tips

(Please leave your name with your comment.)

Функции Delphi модуля Math

Модуль Math

Предлагаем список функций модуля Math, используемого в среде разработки Delphi.

ArcCos Арккосинус числа, возвращается в радианах
ArcSin Арксинус числа, возвращается в радианах
DegToRad Преобразование значения градусов в радианы
IsInfinite Проверяет, является ли число с плавающей запятой бесконечным
IsNaN Выясняет, содержит ли число с плавающей запятой настоящее число
Log10 Вычисляет логарифм числа с основанием 10
Max Выдает максимальное число из двух целых значений
Mean Выдает среднее число из набора чисел
Min Выдает минимальное из двух целых значений
RadToDeg Преобразовывает значение радиана в градусы
RandomRange Генерирует произвольное число в пределах введённого диапазона
Sum Находит сумму элементов массива, состоящего из чисел с плавающей точкой
Tan Тангенс числа

RadToDeg — Функция Delphi

Тригонометрические функции и процедуры

  • ArcCos — Арккосинус
  • ArcCosh — Пиперболический арккосинус
  • ArcSIn — Арксинус
  • ArcSInh — Гиперболический арксинус
  • ArcTahn — Гиперболический арктангенс
  • ArcTan2 — Арктангенс с учетом квадранта (функция ArcTan, не учитывающая квадрант, находится в модуле System)
  • Cosh — Гиперболический косинус
  • Cotan — Котангенс
  • CycleToRad — Преобразование циклов в радианы
  • DegToRad — Преобразование градусов в радианы
  • GradToRad — Преобразование градов в радианы
  • Hypot — Вычисление гипотенузы прямоугольного треугольника по длинам катетов
  • RadToCycle — Преобразование радианов в циклы
  • RadToDeg — Преобразование радианов в градусы
  • RacIToGrad — Преобразование радианов в грады
  • SinCos — Вычисление синуса и косинуса угла. Как и в случае SumAndSquares и MeanAndStdDev, одновременная генерация обеих величин происходит быстрее
  • Sinh — Гиперболический синус
  • Tan — Тангенс
  • Tanh — Гиперболический тангенс

Арифметические функции и процедуры

  • Cell — Округление вверх
  • Floor — Округление вниз
  • Frexp — Вычисление мантиссы и порядка заданной величины
  • IntPower — Возведение числа в целую степень. Если вы не собираетесь пользоваться экспонентами с плавающей точкой, желательно использовать эту функцию из-за ее скорости
  • Ldexp — Умножение Х на 2 в заданной степени
  • LnXPI — Вычисление натурального логарифма Х+1. Рекомендуется для X, близких к нулю
  • LogN — Вычисление логарифма Х по основанию N
  • LogIO — Вычисление десятичного логарифмах
  • Log2 — Вычисление двоичного логарифмах
  • Power — Возведение числа в степень. Работает медленнее IntPower, но для операций с плавающей точкой вполне приемлемо

Финансовые функции и процедуры

  • DoubleDecliningBalance — Вычисление амортизации методом двойного баланса

Функция вычисляет амортизационные отчисления на определенном этапе. В качестве параметров используются: начальная стоимость Cost, срок службы Life, конечная стоимость Salvage и амортизационный период Period. Вычисления производятся по следующим формулам:

Период Сумма амортизационных отчислений
1 А1:= Cost*2/Life
2 А2:= (Cost-А1)*2/Life
3 А3:= (Cost-А1-А2)*2/Life
. .
n Аn:= (Cost-А1-А2 — . — Аn-1)*2/Life
где n=Period
&nbsp

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

  • FutureValue — Будущее значение вложения

Функция вычисляет значение вклада по прошествии определенного периода времени.

  • NPeriods — количество прошедших единиц периода времени. Например, если проценты начисляются раз в год, то данный параметр определяет количество лет.
  • PresentValue — первоначальная сумма вклада.
  • В параметре Payment указывается сумма, которая будет добавляться вкладчиком ко вкладу в течение каждой единицы периода времени. Если вклад осуществляется только один раз, то Payment:=0.
  • Rate — дивиденты, начисляемые за единицу периода.
  • Параметр PaymentTime определяет, как должны начисляться проценты:

PtStartOfPeriod Проценты начисляются в конце единицы периода времени на всю сумму, находящуюся на момент начисления на счету. ptEndOfPeriod Проценты начисляются только на сумму, которая находилась на счету в начале единицы периода времени. Т.е. на сумму, которая была добавлена вкладчиком к вкладу в течение последней единицы времени, проценты будут начислены по прошествии следующего периода.

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

Первоначальный вклад составил 100 руб. дивиденды — 10% годовых. Ежегодно вкладчик добавляет к вкладу 50 руб. Проценты начисляются в конце года только на сумму, которая находилась на счету в начале года, т.е. проценты на сумму, которая была добавлена к вкладу в течение года будут начислены только в конце следующего года. Вычисляем сумму вклада через 5 лет.

  • InterestPayment — Вычисление процентов по ссуде

Функция вычисляет процентную ставку кредита на определенном этапе в денежном исчислении.

  • PresentValue — сумма кредита.
  • Rate — фиксированная процентная ставка кредита.
  • NPeriods — число этапов, в течение которых производятся выплаты.
  • Period — номер этапа выплат, для которого производятся вычисления.
  • FutureValue — значение суммы кредита, по истечении выплат.
  • Параметр PaymentTime определяет, происходят выплаты в начале (PtStartOfPeriod) этапа или в конце (ptEndOfPeriod).

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

  • InterestRate — Норма прибыли, необходимая для получения заданной суммы

Функция вычисляет процентную ставку инвестиций, необходимую для возврата суммы инвестиций PresentValue с дивидендами.

  • PresentValue — сумма инвестиций.
  • FutureValue — полная сумма, полученная от инвестиций. Включает возврат первоначальной суммы инвестиций и дивиденды.
  • NPeriods — количество этапов выплат.
  • Payment — сумма периодических выплат.
  • Параметр PaymentTime определяет, происходят выплаты в начале (PtStartOfPeriod) этапа или в его конце (ptEndOfPeriod).

  • InternalRateOfReturn — Вычисление внутренней скорости оборота вложения для ряда последовательных выплат

Функция вычисляет внутреннюю процентную ставку дохода от инвестиций. Массив CashFlows состоит из значений инвестиций и значений получаемого дохода за определенные периоды времени. Первое значение массива должно быть отрицательным, так как оно опредеяет первоначальную сумму инвестиций. Последующие значения могут быть отрицательными (дополнительные инвестиции), положительными (получаемый доход) или равны 0.

  • NetPresentValue — Вычисление чистой текущей стоимости вложения для ряда последовательных выплат с учетом процентной ставки

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

  • Параметр Rate — определяет процентную ставку инвестиций.
  • CashFlows — массив расчетных значений текущих платежей.
  • Параметр PaymentTime указывает, происходят выплаты в начале (PtStartOfPeriod) или в конце (ptEndOfPeriod) платежного этапа.

  • NumberOf Periods — Количество периодов, за которое вложение достигнет заданной величины

Функция определяет количество этапов, необходимых для погашения кредита до значения определенного в параметре FutureValue.

  • PresentValue — первоначальная сумма кредита.
  • Rate — процентная ставка.
  • Payment — величина регулярных выплат.
  • Параметр PaymentTime определяет, происходят выплаты в начале (PtStartOfPeriod) этапа или в его конце (ptEndOfPeriod).

Первоначальная сумма кредита составляет 364руб. Процентная ставка 20%. Регулярные ежемесячные выплаты по 100руб производятся в конце месяца. Рассчитаем сколько месяцев необходимо для полной выплаты кредита.

  • Payment — Размер периодической выплаты, необходимой для погашения ссуды, при заданном числе периодов, процентной ставке, а также текущем и будущем значениях ссуды

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

  • PresentValue — сумма заимствования.
  • NPeriods — срок выплаты кредита. Данный пармаметр указывается количество этапов выплаты (количество лет, кварталов, месяцев и т.д.).
  • FutureValue — оставшаяся сумма кредита по истечении указанного периода.
  • Rate — величина процентной ставки кредита (ежегодная, ежеквартальная, ежемесячная и т.д. в соответствии с единицей измерения периода времени).
  • Параметр PaymentTime определяет, как происходят платежи: в начале (PtStartOfPeriod) или в конце (ptEndOfPeriod) платежного периода.

  • PeriodPayment — Платежи по процентам за заданный период

Функция вычисляет сумму выплат основной части кредита (без учета процентов) на определенном этапе.

  • PresentValue — сумма заимствований.
  • NPeriods — срок выплаты кредита (количество этапов).
  • FutureValue — сумма кредита по прошествии указанного срока.
  • Period — номер этапа, для которого производятся вычисления.
  • Rate — процентная ставка кредита.
  • Параметр PaymentTime определяет, как происходят платежи: в начале (PtStartOfPeriod) или в конце (ptEndOfPeriod) платежного периода.

Сумму выплачиваемых процентов кредита можно вычислить с помощью функции InterestPayment.

  • PresentValue — Текущее значение вложения

Функция определяет значение вклада в указанный период времени.

  • Payment — первоначальная сумма вклада.
  • NPeriods — срок вклада.
  • Rate — процентная ставка.
  • FutureValue — значение, которого могут достигнуть инвестиции в определенный период.
  • Параметр PaymentTime указывает, как происходят платежи: в начале (PtStartOfPeriod) или в конце (ptEndOfPeriod) платежного периода.
Илон Маск рекомендует:  Что такое код hw_api >find

  • SLNDepreclatlon — Вычисление амортизации методом постоянной нормы

Функция вычисляет сумму амортизационных отчислений за единицу периода времени по методу линейной (равномерной) амортизации.

  • Cost — первоначальную стоимость оборудования.
  • Salvage — конечная стоимость оборудования.
  • Life — срок эксплуатации.

Для вычисления амортизации по ускоренному методу используйте функцию SYDDepreciation.

  • SYDepreclatlon — Вычисление амортизации методом весовых коэффициентов

Функция вычисляет сумму амортизационных отчислений на заданном этапе по методу ускоренной амортизации.

  • Cost — первоначальная стоимость оборудования.
  • Salvage — конечная стоимость.
  • Life — срок эксплуатации.
  • Period — номер этапа, для которого определяется сумма амортизационных отчислений.

Для вычислений по методу равномерной амортизации используйте функцию SLNDepreciation.

Math — математика, статистика, финансы. Краткий справочник по функциям в Delphi

Тригонгометрические функции:

function ArcCos(X: Extended): Extended;
function ArcSin(X: Extended): Extended;
function ArcTan2(Y, X: Extended): Extended; Арктангенс X/Y возвращает угол в квадранте
procedure SinCos(Theta: Extended; var Sin, Cos: Extended) register; возвращает сразу и синус и косинус, вычисления в 2 раза быстрее чем Sin, Cos по отдельности
function Tan(X: Extended): Extended;
function Cotan(X: Extended): Extended;
function Hypot(X, Y: Extended): Extended; Возвращает значение гипотенузы по катетам

Конвертация углов

function DegToRad(Degrees: Extended): Extended;
function RadToDeg(Radians: Extended): Extended;
function GradToRad(Grads: Extended): Extended;
function RadToGrad(Radians: Extended): Extended;
function CycleToRad(Cycles: Extended): Extended;
function RadToCycle(Radians: Extended): Extended;

function Cosh(X: Extended): Extended;
function Sinh(X: Extended): Extended;
function Tanh(X: Extended): Extended;
function ArcCosh(X: Extended): Extended;
function ArcSinh(X: Extended): Extended;
function ArcTanh(X: Extended): Extended;

Логарифмы, экспоненты и возведение в степень

function LnXP1(X: Extended): Extended; — натуральный логариф x+1 (для более высокой точности при x близких к нулю)
function Log10(X: Extended): Extended; — десятичный логарифм
function Log2(X: Extended): Extended; — логарифм по основанию 2
function LogN(Base, X: Extended): Extended; — логарифм по произвольному основанию
function IntPower(Base: Extended; Exponent: Integer): Extended register;
function Power(Base, Exponent: Extended): Extended;

procedure Frexp(X: Extended; var Mantissa: Extended; var Exponent: Integer) register; — возвращает мантису и экспоненту
function Ldexp(X: Extended; P: Integer): Extended register; — возвращает X*2**P
function Ceil(X: Extended):Integer; — округляет до ближайшего большего целого
function Floor(X: Extended): Integer; — округляет до ближайшего меньшего целого
function Poly(X: Extended; const Coefficients: array of Double): Extended; вычисление полинома

Статистические функции

function Mean(const Data: array of Double): Extended; среднее арифметическое
function Sum(const Data: array of Double): Extended register; сумма ряда
function SumInt(const Data: array of Integer): Integer register; сумма ряда целых чисел
function SumOfSquares(const Data: array of Double): Extended; сумма квадратов
procedure SumsAndSquares(const Data: array of Double; var Sum, SumOfSquares: Extended) register; сумма и сумма квадратов одной функцией
function MinValue(const Data: array of Double): Double; минимальное значение в ряду
function MinIntValue(const Data: array of Integer): Integer; минимальное значение в ряду целых
function Min(A,B) минимальное значение из 2х чисел (overload функции для Integer, Int64, Single, Double, Extended)
function MaxValue(const Data: array of Double): Double;
function MaxIntValue(const Data: array of Integer): Integer;
function Max(A,B);
function StdDev(const Data: array of Double): Extended; стандартное отклонение
procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended); — среднее арифметическое и стандартное отклонение
function PopnStdDev(const Data: array of Double): Extended; распределение стандартного отклонения (Population Standard Deviation)
function Variance(const Data: array of Double): Extended;
function PopnVariance(const Data: array of Double): Extended; (Population Variance)
function TotalVariance(const Data: array of Double): Extended;
function Norm(const Data: array of Double): Extended; среднее квадратичное (Sqrt(SumOfSquares))
procedure MomentSkewKurtosis(const Data: array of Double;
var M1, M2, M3, M4, Skew, Kurtosis: Extended); основные статистические моменты
function RandG(Mean, StdDev: Extended): Extended; — случайные числа с Гауссовским распределением

function DoubleDecliningBalance(Cost, Salvage: Extended; Life, Period: Integer): Extended;
function FutureValue(Rate: Extended; NPeriods: Integer; Payment, PresentValue: Extended; PaymentTime: TPaymentTime): Extended;
function InterestPayment(Rate: Extended; Period, NPeriods: Integer; PresentValue,
FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
function InterestRate(NPeriods: Integer;
Payment, PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
function InternalRateOfReturn(Guess: Extended;
const CashFlows: array of Double): Extended;
function NumberOfPeriods(Rate, Payment, PresentValue, FutureValue: Extended;
PaymentTime: TPaymentTime): Extended;
function NetPresentValue(Rate: Extended; const CashFlows: array of Double;
PaymentTime: TPaymentTime): Extended;
function Payment(Rate: Extended; NPeriods: Integer;
PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
function PeriodPayment(Rate: Extended; Period, NPeriods: Integer;
PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
function PresentValue(Rate: Extended; NPeriods: Integer;
Payment, FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
function SLNDepreciation(Cost, Salvage: Extended; Life: Integer): Extended;
function SYDDepreciation(Cost, Salvage: Extended; Life, Period: Integer): Extended;

Математические операции Delphi

Для дальнейшего изучения языка Delphi рассмотрим математические операции. Они делятся на арифметические, логические операции и операции отношения.

Арифметические операции выполняют арифметические действия в выражениях над значениями переменных.

Таблица 5. Арифметические операции

Операция Действия Типы операндов Тип результата
+ Сложение Целый/вещественный Целый/вещественный
Вычитание Целый/вещественный Целый/вещественный
* Умножение Целый/вещественный Целый/вещественный
/ Деление Целый/вещественный Вещественный
Div Деление нацело Целый Целый
Mod Остаток от деления Целый Целый

Особое внимание следует обратить на то, что тип результата деления – всегда вещественное число.

Оператор DIV позволяет получить целую часть результата деления одного числа на другое. Например, значение выражения 5 DIV 2 равно 2.

Оператор MOD (деление по модулю) позволяет получить остаток от деления одного числа на другое. Например, значение выражения 15 MOD 7 равно 1.

При вычислении значений выражений, как и в математике, учитывается порядок действий. Сначала выполняются операторы *, /, DIV, MOD, а затем – операторы + и -. Для задания нужного порядка выполнения операций можно использовать скобки.

Операции отношениясравнивают два операнда и определяют истинность или ложность выражения. Результат операции отношения имеет тип Boolean, который принимает два значения: True (истина) и False (ложь).

Таблица 6. Операции отношения

Таблица 7. Логические операции

Операция Название Выражение Результат
= Равно А=В True, если А равно В
<> Не равно A<>B True, если А не равно В
> Больше A>B True, если А больше В
= Больше или равно A>=B True, если А больше или равно В
Операция Действие Пример выражения
Not Логическое отрицание Not A
And Логическое и A and B
Or Логическое или A or B
Xor Исключающее или A xor B

Стандартные математические функции Delphi

В языке Delphi имеются следующие математические функции:

Таблица 8. Математические функции

Функция Значение
Abs (x) Возвращает абсолютное значение (модуль) числа х
Sqrt (x) Возвращает число, равное квадратному корню из х
Sqr (x) Возвращает число, равное квадрату числа х
Sin (x) Возвращает синус числа х, где х – угол в радианах
Cos (x) Возвращает косинус числа х, где х – угол в радианах
Arctan (x) Возвращает арктангенс числа х, где х – угол в радианах
Exp (x) Возвращает число, равное е в степени х
Ln (x) Возвращает число, равное натуральному логарифму от числа х
Pi Число Пи
Random (x) Возвращает случайное число от 0 до х-1. При использовании функции без параметров генерируются случайные числа от 0 до 1.
Trunc (x) Возвращает число, равное целой части х (при округлении отбрасывается дробная часть). Усеченное число имеет тип LongInt.
Frac (x) Возвращает число, равное дробной части числа х. Например, Frac(2.4) возвращает 0.4, Frac (3.99) возвращает 0.99.
Int (x) Возвращает число, равное целой части числа х. Например, Int (2.4) возвращает 2.0, Int (0.99) возвращает 0.0.
Round (x) Возвращает число, равное целой части числа х (округление происходит по правилам математики, т.е. к ближайшему целому). Процедура является универсальной, так как результат может быть как целым, так и вещественным числом.
Ord (x) Определяет четность числа. Возвращает значение True, если число х нечетно.

Линейная алгоритмическая структура.

Последнее изменение этой страницы: 2020-01-25; Нарушение авторского права страницы

Тригонометрические функции и процедуры

Тригонометрические функции и процедуры

ArcCos Вычисляет арккосинус аргумента.

ArcCosh Вычисляет гиперболический арккосинус аргумента.

ArcSin Вычисляет арксинус аргумента.

ArcSinh Вычисляет гиперболический арксинус аргумента.

ArcTan Вычисляет арктангенс аргумента.

ArcTan2 Вычисляет arctg(Y/X).

ArcTanh Вычисляет гиперболический арктангенс аргумента.

Cos Вычисляет косинус аргумента.

Cosh Вычисляет гиперболический косинус аргумента.

Cotan Вычисляет котангенс аргумента.

Hypot Вычисляет длину гипотенузы прямоугольного треугольника.

Sin Вычисляет синус аргумента.

SinCos Вычисляет одновременно синус и косинус аргумента.

Sinh Вычисляет гиперболический синус аргумента.

Tan Вычисляет тангенс аргумента.

Tanh Вычисляет гиперболический тангенс аргумента.

Преобразование тригонометрических единиц измерений

CycleToRad Преобразовывает значение аргумента из циклов в радианы.

DegToRad Преобразовывает значение аргумента из градусов в радианы.

GradToRad Преобразовывает значение аргумента из десятичных градусов (grad) в радианы.

RadToCycle Преобразовывает значение аргумента из радианов в циклы.

RadToDeg Преобразовывает значение аргумента из радианов в градусы.

RadToGrad Преобразовывает значение аргумента из радианов в десятичные градусы (grad).

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL