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