Какие из предложенных переменных имеют тип real
Перейти к содержимому

Какие из предложенных переменных имеют тип real

  • автор:

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

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

Тип Размер, байт Количество
значащих цифр
Диапазон значений
real 8 15-16 -1.8∙10 308 .. 1.8∙10 308
double 8 15-16 -1.8∙10 308 .. 1.8∙10 308
single 4 7-8 -3.4∙10 38 .. 3.4∙10 38
decimal 16 28-29 -79228162514264337593543950335 .. 79228162514264337593543950335

Типы real и double являются синонимами. Самое маленькое положительное число типа real приблизительно равно 5.0∙10 -324 , для типа single оно составляет приблизительно 1.4∙10 -45 .

Максимальные значения для каждого вещественного типа определены как внешние стандартные константы : MaxReal , MaxDouble и MaxSingle .

Для каждого вещественного типа R кроме decimal определены также следующие константы как статические члены класса:

R.MinValue — константа, представляющая минимальное значение типа R ;

R.MaxValue — константа, представляющая максимальное значение типа R ;

R.Epsilon — константа, представляющая самое маленькое положительное число типа R ;

R.NaN — константа, представляющая не число (возникает, например, при делении 0/0);

R.NegativeInfinity — константа, представляющая отрицательную бесконечность (возникает, например, при делении -2/0);

R.PositiveInfinity — константа, представляющая положительную бесконечность (возникает, например, при делении 2/0).

Для каждого вещественного типа R кроме decimal определены следующие статические функции:

R.IsNaN(r) — возвращает True , если в r хранится значение R.NaN , и False в противном случае;

R.IsInfinity(r) — возвращает True , если в r хранится значение R.PositiveInfinity или R.NegativeInfinity , и False в противном случае;

R.IsPositiveInfinity(r) — возвращает True , если в r хранится значение R.PositiveInfinity , и False в противном случае;

R.IsNegativeInfinity(r) — возвращает True , если в r хранится значение R.NegativeInfinity , и False в противном случае;

Для каждого вещественного типа R определены следующие статические функции:

R.Parse(s) — функция, конвертирующая строковое представление числа в значение типа R . Если преобразование невозможно, то генерируется исключение;

R.TryParse(s,res) функция, конвертирующая строковое представление числа в значение типа R и записывающая его в переменную res . Если преобразование возможно, то возвращается значение True , в противном случае — False .

Кроме того, определена экземплярная функция ToString , возвращающая строковое представление переменной типа R .

Вещественные константы можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме:

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

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

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество чисел. Поскольку для кодирования вещественного числа отведено всего шесть байтов памяти, то расчеты выполняются всегда с конечной точностью, которая зависит от формата числа.

Вещественное число записывается и хранится в памяти компьютера в виде X=m*B n , где m – мантисса, В – основание представления числа с плавающей точкой, n – порядок (целое число). Имеют место ограничения –M1

real

Так, для типа REAL основание В равно 10. Размер мантиссы 11—12 десятичных чисел. Диапазон десятичного порядка равен [-39, +38]. Таким образом, на отрезке оси вещественных чисел в заданном диапазоне можно закодировать только конечное число значений, а поскольку на оси таких чисел бессчетное множество, то выбирается интервал, «дискрет», на который этот диапазон (отрезок) делится. Число таких интервалов конечно. Каждый дискрет ставится в соответствие значению вещественного числа. Конечное множество определенных таким образом представителей вещественных чисел называется континуумом. Результаты вычислений округляются до чисел этого множества, поэтому необходимо говорить о точности вычислений. Округление результата происходит до ближайшего вещественного числа большего данного по модулю. Следует также отметить, что эти интервалы не являются равными. В соответствии с полулогарифмическим способом своего представления интервалы «растягиваются» с увеличением порядка. Наибольшая точность расчетов достигается в центральной части диапазона изменения вещественного числа X (например, в районе 1.0Е+00 погрешность вычислений 0,00000000001), и наименьшая — на его краях (например, в окрестностях числа 1.0Е+38 погрешность вычисления равна 1000000000000000000000000000).
Существует две формы отображения вещественных чисел (таблица 4): полулогарифмическая (с плавающей точкой) и естественная (с фиксированной точкой).

