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

17.06.2018
Новая статья Преобразование десятичного числа в шестнадцатеричное.

12.06.2018
Новые видео и статья Что такое HTML.

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

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

26.05.2018
Новые видео и статья Как изменить дизайн сайта на Wordpress.



Функция Abs в Паскале

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

Функция Abs в Паскале возвращает абсолютное значение переменной. Результат, возвращаемый функцией Abs, имеет тот же тип данных, что и аргумент - параметр, передаваемый в функцию. Этот параметр может иметь любой числовой тип данных.

Синтаксис функции Abs для целых чисел:

function Abs(L : LongInt) : LongInt;

или

function Abs(I : Int64) : Int64;

Последний вариант возможен только для FreePascal и Lazarus, так как в классическом Паскале нет типа данных Int64.

Синтаксис функции Abs для вещественных чисел:

function Abs(D : ValReal) : ValReal;

ValReal - это вещественный тип данных с наибольшим доступным значением в данной операционной системе. Фактически это псевдоним (алиас) одного из типов Extended или Double.

А теперь пример использования:

program absfunc;

var x : integer = -100;
    y : integer;

begin

  y := Abs(x);                 //у = 100

  WriteLn('Abs(-100) = ', y);  //Выведет 100
  
  ReadLn;
end.

Здесь мы сначала объявляем переменную с начальным значением равным -100 (отрицательное число).

А в программе используем функцию Abs и в результате переменная у будет равна 100 (положительное число).

Что вычисляет функция Abs

Вообще Abs - это сокращение от Absolute. Как нетрудно догадаться, переводится это слово как “абсолютный, чистый, несомненный”.

Вы должны помнить из школьного курса математики, что абсолютное число, то есть абсолютная величина или модуль числа х - это неотрицательное число, определение которого зависит от типа числа х.

В математике модуль числа х обозначается так: |x|.

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

Таким образом, можно сказать, что функция Abs(х) вычисляет модуль числа х. То есть Abs(х) в Паскале - это то же самое, что |x| в математике.

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

function MyAbs(iNum : integer) : integer;
begin
  if iNum < 0 then MyAbs := -1 * iNum
  else MyAbs := iNum;
end;

Здесь мы передаём в функцию целое число, которое может быть как отрицательным, так и положительным. В функции мы проверяем значение этого числа. Если число отрицательное, то мы умножаем его на -1, и таким образом получаем положительное число. Если число положительное, то мы ничего не делаем - просто возвращаем полученное через параметр iNum число.

Как видите, алгоритм довольно простой.

Правда, наша функция может работать только с целыми числами. Но это уже мелочи...


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

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

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