Вещественные типы

В языке Паскаль существует несколько типов для представления действительных (вещественных) чисел. Чаще всего используется тип 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;
  • в качестве индексов массивов;
  • в операторах передачи управления в качестве меток.