real.

Над вещественными числами определены операции сложения (+), вычитания (-), умножения (*) и деления (/). Операция возведения в степень не предусмотрена.
Использование типа REAL у начинающего программиста часто вызывает ряд ошибок, приводящих к искажению результата по следующим причинам:

  • ошибки ввода — недостаточная точность исходных данных при сборе, подготовке и их вводе в ЭВМ;
  • ошибки представления обуславливаются ограниченной точностью внутреннего представления данных в конкретной ЭВМ, используемой для расчетов;
  • ошибки вычислений возникают за счет несовершенства математических методов, выбранных для решения задачи. Необходимо оценивать погрешность и держать ее в заданных пределах.

Паскаль — Урок 24: Тип real и арифметические действия в Pascal

Паскаль - Урок 24: Тип real и арифметические действия в Pascal

В компьютерном программировании типы данных очень важны для точности и эффективности компьютерных программ. Язык программирования Pascal — это строго типизированный язык, который имеет несколько различных типов данных, включая «настоящий» тип данных. Тип данных real используется для хранения чисел с десятичной точкой или числами с плавающей запятой. Тип данных real чрезвычайно полезен при работе с числами, требующими большей точности, чем это возможно с целыми числами. Вещественный тип данных в Паскале — это тип данных с плавающей запятой, для которого обычно требуется больше памяти, чем для других типов данных. Тип данных real позволяет хранить большие действительные числа, такие как экспоненциальное представление, десятичные дроби и любые действительные числа с представлением с плавающей запятой. Используя реальный тип данных, программисты могут работать с числами более эффективно и с большей точностью. Тип данных real часто используется в научных и инженерных приложениях, требующих высокоточных вычислений, которые невозможно точно выполнить с помощью целочисленных типов данных. Например, если мы хотим рассчитать скорость автомобиля, которые проезжает 115 км за 2 часа. В данном случае мы разделим 115 на 2 и получим скорость 57,5 км/ч. 57,5 — это нецелое число и мы должны записать 5 десятых в переменную, а это невозможно осуществить с помощью типа integer. Вещественные числа в Паскале могут быть определены с использованием различных форматов, записи с десятичной точкой и экспоненциальной записи. Обозначение десятичной точки такое же, как мы записываем десятичные числа в математике, просто с точкой вместо запятой. Научная нотация — это способ простого представления больших или малых чисел с помощью показателей степени. Например, если мы хотим представить число 42,65 ? 10 в степени 6, мы можем записать его как 42,65E6. Подводя итог, вещественный тип данных в Паскале позволяет программистам работать с числами высокой точности, которые не могут быть представлены с помощью целочисленных типов данных. Он используется в научных и инженерных приложениях, где требуется высокая точность. Вещественные числа могут быть определены с использованием различных форматов, что обеспечивает гибкость для программистов. Пример программы, которая использует тип данных ‘real’ в Pascal и выполняет некоторые базовые математические операции:

 

```

program RealDataType;

var

num1, num2, result: real;

begin

writeln('Введите первое число: ');

readln(num1);

writeln('Введите второе число: ');

readln(num2);

result := num1 + num2;

writeln('Сложение = ', result:0:2);

result := num1 - num2;

writeln('Разность = ', result:0:2);

result := num1 * num2;

writeln('Умножение = ', result:0:2);

result := num1 / num2;

writeln('Деление = ', result:0:2);

readln;

end.

```

Эта программа предлагает пользователю ввести два действительных числа, а затем выполняет над ними операции сложения, вычитания, умножения и деления. Обозначение ‘:0:2’ используется для форматирования выходных данных и отображения двух знаков после запятой.

Дата: 2023-03-06 08:19:16 Просмотров: 1601
Теги: паскаль pascal real

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *