
Вещественный тип
Переменные этого типа могут содержать любые непорядковые числовые значения со знаком. Вещественные типы данных различаются в основном по числу знаков после запятой (точности). Таблица 6 содержит перечень вещественных типов данных языка Delphi. Наиболее используемым вещественным типом является тип Real.
Тип данных |
Диапазон значений |
Число знаков после запятой |
Количество байтов |
Real |
5.0*10 в ст. (-324) … 1.7*10 в ст. 308 |
15 .. 16 |
8 |
Single |
1.5*10 в ст. (-45) … 3.4*10 в ст. 38 |
7 .. 8 |
4 |
Double |
5.0*10 в ст. (-324) … 1.7*10 в ст. 308 |
15 .. 16 |
8 |
Extended |
3.6*10 в ст. (-4851) … 1.1*10 в ст. 4932 |
19 .. 20 |
10 |
Comp |
(-2 в ст. 63)+1 … (2 в ст. 63)–1 |
19 .. 20 |
8 |
Currency |
-922 337 203 685 477.5 808 ... 922 337 203 685 477.5 807 |
19 .. 20 |
8 |
Real48 |
2.9*10 в ст. (-39) … 1.7*10 в ст. 38 |
11 .. 12 |
6 |
Вещественные константы записываются в двух формах:
0.23, -3.567, 3.14 - с плавающей точкой
0.23E00, -0.3567E01, 314E-02 - в показательной форме
Выражения вещественного типа ( арифметические выражения ) состоят из данных вещественного или целого типа связанных следующими арифметическими операциями:
+ сложение * умножение
- вычитание / деление
Порядок действий, принятый в математике, можно изменять, используя скобки (,). В целых допускаются только целочисленные компоненты (операнды), в вещественных выражениях допускается использование как целых так и вещественных операндов. Принято использовать в выражениях только операнды одного типа.
Вещественные функции:
Cos(X) - косинус Frac(X) - дробная часть
Sin(X) - синус Int(X) - целая часть
Exp(X) - экспонента Pi - число пи
Arctan(X - арктангенс Sqrt(X) - квадратный корень
Random - случайное число из интервала [ 0,1 )
Ln(X) - логарифм(натур)
Функции преобразования значений вещественного типа в целый:
Round(X) - округление до целого
Trunc(X) - целая часть ( аналог Int(X) )
Пример
Z:=Trunc(-3.7) значение -3
Z:=Round(-3.7) значение -4
X1:=(B+Sqrt(Sqr(B)+4*A*C))/(2*A);
В математических ( арифметических ) выражениях допускается смешение целочисленных и вещественных данных при этом значение выражения будет вещественным
В операторе присваивания тип переменной и тип выражения должны совпадать. Однако допускается вещественная переменная и целочисленное выражение. Обратное не допустимо. Если по смыслу возникает такая ситуация, то выражение необходимо привести к целому типу, используя функцию Trunc.
Пример
var
X,Y:Real;
Xpoint,Ypoin:Integer;
…..
Xpoint:=Trunc(100* X);
Ypoint:=Trunc(100* Sin(X));
Для ввода – вывода вещественных данных можно использовать компонент Edit с соответствующими функциями преобразованияt.
Пример
X:=StrToFloat(Edit1.Text); // ввод
Edit1.Text:=FloatToStr(Y);