Trunc в паскале что это

от admin

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это функция Trunc, которая округляет дробное число до целого, отбрасывая дробную часть и функция Round, которая округляет дробное число до ближайшего целого.

В строке №3 и №4 мы указали сразу 2 типа переменных. Для переменных N и K мы указали тип данных Integer, т.е. эти переменные могут принимать только целые значения в диапазоне от -32768 до 32767. Для переменных A и B мы указываем тип данных Real. Это вещественный тип данных, применяемый для переменных, которые могут принимать дробные значения в диапазоне от 2.9*10 -39 до 1.7*10 38 . Обратите внимание, что переменные разных типов указываются в разделе описания переменных через точку с запятой.

В строке №7 присваиваем переменной «N» значение «4».

В строке №8 присваиваем переменной «A» значение 3,6. Учтите, что при записи дробного числа в программе между целой и дробной частью ставится точка (а не запятая как при обычной записи).

Строка №9. Здесь переменной вещественного типа B мы присваиваем значение переменной целого типа N. Фактически мы присвоили переменной «B» значение 4. Таким образом, получается, что в переменную типа Real можно записать значение переменной Integer (т.е. целое число). А вот записать вещественное число в переменную Integer нельзя. Если нам необходимо это сделать, то мы должны определить, что делать с дробной частью. И здесь есть 2 варианта.

Строка №11. Функция trunk говорит нам о том, что при записи вещественного числа A в переменную целого типа K, дробная часть будет отбрасываться. Таким образом, получится, что переменной N будет присвоено значение не «3.6» , а просто «3».

Строка №13. Функция Round говорит нам о том, что при записи вещественного числа A в переменную целого типа K , число будет округляться до ближайшего целого. Таким образом, получится, что переменной K будет присвоено значение не «3.6» , а «4».

trunc round.

trunc round..

Обратите внимание, на формат вывода на экран вещественных чисел. Паскаль выводит дробные числа на экран в виде числа с плавающей точкой (экспоненциальная форма). Эта запись является неудобной, поэтому для приведения ее к нормальному виду прибегают к форматированию. Для форматирования нужно в строке №10 (вывод на экран) сделать такие изменения: writeln(‘B=’,B:2:1). После переменной B мы через двоеточие записываем 2 числа. Первое число (в нашем случае «2») показывает, сколько всего знаков должно выводиться на экран, второе число («1») показывает количество знаков после запятой.
После внесения этих изменений в программу мы получим следующий результат:

Функция Trunc Pascal-Паскаль

Trunc: Усекает значение вещественного типа к значению целочисленного типа.

Читать:
Как убрать кружок который движется за тобой
Объявление: Function Trunc(X: Real): Longint;
Режим: Windows, Real, Protected

Замечания:

X — выражение вещественного типа. Trunc возвращает значение Longint, которое является значением X, усеченного до нуля.

Ограничения:

Если усеченное значение X не находится внутри диапазона LongInt, то происходит ошибка во время выполнения программы.

Пример программы для функции Trunc

  • Int
  • Round

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

Функция Trunc

Функция Trunc в Паскале обрезает вещественное число до целого значения (то есть отсекает дробную часть числа). Синтаксис:

function Trunc(X: ValReal) : Int64;

Функция возвращает целую часть вещественного числа Х. Тип данных возвращаемого значения является целочисленным. Возвращаемое значение всегда меньше или равно исходному значению.

О типе ValReal я рассказывал здесь.

Возможно у вас возникнет вопрос — для чего нужно такое количество функция для работы с числами?

Например, функция Int также возвращает целую часть числа. Зачем тогда ещё нужна функция Trunc?

На это я обычно отвечаю известной фразой: если звёзды в небе зажигаются, значит, это кому-нибудь нужно.

А если серьёзно, то, на первый взгляд одинаковые функции на самом деле оказываются разными.

Например, упомянутая выше функция функция Int возвращает значение вещественного типа. А если вам требуется целое число, то вам придётся преобразовывать полученное вещественное значение в целое.

Функция Round округляет число и возвращает значение целого типа. Однако округление может быть как в большую, так и в меньшую сторону (см. правила округления чисел). А иногда для дальнейшей нужна именно целая часть вещественного числа, а не округлённое значение.

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

Функция trunc языка Pascal

В языке программирования Pascal существуют несколько функций для преобразования целого числа в дробное:

  1. Функция int позволяет получить целую часть от действительного числа, результат функции также является вещественным числом типа real.
  2. Функция round напоминает классическое округление в математике. С тем лишь отличием, что если число находится посередине между двумя целыми, то округление происходит не в сторону большего, а в сторону чётного числа. Результатом данной функции является значение типа integer.
  3. С помощью функции trunc можно найти целую часть числа. Результат её работы при этом также будет целым числом типа integer.

Примеры работы функции trunc

По сути своей trunc не является функцией округления. В процессе её работы всего лишь отбрасывается дробная часть. Далее приведены примеры использования этой функции для отрицательного и положительного числа.

Положительное число

Отрицательное число

Как видно из вывода, округление положительного числа при помощи trunc происходит в меньшую сторону, а отрицательного — в большую.

Похожие статьи