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

Int и Frac

Основы программирования 2.0 Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

Функция 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

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

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