Вещественные типы
В языке Паскаль существует несколько типов для представления действительных (вещественных) чисел. Чаще всего используется тип Real.
Вещественные типы в Pascal
Тип | Диапазон | Число цифр | Память, байт |
---|---|---|---|
Real | зависит от платформы | ??? | 4 или 8 |
Single | 1.5e-45 … 3.4e38 | 7-8 | 4 |
Double | 5.0e-324 ...1.7e308 | 15-16 | 8 |
Extended | 1.9E-4932 .. 1.1E4932 | 19-20 | 10 |
Comp | -2E64+1 .. 2E63-1 | 19-20 | 8 |
Currency | -922337203685477.5808 .. 922337203685477.5807 | 19-20 | 8 |
Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.
Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.
Для действительных чисел допустимы такие же операции отношения (сравнения), что и для целых чисел.
Стандартная функция abs(x) – модуль x – от целого аргумента дает целый результат, а от вещественного – вещественный, как и sqr(x) – квадрат x.
Функции, которые дают вещественный результат, как для вещественного, так и для целого аргумента:
- sin(x) – синус x (x в радианах),
- cos(x) – косинус x (x в радианах),
- ln(x) – натуральный логарифм x,
- exp(x) – экспонента x,
- sqrt(x) – корень квадратный из x,
- arctan(x) – арктангенс x
Функция int возвращает в виде действительного значения целую часть аргумента, frac возвращает дробную часть аргумента.
var
x: real;
begin
x := 4.7389;
writeln(x:10:4);
writeln(int(x):10:4);
writeln(frac(x):10:4);
end.
Результат выполнения:
4.7389
4.0000
0.7389
Функции trunc и round возвращают результат целого типа. Первая отсекает дробную часть от аргумента, а вторая выполняет округление до ближайшего целого.
Функция random без аргументов возвращает равномерно распределенное случайное число от 0 до 1.
Не имеющая аргументов функция pi возвращает число Пифагора.
Нельзя использовать переменные и константы вещественного типа:
- в функциях pred, succ, ord;
- в качестве индексов массивов;
- в операторах передачи управления в качестве меток.