Согласие на обработку персональных данных.

18.08.2018
Новая задача Сколько слайдов поместится в песню.

17.08.2018
Новый раздел: Этюды для программистов.

11.08.2018
Новые видео и статья Обязательные теги HTML.

06.08.2018
Новый выпуск журнала Автоматизация и программирование.

27.07.2018
Новые видео и статья Процедура BlockRead.



Раздел: Стандартные функции Паскаля

Int и Frac

Функция Int вычисляет целую часть значения с плавающей точкой. Синтаксис:

function Int(X: ValReal) : ValReal;

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

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

Функция Frac возвращает дробную часть числа с плавающей точкой. Синтаксис:

function Frac(X: ValReal) : ValReal;

Целая часть числа

Как известно, вещественное число имеет целую часть и дробную часть. Например, число 3,14 можно произнести словами как “три целых, четырнадцать сотых”.

Соответственно, целая часть числа 3,14 - это число 3.

И, как вы теперь уже знаете, получить целую часть числа в Паскале можно с помощью функции Int:

x := Int(3.14);

Дробная часть числа

Если рассмотреть всё то же число 3,14, то его дробной частью будет число 0,14. То есть вещественное число состоит из двух частей, сумма которых и является вещественным числом:

3,14 = 3 + 0,14

Получить дробную часть числа в Паскале можно с помощью функции Frac:

y := Frac(3.14);

Пример программы, которая использует функции Int и Frac, приведён ниже:

program funcintfrac;

{$mode objfpc}{$H+}

var x, y  : real;

begin
  x := Int(3.14);     //x = 3.00
  WriteLn(x:0:2);
  y := Frac(3.14);    //y = 0.14
  WriteLn(y:0:2);
  ReadLn;
end.    

ВНИМАНИЕ!
Функции Int и Frac возвращают значение вещественного типа! Если же вы хотите далее в своей программе работать с целой частью числа как с целочисленным значением, то вам придётся преобразовать вещественный тип в целый. Сделать это можно, например, с помощью уже известной нам функции Round:

var x, y  : real;
    z     : integer;
begin
  x := Int(3.14);     //x = 3.00
  z := Round(x);      //z = 3   
  WriteLn(z);
  ReadLn;  
end.


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика