Встроенные функции. Построение сложных выражений

 

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

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

Значение функции связано с ее именем. Поэтому функцию можно использовать в качестве операнда выражения, например в инструкции присваивания. Так, чтобы вычислить квадратный корень, достаточно записать k:=Sqrt(n), где Sqrt — функция вычисления квадратного корня, п — переменная, которая содержит число, квадратный корень которого надо вычислить.

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

Математические функции(Таблица 14.6) позволяют выполнять различные вычисления.

 

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

Функция Значение
Аbs (n) Абсолютное значение n
Sqrt (n) Квадратный корень из n
Sqr (n) Квадрат n
Sin (n) Синус n
Cos (n) Косинус n
Arctan (n) Арктангенс n
Ехр(n) Экспонента n
Ln(n) Натуральный логарифм n
Random(n) Случайное целое число в диапазоне от 0 до n- 1

 

Величина угла тригонометрических функций должна быть выражена в радианах. Для преобразования величины угла из градусов в радианы используется формула (а*3.141525б)/180, где: а— величина угла в градусах; 3.1415926 — число π. Вместо дробной константы 3.1415926 можно использовать стандартную именованную константу PI. В этом случае выражение пересчета угла из градусов в радианы будет выглядеть так: a*Pi/180.

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

Например, инструкция Label1.caption:= FioatTostr(x) выводит значение переменной х в поле Label1.

 

Таблица 14.7 Функции преобразования

 

Функция Значение функции
Chr(n) Символ, код которого равен n
IntToStr (k) Строка, являющаяся изображением целого k
FloatToStr (n) Строка, являющаяся изображением вещественного n
FloatToStrF(n, f , k,m) Строка, являющаяся изображением вещественного п. При вызове функции указывают: f — формат (способ изображения); k — точность (нужное общее количество цифр); m — количество цифр после десятичной точки
StrToInt (s) Целое, изображением которого является строка s
StrToFloat (s) Вещественное, изображением которого является строка s
Round (n) Целое, полученное путем округления n по известным правилам
Trunc (n) Целое, полученное путем отбрасывания дробной части n
Frac(n) Дробное, представляющее собой дробную часть вещественного n
Int (n) Дробное, представляющее собой целую часть вещественного n

 

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

n := Round((x2-x1)/dx);

x1:= (-b + Sqrt(d)) / (2*а);

m := Random(10);

cena := StrToInt(Edit1.Text);

Edit2.Text := IntToStr(100);

mes := 'x1=' + FloatToStr(xl);